Сбой Runbook Azure Automation Powersell: Invoke-Sqlcmd не распознается как имя командлета
Я выполнил все шаги в следующем руководстве, чтобы получить модуль Runbook для автоматизации ведения индексов и статистики:
Я смог завершить все учебное пособие без ошибок, но когда я запускаю 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 Standard (200 DTU)".
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
Вот результат:
Надеюсь это поможет.