Посилання з Імпортування модуля SQLPS на MSDN,
Рекомендований спосіб управління SQL Server із PowerShell - це імпорт модуля sqlps у середовище Windows PowerShell 2.0.
Так, так, ви можете скористатися Add-PSSnapin
підходом, детально описаним Крістіаном, але корисно також оцінити рекомендований підхід модулів sqlps.
Найпростіший випадок передбачає наявність у вас SQL Server 2012: sqlps включений до інсталяції, тому ви просто завантажуєте модуль як будь-який інший (як правило, у вашому профілі ) через Import-Module sqlps
. Ви можете перевірити, чи доступний модуль у вашій системі за допомогою Get-Module -ListAvailable
.
Якщо у вас немає SQL Server 2012, то все, що вам потрібно зробити, це завантажити модуль sqlps у каталог модулів, щоб Get-Module / Import-Module знайшов його. Цікаво, що Microsoft не робить цей модуль доступним для завантаження! Однак Чад Міллер люб’язно упакував необхідні шматки та забезпечив завантаження цього модуля . Розпакуйте його в каталозі ... Documents \ WindowsPowerShell \ Modules і продовжуйте імпорт.
Цікаво відзначити, що модульний підхід та підхід Snapin не ідентичні. Якщо ви завантажите оснастки, а потім запустите Get-PSSnapin
( без параметра -Registered, щоб показати лише те, що ви завантажили), ви побачите модулі SQL. Якщо, з іншого боку, ви завантажуєте модуль sqlps Get-PSSnapin
, не відображатимуться завантажені оснастки, тому різні записи в блозі, які перевіряють Invoke-Sqlcmd
командлет, лише перевіряючи оснастки, можуть давати помилково негативний результат.
2012.10.06 Оновлення
Щоб отримати повну історію про модуль sqlps проти міні-оболонки sqlps проти оснасток SQL Server, погляньте на мою міні-серію з двох частин Практична PowerShell для розробників SQL Server та DBA, нещодавно опубліковану на Simple-Talk.com де я, згідно з коментарем одного читача, успішно "розплутав" проблему. :-)