Программа sqlps

Программа sqlps запускает сеанс Windows PowerShell 2.0 с помощью поставщика SQL Server PowerShell, а также загруженных и зарегистрированных командлетов. Можно вводить команды или скрипты PowerShell, в которых используются компоненты SQL Server PowerShell для работы с экземплярами SQL Server и их объектами.

Важное примечаниеВажно!

В будущей версии Microsoft SQL Server этот компонент будет удален. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого используйте модуль sqlps PowerShell. Дополнительные сведения о модуле sqlps см. в разделе Импорт модуля SQLPS.

Синтаксис

sqlps 
[ [ [ -NoLogo ][ -NoExit ][ -NoProfile ]
    [ -OutPutFormat { Text | XML } ] [ -InPutFormat { Text | XML } ]
  ]
  [ -Command { -
             | script_block [ -args argument_array ]
             | string [ command_parameters ]
             }
  ]
]
[ -? | -Help ]

Аргументы

  • -NoLogo
    Указывает, что программа sqlps не должна отображать баннер со сведениями об авторских правах при запуске.

  • -NoExit
    Указывает, что программа sqlps должна продолжать выполняться после выполнения команд запуска.

  • -NoProfile
    Указывает программе sqlps не загружать профиль пользователя. В профилях пользователей записываются часто используемые псевдонимы, функции и переменные для использования в различных сеансах PowerShell.

  • -OutPutFormat { Text | XML }
    Указывает, что выход программы sqlps будет отформатирован в виде текстовых строк (Text) либо в сериализованном формате CLIXML (XML).

  • -InPutFormat { Text | XML }
    Указывает, что вход программы sqlps отформатирован в виде текстовых строк (Text) либо в сериализованном формате CLIXML (XML).

  • -Command
    Указывает команду для запуска программой sqlps. Программа sqlps запускает команду, а затем завершает работу, если только не указан параметр -NoExit. После параметра -Command не следует указывать какие-либо параметры для программы sqlps, поскольку они будут интерпретироваться как параметры команды.

  • -
    -Command указывает, что программа sqlps считывает входные данные со стандартного входа.

  • script_block [ -argsargument_array ]
    Указывает блок команд PowerShell для запуска, который должен быть заключен в фигурные скобки: {}. Параметр Script_block можно указывать только в случае вызова программы sqlps из PowerShell или другого сеанса программы sqlps. Параметр argument_array представляет собой массив переменных PowerShell, содержащий аргументы для команд PowerShell из параметра script_block.

  • string [ command_parameters ]
    Указывает строку, содержащую команды PowerShell для запуска. Используйте формат "&{command}". Кавычки определяют строку, а оператор вызова (&) указывает программе sqlps запустить команду.

  • [ -? | -Справка ]
    Показывает синтаксис параметров программы sqlps.

Замечания

Программа sqlps запускает среду PowerShell (PowerShell.exe) и загружает модуль SQL Server PowerShell. Модуль, также именуемый sqlps, загружает и регистрирует следующие оснастки SQL Server PowerShell:

  • Microsoft.SqlServer.Management.PSProvider.dll

    Реализует поставщик SQL Server PowerShell и связанные с ним командлеты, такие как Encode-SqlName и Decode-SqlName.

  • Microsoft.SqlServer.Management.PSSnapin.dll

    Реализует командлеты Invoke-Sqlcmd и Invoke-PolicyEvaluation.

С помощью программы sqlps можно делать следующее.

  • Вводить команды PowerShell в интерактивном режиме.

  • Запускать файлы скриптов PowerShell.

  • Запускать командлеты служб SQL Server.

  • Использовать пути поставщика служб SQL Server для передвижения по иерархии объектов среды служб SQL Server.

По умолчанию программа sqlps запускается с политикой выполнения сценариев Restricted. Это предотвращает запуск любых скриптов PowerShell. Командлет Set-ExecutionPolicy обеспечивает возможность запуска как подписанных, так и любых других скриптов. Запускать следует только скрипты из надежных источников, а также рекомендуется защитить все входные и выходные файлы соответствующими разрешениями NTFS. Дополнительные сведения о включении скриптов PowerShell см. в разделе Запуск скриптов Windows PowerShell.

Версия программы sqlps в SQL Server 2008 и SQL Server 2008 R2 была реализована как мини-оболочка Windows PowerShell 1.0. Мини-оболочки имеют определенные ограничения, такие как запрет на загрузку пользователями других оснасток, помимо загруженных мини-оболочкой. Эти ограничения не применяются к версии программы SQL Server 2012, которая была изменена для использования модуля sqlps.

Примеры

А. Запуск программы sqlps в режиме по умолчанию (интерактивном) без баннера со сведениями об авторских правах

sqlps -NoLogo

Б. Запуск скрипта SQL Server PowerShell из командной строки

sqlps -Command "&{.\MyFolder.MyScript.ps1}"

В. Запуск скрипта SQL Server PowerShell из командной строки с продолжением выполнения после завершения скрипта

sqlps -NoExit -Command "&{.\MyFolder.MyScript.ps1}"

См. также

Основные понятия

Включение или отключение сетевого протокола сервера

SQL Server PowerShell