5

我已完成以下教程的所有步骤,以获得用于自动化索引和统计维护的运行手册:

https://blogs.msdn.microsoft.com/azuresqldbsupport/2018/01/15/automating-azure-sql-db-index-and-statistic-maintenance-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 一起使用。具体来说,具有定价/模型层“S4 标准(200 个 DTU)”的 Azure SQL 数据库。

4

1 回答 1

10

关注那个博客,我复制了你的错误。

您可以通过此页面部署sqlserver 模块:

在此处输入图像描述

这是我的运行手册:

$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

结果如下:

在此处输入图像描述

希望这可以帮助。

于 2018-02-27T02:30:32.233 回答