我有以下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/