выполнение скрипта sql ms sql
Запуск задания
В Управляемом экземпляре Azure SQL в настоящее время поддерживается большинство функций агента SQL Server (но не все). Подробные сведения см. в статье Различия в T-SQL между Управляемым экземпляром SQL Azure и SQL Server.
В этой статье описывается, как запускать задания агента Microsoft SQL Server в SQL Server с помощью среды SQL Server Management Studio, Transact-SQL или управляющих объектов SQL Server.
Перед началом работы
Для запуска задания используется:
Перед началом
безопасность
Использование среды SQL Server Management Studio
Запуск задания
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engineи разверните его.
При работе с одиночным сервером, работе на целевом сервере или запуске задания локального сервера на главном сервере щелкните правой кнопкой мыши задание, которое нужно запустить, и выберите пункт Запустить задание.
Если нужно запустить несколько заданий, щелкните правой кнопкой мыши компонент Монитор активности заданий, а затем выберите пункт Просмотр активности заданий. В разделе «Монитор активности заданий» можно выбрать несколько заданий, щелкнуть их правой кнопкой мыши и выбрать пункт Запустить задания.
При работе на главном сервере, чтобы все целевые серверы запускали данное задание одновременно, щелкните правой кнопкой мыши нужное задание, выберите пункт Запустить задание, а затем пункт Запустить на всех целевых серверах.
При работе на главном сервере, чтобы указать целевые серверы для данного задания, щелкните правой кнопкой мыши нужное задание, выберите пункт Запустить задание, а затем пункт Запустить на указанных целевых серверах. В диалоговом окне Инструкции после загрузки установите флажок Эти целевые серверы и отметьте все серверы, на которых должно запускаться данное задание.
Использование Transact-SQL
Запуск задания
В обозревателе объектов подключитесь к экземпляру компонента Компонент Database Engine.
На стандартной панели выберите пункт Создать запрос.
Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить.
Дополнительные сведения см. в разделе sp_start_job (Transact-SQL).
Использование управляющих объектов SQL Server
Запуск задания
Вызовите метод Start класса Job на любом языке программирования, таком как Visual Basic, Visual C# или PowerShell. Дополнительные сведения см. в статье Управляющие объекты SQL Server (SMO).
Создание скриптов для объектов в среде SQL Server Management Studio
В этом учебнике вы научитесь создавать скрипты Transact-SQL (T-SQL) для различных объектов, доступных в SQL Server Management Studio (SSMS). В нем приводятся примеры создания скриптов для следующих объектов:
Чтобы создать скрипт любого объекта в обозревателе объектов, щелкните его правой кнопкой мыши и выберите команду Создать скрипт объекта как. В этом учебнике будет показан процесс.
предварительные требования
Для работы с этим учебником требуется среда SQL Server Management Studio, доступ к серверу SQL Server и база данных AdventureWorks.
Инструкции по восстановлению баз данных в SSMS см. в статье Восстановление базы данных.
Создание скриптов для запросов в графическом пользовательском интерфейсе
Вы можете создать связанный код T-SQL для задачи в графическом пользовательском интерфейсе SSMS, чтобы выполнить его. Ниже приведены примеры выполнения этого действия при резервном копировании базы данных и сжатии журнала транзакций. Аналогичные инструкции применимы к любому действию, выполняемому в графическом пользовательском интерфейсе.
Создание скрипта T-SQL при резервном копировании базы данных
Подключитесь к серверу SQL Server.
Щелкните правой кнопкой мыши базу данных Adventureworks2016 и последовательно выберите пункты > Задачи > Резервное копирование:
Настройте резервное копирование требуемым образом. В этом учебнике оставлены все параметры по умолчанию. Все изменения, внесенные в этом окне, также отражаются в скрипте.
Выберите пункты Создать скрипт > Добавить скрипт в новое окно запроса:
Просмотрите код T-SQL в окне запроса.
Выберите команду Выполнить, чтобы выполнить запрос на резервное копирование базы данных с помощью T-SQL.
Создание скрипта T-SQL при сжатии журнала транзакций
Щелкните правой кнопкой мыши базу данных Adventureworks2016 и последовательно выберите пункты > Задачи > Сжать > Файлы:
Выберите Журнал в раскрывающемся списке Тип файла:
Выберите пункты Скрипт и Добавить скрипт в буфер обмена:
Откройте окно Новый запрос и вставьте скрипт. (Щелкните правой кнопкой мыши в окне. Выберите команду Вставить.)
Выберите команду Выполнить, чтобы выполнить запрос и сжать журнал транзакций.
Создание скриптов для баз данных
В следующем разделе показано, как создать скрипт для базы данных с помощью команды Создать скрипт как или Создать скрипты. Команда Создать скрипт как повторно создает базу данных и ее параметры конфигурации. Команда Создать скрипты позволит создать скрипт для схемы и данных. В этом разделе вы сможете создать две новых базы данных. Для создания AdventureWorks2016a используется команда Создать скрипт как. Для создания AdventureWorks2016b используется команда Создать скрипты.
Создание скрипта базы данных с помощью команды «Создать скрипт»
Подключитесь к серверу SQL Server.
Щелкните правой кнопкой мыши базу данных AdventureWorks2016 и последовательно выберите пункты > Создать скрипт базы данных как > Создать в > Новое окно редактора запросов:
Просмотрите запрос на создание базы данных в окне:
. Этот параметр создает скрипт только параметров конфигурации базы данных.
Нажмите клавиши CTRL+F, чтобы открыть диалоговое окно Найти. Щелкните стрелку вниз, чтобы открыть пункт Заменить. Вверху, в строке Найти, введите AdventureWorks2016, а внизу, в строке Заменить, введите AdventureWorks2016a.
Выберите Заменить все, чтобы заменить все значения AdventureWorks2016 на AdventureWorks2016a.
Выберите команду Выполнить, чтобы выполнить запрос и создать базу данных AdventureWorks2016a.
Создание скрипта базы данных с помощью команды «Создать скрипты»
Подключитесь к серверу SQL Server.
Щелкните правой кнопкой мыши AdventureWorks2016 и последовательно выберите пункты > Задачи > Создать скрипты:
Откроется страница Введение. Нажмите кнопку Далее, чтобы открыть страницу Выбор объектов. Вы можете выбрать всю базу данных или отдельные объекты в базе данных. Выберите Внести в скрипт всю базу данных целиком вместе со всеми объектами.
Нажмите кнопку Далее, чтобы открыть страницу Задание параметров скриптов. Здесь вы можете настроить расположение для сохранения скрипта и другие дополнительные параметры.
а. Выберите команду Сохранить в новом окне запроса.
b. Выберите пункт Дополнительно и убедитесь, что заданы следующие значения параметров:
Вы можете создать скрипт данных для базы данных при выборе варианта Схема и данные для параметра Типы данных для создания скриптов. Однако это не подходит для крупных баз данных. Может потребоваться больше памяти, чем SSMS может выделить. Это ограничение не влияет на небольшие базы данных. Если вы хотите переместить данные в более крупную базу данных, используйте мастер импорта и экспорта.
Нажмите кнопку ОК, а затем кнопку Далее.
Нажмите кнопку Далее на странице Сводка. После нажмите кнопку Далее еще раз, чтобы создать скрипт в окне Новый запрос.
Откройте диалоговое окно Найти (CTRL+F). Щелкните стрелку вниз, чтобы открыть пункт Заменить. Вверху, в строке Найти, введите AdventureWorks2016. Внизу, в строке Заменить, введите AdventureWorks2016b.
Выберите Заменить все, чтобы заменить все значения AdventureWorks2016 на AdventureWorks2016b.
Выберите команду Выполнить, чтобы выполнить запрос и создать базу данных AdventureWorks2016b.
Создание скриптов для таблиц
В этом разделе описывается, как создать скрипты для таблиц базы данных. С помощью этого параметра вы можете создать таблицу или удалить ее, а затем создать. Он также позволяет создать скрипт T-SQL, связанный с изменением таблицы: вставкой или обновлением. В этом разделе вы сможете удалить таблицу, а затем создать ее.
Подключитесь к серверу SQL Server.
Разверните узел Базы данных.
Разверните узел базы данных AdventureWorks2016.
Разверните узел Таблицы.
Щелкните правой кнопкой мыши dbo.ErrorLog и последовательно выберите пункты > Создать скрипт таблицы как > Удалить и создать в > Новое окно редактора запросов:
Выберите команду Выполнить, чтобы выполнить запрос. Это действие удаляет таблицу Errorlog и повторно создает ее.
Таблица Errorlog в базе данных AdventureWorks2016 по умолчанию пуста. Вы не потеряете данные, если удалите ее. Однако если в таблице есть данные, при выполнении этих действий они будут потеряны.
Создание скриптов для хранимых процедур
В этом разделе вы узнаете, как удалить и создать хранимую процедуру.
Подключитесь к серверу SQL Server.
Разверните узел Базы данных.
Разверните узел Программируемость.
Разверните узел Хранимые процедуры.
Щелкните правой кнопкой мыши хранимую процедуру dbo.uspGetBillOfMaterials и последовательно выберите пункты > Создать скрипт хранимой процедуры как > Удалить и создать в > Новое окно редактора запросов:
Создание скриптов для расширенных событий
В этом разделе описывается, как создать скрипты для расширенных событий.
Подключитесь к серверу SQL Server.
Разверните узел Управление.
Разверните узел Расширенные события.
Разверните узел Сеансы.
Щелкните правой кнопкой мыши нужный расширенный сеанс и выберите пункты Создать скрипт для сеанса > СОЗДАТЬ в > Новое окно редактора запросов:
В новом окне редактора запросов измените имя сеанса с system_health на system_health2. Выберите команду Выполнить, чтобы выполнить запрос.
Щелкните правой кнопкой мыши Сеансы в обозревателе объектов. Выберите команду Обновить, чтобы увидеть новый сеанс расширенного события. Зеленый значок рядом с сеансом означает, что сеанс выполняется. Красный значок указывает, что сеанс остановлен.
Вы можете запустить сеанс, щелкнув его правой кнопкой мыши и выбрав команду Запустить. Так как это копия уже запущенного сеанса system_health, этот шаг можно пропустить. Вы можете удалить копию расширенного сеанса события, щелкнув его правой кнопкой мыши и выбрав команду Удалить.
Дальнейшие действия
Лучший способ познакомиться с SSMS — это поработать в среде самостоятельно. Эти руководства и статьи помогут вам ознакомиться с различными функциями SSMS. С их помощью вы научитесь работать с компонентами SSMS и легко находить регулярно используемые функции.
Формирование скриптов (среда SQL Server Management Studio)
SQL Server Management Studio предоставляет два механизма создания скриптов Transact-SQL. Создать скрипты для нескольких объектов можно с помощью мастера формирования и публикации скриптов. Можно также создать скрипты для отдельных или нескольких объектов с помощью меню Сформировать скрипт как в обозревателе объектов.
Подробное руководство по созданию скриптов для различных объектов с использованием SQL Server Management Studio (SSMS) см. в руководстве по Создание скриптов для объектов в среде SQL Server Management Studio.
Перед началом
Выберите механизм, который лучше всего соответствует имеющимся требованиям.
Мастер формирования и публикации скриптов
С помощью мастера формирования и публикации скриптов можно создать скрипт Transact-SQL для нескольких объектов. Этот мастер создает скрипт для всех объектов базы данных или скрипт для подмножества выделенных объектов. Мастер позволяет настраивать различные параметры скрипта, такие как включение разрешений, параметры сортировки, ограничения и т. д. Инструкции по использованию мастера см. в разделе Мастер формирования и публикации скриптов.
Меню «Сформировать скрипт как» в обозревателе объектов
Меню Сформировать скрипт как в обозревателе объектов служит для создания скрипта для одного объекта, нескольких объектов или нескольких инструкций одного объекта. Можно выбрать один из нескольких типов скрипта, например для создания, изменения или удаления объекта. Сохранить скрипт можно в окне редактора запросов — в файл или в буфер обмена. Скрипт создается в формате Юникода.
Создание скрипта для одного объекта
Создание скрипта для одного объекта
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.
Разверните узел Базы данных, а затем разверните базу данных, содержащую объекты, для которых необходимо создать скрипт.
Укажите тип скрипта, например Создать или Изменить.
Выберите расположение для сохранения скрипта, например Новое окно редактора запросов или Буфер обмена.
Для создания скрипта для нескольких объектов одной категории можно использовать панель Подробности обозревателя объектов.
В обозревателе объектов подключитесь к экземпляру компонента Компонент SQL Server Database Engine и разверните его.
Разверните узел Базы данных, а затем разверните базу данных, содержащую объекты, для которых необходимо создать скрипт.
Щелкните левой кнопкой один из объектов, который нужно включить в скрипт.
Удерживая клавишу CTRL, щелкните левой кнопкой второй объект, который необходимо включить в скрипт.
Использование программы sqlcmd
Пользователь вводит инструкции на языке Transact-SQL точно так же, как при работе в командной строке. Результаты выводятся в окно командной строки. Чтобы открыть окно командной строки, введите «cmd» в поле поиска Windows и выберите пункт Командная строка. В окне командной строки введите sqlcmd и необходимые параметры. Полный перечень параметров, поддерживаемых программой sqlcmd, см. в разделе Программа sqlcmd.
Режим SQLCMD в редакторе запросов среды SQL Server Management Studio.
Управляющие объекты SQL Server (SMO)
Задания CmdExec агента SQL Server.
Часто используемые параметры sqlcmd
Серверный параметр ( -S) определяет экземпляр Microsoft SQL Server, к которому подключается программа sqlcmd.
Параметры проверки подлинности ( -E, -U и -P), с помощью которых задаются учетные данные, используемые программой sqlcmd для подключения к экземпляру SQL Server. ПРИМЕЧАНИЕ. Параметр -E используется по умолчанию, и нет необходимости его указывать.
Параметры входа ( -Q, -q и -i) определяют расположение входных данных для программы sqlcmd.
Параметр выходных данных ( -o) определяет файл, в который программа sqlcmd помещает выходные данные.
Подключение к программе sqlcmd
Соединение с экземпляром по умолчанию с использованием проверки подлинности Windows для запуска инструкций Transact-SQL в интерактивном режиме:
ПРИМЕЧАНИЕ. В предыдущем примере параметр -E не указывается, так как он используется по умолчанию, и программа sqlcmd подключается к экземпляру по умолчанию, используя проверку подлинности Windows.
Соединение с именованным экземпляром с использованием проверки подлинности Windows для запуска инструкций Transact-SQL в интерактивном режиме:
или диспетчер конфигурации служб
Соединение с именованным экземпляром с использованием проверки подлинности Windows и указанием входного и выходного файла:
Соединение с экземпляром по умолчанию на локальном компьютере с использованием проверки подлинности Windows, выполнение запроса и продолжение выполнения программы sqlcmd после завершения запроса:
Соединение с экземпляром по умолчанию на локальном компьютере с использованием проверки подлинности Windows, выполнение запроса, запись в файл выходных данных и выход из программы sqlcmd после завершения запроса:
Соединение с именованным экземпляром с использованием проверки подлинности SQL Server для выполнения инструкций языка Transact-SQL в интерактивном режиме, при этом программа sqlcmd ожидает ввода пароля:
Интерактивный запуск инструкций Transact-SQL с помощью программы sqlcmd
Строки в кавычках
Символы, заключенные в кавычки, используются без какой-либо дополнительной предварительной обработки, за исключением кавычек, которые вставляются в строку путем ввода двух последовательных кавычек. SQL Server рассматривает такую последовательность символов как одни кавычки. однако на сервере выполняется преобразование. Переменные скрипта при появлении в строке не раскрываются.
Многострочные символьные строки
Программа sqlcmd поддерживает скрипты, в которых одна строка занимает несколько строк. Например, следующая инструкция SELECT занимает несколько строк, но является одной символьной строкой, которая выполняется после ввода команды GO и нажатия клавиши ВВОД.
Пример интерактивной команды sqlcmd
При открытии окна командной строки там отображается только одна строка:
Changed database context to ‘AdventureWorks2012’.
SELECT TOP (3) BusinessEntityID, FirstName, LastName
BusinessEntityID FirstName LastName
Выполнение файлов скрипта Transact-SQL с использованием программы sqlcmd
Существуют различные способы создания файлов скрипта базы данных:
можно в интерактивном режиме создать и отладить набор инструкций Transact-SQL в среде SQL Server Management Studio и сохранить содержимое окна запроса в файл скрипта;
Примеры
A. Запуск скрипта с помощью программы sqlcmd
Откройте «Блокнот» и введите следующие инструкции Transact-SQL :
SELECT TOP (3) BusinessEntityID, FirstName, LastName
Changed database context to ‘AdventureWorks2012’.
BusinessEntityID FirstName LastName
Б. Использование программы sqlcmd с выделенным административным соединением
В следующем примере программа sqlcmd используется для подключения к серверу, на котором возникла проблема с блокировкой, с помощью выделенного административного соединения.
1> SELECT session_id, blocking_session_id FROM sys.dm_exec_requests WHERE blocking_session_id <> 0;
С помощью sqlcmd завершите блокирующий процесс.
В. Использование программы sqlcmd для выполнения хранимых процедур
IF OBJECT_ID ( ‘ dbo.ContactEmailAddress, ‘P’ ) IS NOT NULL
DROP PROCEDURE dbo.ContactEmailAddress;
CREATE PROCEDURE dbo.ContactEmailAddress
WHERE FirstName = @FirstName
AND LastName = @LastName;
После приглашения sqlcmd введите следующее:
1> :Setvar FirstName Gustavo
1> :Setvar LastName Achong
Г. Использование программы sqlcmd для обслуживания базы данных
В следующем примере кода показано, как использовать программу sqlcmd для задач обслуживания базы данных. Создайте C:\BackupTemplate.sql со следующим кодом.
BACKUP DATABASE [$(db)] TO DISK=’$(bakfile)’;
После приглашения sqlcmd введите следующее:
1> :setvar bakfile c:\msdb.bak
1> :r c:\BackupTemplate.sql
Changed database context to ‘master’.
Processed 688 pages for database ‘msdb’, file ‘MSDBData’ on file 2.
Processed 5 pages for database ‘msdb’, file ‘MSDBLog’ on file 2.
BACKUP DATABASE successfully processed 693 pages in 0.725 seconds (7.830 MB/sec)
Д. Использование программы sqlcmd для выполнения кода на нескольких экземплярах
Следующий код представляет собой скрипт для соединения двух экземпляров. Обратите внимание на команду GO перед подключением ко второму экземпляру.
Д. Возврат выходных XML-данных
Следующий пример показывает, как выходные данные XML возвращаются неформатированными, в виде непрерывного потока.
1> SELECT TOP 3 FirstName + ‘ ‘ + LastName + ‘, ‘
2> FROM Person.Person
Syed Abbas, Catherine Abel, Kim Abercrombie,
Е. Использование программы sqlcmd в файлах скриптов Windows
Сначала создайте следующие четыре файла.
Затем из командной строки запустите C:\windowsscript.bat :
SQLCMD returned 100 to the command shell
Ж. Использование программы sqlcmd для включения шифрования в Базе данных SQL Azure
Программа sqlcmd может работать на соединении с данными База данных SQL для определения шифрования и отношения доверия сертификата. Доступны два параметра sqlcmd:
Следующие параметры SET не вызывают исключений, но использовать их нельзя. Они являются устаревшими.
Синтаксис
Подключение с использованием учетных данных Windows и шифрование соединения:
Подключение с использованием учетных данных Windows и доверие сертификату сервера:
Подключение с использованием учетных данных Windows, шифрование соединения и доверие сертификату сервера:
Подключение с использованием учетных данных Windows, шифрование соединения и доверие сертификату сервера:
Подключение с использованием учетных данных Windows, шифрование соединения и доверие сертификату сервера:
Подключение с использованием учетных данных Windows, шифрование соединения и доверие сертификату сервера:
Подключение с использованием учетных данных Windows, шифрование соединения и доверие сертификату сервера: