Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 SQL-server и PowerShell  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
Hello world!
Для того чтобы администрировать SQL-server, через консоль PowerShell, нужно подключить модуль SQLPS.
Делаю следующее:
# Проверяю какие модули уже подключены 
get-module
# Вывожу список доступных
get-module -ListAvailable
# Подключаю модуль SQL
import-module sqlps

После выполнения последнего действия получаю предупреждение:
WARNING: Some imported command names include unapproved verbs which might make them less
discoverable. Use the Verbose parameter for more detail or type Get-Verb to see the list of approved verbs.


У меня возникли трудности с ее восприятием. Подскажите, что она означает?
Почитал поясняющую статью https://www.simple-talk.com/dotnet/net-tools/further-down-the-rabbit-hole-powershell-modules-and-encapsulation/
но особо не помогло. Аналогия с шалтай болтаем - вообще непонятно к чему.

К сообщению приложен файл. Размер - 109Kb
12 май 17, 10:28    [20474973]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
и второй вопрос, почему в списке модулей появились те которые я не подключал?
На скрине видно что подключено 3-и модуля

К сообщению приложен файл. Размер - 84Kb
12 май 17, 10:31    [20474996]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Yagrus2, вот тут: https://docs.microsoft.com/en-us/sql/relational-databases/scripting/import-the-sqlps-module

рекомендуют немного другую команду:

# Import the SQL Server Module.    
Import-Module Sqlps -DisableNameChecking;
12 май 17, 10:34    [20475021]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
человек_ниоткуда
Guest
1. Если кратко: Забей на это сообщение.
"might make them less discoverable" - грубо можно перевести как "их так труднее понять" - т.е. типо там такие нетандартные названия, что можно прямо не догнать что они значат.
В ps все команды какбе стандартизированы. В имени должен быть "-" в серединке, далее справа от "-" глагол "VERB", а слева сущетвительное "NOUN" должно быть (как не прискорбно). Причём глаголы тож стандартизированы - Get-Verb , список рассово-верных глаголов выдаст. Если в команде, что модуль экспортирует есть "не стандартный" глагол - то сообщение, что ты видел выдаётся.
Minamoto
# Import the SQL Server Module.    
Import-Module Sqlps -DisableNameChecking;
Вот тебе и советуют отключить это сообщение при выполнении команды import.

2. Написано жэ "Вывожу список доступных" - не тех что подключил, а тех что МОЖНО подключить.

# я так люблю писать
Import-Module sql*;
12 май 17, 18:18    [20477355]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
человек_ниоткуда,
Спасибо за подробное разъяснение по первому вопросу!
15 май 17, 12:49    [20481663]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
человек_ниоткуда
2. Написано жэ "Вывожу список доступных" - не тех что подключил, а тех что МОЖНО подключить.
# я так люблю писать
Import-Module sql*;

Так импортируются все модули, название которых начинается c символов sql.
Но я импортиную только 1- н модуль, поэтому ожидаю увидеть только 1-н подключенный модуть.

То есть мой вопрос, почему при подключении модуля SQLPS, подключаются еще два модуля:
Microsoft.AnalysisServices.PowerShell.Cmdlets
SQLASCMDLETS

Скрин ниже

К сообщению приложен файл. Размер - 59Kb
15 май 17, 13:05    [20481727]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
aleks2
Guest
Не приходило ли те в голову, что це могут быть ЗАВИСИМЫЕ модули?
15 май 17, 13:22    [20481798]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
Yagrus2
Member

Откуда: Москва
Сообщений: 894
Но это догадка
18 май 17, 15:14    [20493197]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
человек_ниоткуда
Guest
SQLPS это manifest: https://msdn.microsoft.com/en-us/library/dd878324(v=vs.85).aspx
MSDN
A manifest module is a module that uses a manifest file to describe all of its components, but doesn’t have any sort of core assembly or script. (Formally, a manifest module leaves the ModuleToProcess or RootModule element of the manifest empty.)

Не берусь утверждать, но с большой уверенностью скажу что SQLPS просто содержит описание какие можули нужно подключить.
18 май 17, 15:31    [20493235]     Ответить | Цитировать Сообщить модератору
 Re: SQL-server и PowerShell  [new]
sfyk
Guest
if (-not (Get-Module -ListAvailable -Name "SQLPS")) {
    Throw 'Module "SQLPS" does not exist.';
}
if (-not (Get-Module -Name "SQLPS")) {
    Import-Module -Name SQLPS -DisableNameChecking;
}
19 май 17, 09:50    [20494972]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить