我有以下Powershell命令:

$DATABASE="adventureworks"
$SQLSERVER="PerfSQL02"

invoke-sqlcmd -Query "sp_whoisactive" -database $DATABASE -hostname $SQLSERVER

数据库名称和SQLServer有效,并且我以本地用户身份运行,该用户是数据库实例和dbo上的sysadmin。另外,我可以通过SSMS连接并很好地运行sp_whoisactive。

我收到的错误是:
Cannot open database "adventureworks" requested by the login. The login failed.
Login failed for user '<myusername>'

我确定我缺少了一些非常简单的东西,但是自从我使用Invoke-sqlcmd以来已经有一段时间了,我缺少什么使它无法连接?

最佳答案

好像我应该使用-serverinstance而不是-hostname,因为-serverinstance参数传递服务器和实例名称。

关于sql-server - Invoke-Sqlcmd无法创建连接,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21340985/

10-15 17:46