我有以下Powershell命令:
$DATABASE="adventureworks"
$SQLSERVER="PerfSQL02"
invoke-sqlcmd -Query "sp_whoisactive" -database $DATABASE -hostname $SQLSERVER
数据库名称和SQLServer是有效的,我作为我的本地用户运行,他是实例上的sysadmin和数据库的dbo。另外,我可以通过SSMS连接并很好地运行sp_whoisactive。
我收到的错误是:
Cannot open database "adventureworks" requested by the login. The login failed.
Login failed for user '<myusername>'
我确定我遗漏了一些非常简单的东西,但是因为我使用了Invoke-sqlcmd
已经有一段时间了,我错过了什么让它无法连接?
答案 0 :(得分:2)
看起来我应该使用-serverinstance
而不是-hostname
,因为-serverinstance
参数传递了服务器和实例名称。