Published on

September 12, 2007

Выполнение скриптов в SQL Server

Вы когда-нибудь задумывались, как запланировать выполнение скрипта в SQL Server? Это на самом деле довольно просто сделать и может быть полезным инструментом для автоматизации повторяющихся задач. В этой статье мы рассмотрим два метода планирования скриптов в SQL Server: использование xp_cmdshell и преобразование скрипта.

Использование xp_cmdshell

Команда xp_cmdshell позволяет создать командную строку в SQL Server и выполнять команды, как если бы они были введены в обычном окне командной строки. Синтаксис использования xp_cmdshell следующий:

Exec master..xp_cmdshell '<команда>'

Например, если вы хотите выполнить скрипт “c:\listtables.sql”, вы можете использовать следующую команду:

exec master..xp_cmdshell 'isql -Sdev_sjones -E -i"listtables.sql" –diqd'

Это выведет результат скрипта в консоль SQL Server.

Преобразование скрипта

Другой метод планирования скриптов – преобразование их в хранимые процедуры. Это можно сделать, добавив следующий код в скрипт:

Create procedure <имя_объекта>
as
<вставьте скрипт здесь>

Например, если у вас есть скрипт для добавления нового пользователя на сервер, вы можете преобразовать его в хранимую процедуру следующим образом:

Create procedure dbsp_adduser
as
   exec sp_addlogin 'steve', 'longpassword', 'dev'
   exec sp_adduser 'steve', 'steve', 'public'
return

Преобразовав скрипт в хранимую процедуру, вы можете выполнить его с помощью другой процедуры, SQL Agent или любого инструмента на ваш выбор. Вы даже можете передавать параметры в хранимую процедуру, чтобы сделать ее более гибкой.

Заключение

Планирование скриптов в SQL Server может значительно упростить ваши административные задачи и сделать вашу работу более эффективной. Независимо от того, выберете ли вы использование xp_cmdshell или преобразование скрипта в хранимую процедуру, эти техники могут помочь вам автоматизировать повторяющиеся процессы и сэкономить время. Создавая повторяемые процессы, вы можете снизить количество ошибок и иметь больше времени для активного администрирования баз данных.

Надеюсь, эти техники окажутся полезными в вашей повседневной работе. Если у вас есть вопросы или комментарии, пожалуйста, не стесняйтесь делиться ими, используя кнопку “Ваше мнение” ниже. Удачного скриптования!

Стив Джонс

Click to rate this post!
[Total: 0 Average: 0]

Let's work together

Send us a message or book free introductory meeting with us using button below.