Сбой модуля Runbook Powersell в службе автоматизации Azure: Invoke-Sqlcmd не распознается как имя командлета

Я выполнил все шаги из следующего руководства, чтобы получить модуль Runbook для автоматизации обслуживания индексов и статистики:

https://blogs.msdn.microsoft.com/azuresqldbsupport/2018/01/15/automating-azure-sql-db-index-and-statistic-mainmaintenance-using-azure-automation/

Мне удалось пройти все руководство без ошибок, но когда я запускаю модуль Runbook, он возвращает мне ошибку:

Invoke-Sqlcmd : The term 'Invoke-Sqlcmd' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.
At line:6 char:16
+ $SQLOutput = $(Invoke-Sqlcmd -ServerInstance $AzureSQLServerName -Use ...
+ ~~~~~~~~~~~~~
+ CategoryInfo: ObjectNotFound: (Invoke-Sqlcmd:String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException

Что я могу сделать? Я использую SQL Server с Azure. В частности, База данных SQL Azure с ценой / уровнем модели «Стандарт S4 (200 DTU)».


person RuSSe    schedule 26.02.2018    source источник


Ответы (1)


Следите за тем блогом, я воспроизвел вашу ошибку.

Вы можете развернуть модуль sqlserver на этой странице:

введите описание изображения здесь

Вот мой модуль Runbook:

$AzureSQLServerName = "jasonsql"
$AzureSQLDatabaseName = "jasondatabase"

$AzureSQLServerName = $AzureSQLServerName + ".database.windows.net"
$Cred = Get-AutomationPSCredential -Name "SQLLogin"
$SQLOutput = $(Invoke-Sqlcmd -ServerInstance $AzureSQLServerName -Username $Cred.UserName -Password $Cred.GetNetworkCredential().Password -Database $AzureSQLDatabaseName -Query "SELECT * FROM INFORMATION_SCHEMA.TABLES " -QueryTimeout 65535 -ConnectionTimeout 60 -Verbose) 4>&1

Write-Output $SQLOutput

Вот результат:

введите описание изображения здесь

Надеюсь это поможет.

person Jason Ye    schedule 27.02.2018
comment
Да! Это исправляет. Большое спасибо! - person RuSSe; 27.02.2018
comment
Для всех, кто сталкивается с этим, есть проблема с более поздними версиями этого модуля. Я обнаружил, что другие люди, пытающиеся выполнить автоматизацию Azure, столкнулись с той же проблемой и были в порядке после перехода на 21.0.17199. Вы можете развернуть прямо со страницы, указанной Джейсоном, или ниже: powershellgallery.com/packages/SqlServer/21.0.17199 - person Echostorm; 05.03.2018
comment
Я задал соответствующий вопрос should-i- используйте-powershell-subexpression-when-invoke-sqlcmd-in-azure-runbook или вызовите Invoke-Sqlcmd напрямую - person Michael Freidgeim; 09.05.2021