无法将“Invoke-SqlCmd”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。

今天使用PowerShell时,遇到下面的报错信息:

无法将“Invoke-SqlCmd”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后重试。
所在位置 行:3 字符: 38
+ $list | ForEach-Object {Invoke-SqlCmd <<<<  -Query "create database $_"}
    + CategoryInfo          : ObjectNotFound: (Invoke-SqlCmd:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

根据MSDN上的信息,感觉原因是未指定实例,于是执行了下面的命令,但是报错了(网上搜了一圈,没看到其根本原因,或许是因为MS为了便利DBA便将其集成到SSMS的原因,往下看便知):

Set-Location SQLSERVER:\SQL\localhost\DEFAULT

 

我们可以通过右击实例,然后单击“启动PowerShell(H)”来打开对应的PowerShell工具:

这里可以执行下面的命令:

Set-Location SQLSERVER:\SQL\localhost\DEFAULT

同时,在执行Invoke-SqlCmd时,也不会再报下面的错误。

无法将“Invoke-SqlCmd”项识别为 cmdlet、函数、脚本文件或可运行程序的名称。请检查名称的拼写,如果包括路径,请确保路径正确,然后重试。
所在位置 行:3 字符: 38
+ $list | ForEach-Object {Invoke-SqlCmd <<<<  -Query "create database $_"}
    + CategoryInfo          : ObjectNotFound: (Invoke-SqlCmd:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

 

你可能感兴趣的:(PowerShell)