Поделиться через


Работа со сценариями (компонент Database Engine)

SQL Server Database Engine поддерживает среду сценариев Microsoft PowerShell для управления экземплярами компонента Database Engine и объектами в экземплярах. Можно также строить и запускать запросы компонента Database Engine, содержащие Transact-SQL и XQuery, в средах, подобных средам сценариев.

SQL Server PowerShell

В состав SQL Server входят две оснастки SQL Server PowerShell, которые реализуют следующее.

  • Поставщик SQL Server PowerShell, отображающий иерархии моделей управляющих объектов SQL Server в виде путей PowerShell, подобных путям файловой системы. С помощью классов модели управляющих объектов SQL Server можно управлять объектами, представленными на каждом узле пути.

  • Набор командлетов SQL Server, реализующих команды SQL Server. Одним из командлетов является Invoke-Sqlcmd. Он используется для запуска сценариев запросов компонента Database Engine, которые запускаются программой sqlcmd.

SQL Server поддерживает две возможности запуска PowerShell.

  • Программа sqlps, которая запускает PowerShell и загружает оснастки SQL Server. Можно запускать нерегламентированные команды PowerShell в интерактивном режиме. Файлы скриптов можно запускать с помощью команды вида «.\MyFolder\MyScript.ps1». Программу sqlps можно запустить либо из командной строки, либо щелкнув правой кнопкой мыши узлы дерева обозревателя объектов среды SQL Server Management Studio и выбрав команду Запустить PowerShell.

  • Файлы скриптов PowerShell можно использовать в качестве ввода для шагов заданий PowerShell агента SQL Server, которые запускают скрипты через назначенные интервалы времени или в ответ на системные события.

Запросы к компоненту Database Engine

Сценарии запросов к компоненту Database Engine содержат три типа элементов.

  • Инструкции языка Transact-SQL.

  • Инструкции языка XQuery.

  • Команды и переменные из программы sqlcmd.

SQL Server поддерживает три среды для построения и запуска запросов компонента Database Engine.

  • Запросы компонента Database Engine можно запускать в интерактивном режиме и отлаживать в редакторе запросов компонента Database Engine в среде Среда SQL Server Management Studio. В одном сеансе можно закодировать и отладить несколько инструкций, а затем сохранить их все в одном файле скрипта.

  • Программа командной строки sqlcmd позволяет запускать запросы компонента Database Engine в интерактивном режиме, а также запускать существующие файлы скриптов с запросами компонента Database Engine.

Файлы скриптов запросов компонента Database Engine обычно кодируются в интерактивном режиме в среде Среда SQL Server Management Studio с помощью редактора запросов компонента Database Engine. В дальнейшем файл можно открыть в одной из следующих сред.

  • Чтобы открыть файл в новом окне редактора запросов компонента Database Engine, в среде Среда SQL Server Management Studio воспользуйтесь меню Файл/Открыть.

  • Чтобы запустить файл с помощью программы sqlcmd, укажите параметр -iinput_file.

  • Чтобы запустить файл с помощью командлета Invoke-Sqlcmd в сценариях SQL Server PowerShell, укажите параметр -QueryFromFile.

  • Для запуска сценариев через назначенные интервалы времени или в ответ на системные события используются шаги заданий Transact-SQL агента SQL Server.

Кроме того, для формирования скриптов Transact-SQL можно использовать мастер формирования скриптов SQL Server. Можно щелкнуть объекты правой кнопкой мыши в обозревателе объектов Среда SQL Server Management Studio, а затем выбрать пункт меню Создать скрипт. Команда Создать скрипт запускает мастер, который облегчает процесс создания скрипт. Дополнительные сведения см. в разделе Документирование и написание сценариев для баз данных.