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 Server 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 и CD в базы данных, таблицы и т. Д. Функциональность очень похожа на ту, что вы видели в SQL Server Management Studio. Один из распространенных вопросов, который возникает у людей, - это где вы можете просматривать данные в таблице SQL Server, а ответ - нет. Поставщик SQL Server используется для управления объектами SMO. Командлет invoke-sqlcmd можно использовать для выполнения запросов, аналогично тому, как вы делали это в старой версии командной строки sqlcmd. Поставщик SQL включен в мини-оболочку sqlps, а также в модуль sqlps.