Разница между оснасткой/инструментами PowerShell/SQL Server?

Я немного запутался с оснасткой PowerShell и другими «инструментами», которые взаимодействуют с SQL Server. Итак, в чем разница между этими инструментами:

  • СМО
  • Модуль SQLPS
  • SQLPSX
  • Поставщик SQL Server PowerShell

person jrara    schedule 29.02.2012    source источник


Ответы (1)


SMO или объекты управления SQL Server — это набор классов .NET, используемых разработчиками для создания приложений, управляющих SQL Server. Представленные в SQL Server 2005 классы SMO обновлялись в каждом выпуске SQL Server, чтобы охватить новые функции управления. SMO — это базовый API, используемый для создания SQL Server Management Studio, а также остальных инструментов в вашем списке.

Модуль SQLPS — это модуль Powershell, представленный в SQL Server 2012. До выпуска 2012 года поддержка Powershell в SQL Server обеспечивалась мини-оболочкой, т. е. sqlps.exe, представленной в SQL 2008 с некоторыми незначительными улучшениями в SQL. Сервер 2008 R2. Полное обсуждение мини-оболочки SQL можно найти здесь http://sev17.com/2010/05/the-truth-about-sqlps-and-powershell-v2/. Minishell sqlps.exe все еще существует в SQL Server 2012, как и модуль sqlps. Обсуждение реализации SQL 2012 Powershell можно найти здесь: http://sev17.com/2011/07/denali-sqlps-first-impressions/ Примечание. Также можно создать небольшую оболочку вокруг командлетов и провайдера sqlps, чтобы создать собственный модуль для выпусков до SQL 2012 (2008 и 2008 R2) . Я создал обертку здесь

SQLPSX — это проект CodePlex, над которым я начал работать в сентябре 2007 года, до того, как SQL Server получил поддержку Powershell. Первый выпуск был опубликован в июле 2008 года. Проект SQLPSX в основном состоит из модулей на основе скриптов, что означает, что вы можете прочитать исходный код скрипта. Проект SQLPSX по-прежнему охватывает многие задачи, не охваченные реализацией модуля SQLPS. Мы старались не дублировать функции между модулями sqlps и sqlpsx, хотя в выпуске 2012 года функции SSIS и резервного копирования/восстановления частично совпадают. Подробное описание проекта SQLPSX можно найти здесь http://sqlpsx.codeplex.com/.

Поставщик SQL Server Powershell. Сначала определим поставщика. Провайдер позволяет пользователю взаимодействовать с данными, такими как файловая система, где вы cd, dir, копируете, удаляете и т. д. Примечание. Провайдеры не реализуют все функции, например, провайдер SQL, за некоторыми исключениями, не распространяется на копирование, новые, удалять.

Powershell поставляется с несколькими поставщиками, включая поставщика файловой системы и поставщика реестра. Вы можете увидеть поставщиков, установленных в вашей системе, запустив get-psprovider. SQL Server 2008 и выше (хотя поставщик обратно совместим) включает поставщика SQL Server. Поставщик реализует «диск» SQL Server, с помощью которого вы можете перемещаться по экземпляру SQL Server и переходить к базам данных, таблицам и т. д. Функциональность очень похожа на то, что вы видите в SQL Server Management Studio. Один из распространенных вопросов, который возникает у людей, — где вы можете просмотреть данные в таблице SQL Server, и ответ — нет. Поставщик SQL Server используется для управления объектами SMO. Вы можете использовать командлет invoke-sqlcmd для выполнения запросов так же, как вы могли делать это в старой версии командной строки sqlcmd. Поставщик SQL включен в мини-оболочку sqlps, а также в модуль sqlps.

person Chad Miller    schedule 04.03.2012