【发布时间】:2020-09-24 16:14:20
【问题描述】:
我正在编写一个 Powershell 脚本,它应该连接和查询数据库(托管在 Azure 中)。我可以使用我的 AzureAD ID 毫无问题地连接到 SSMS。但是,我无法在 Powershell 中做同样的事情。我正在为我的连接字符串使用这种模式:
"Server=tcp:myserver.database.windows.net,1433;Authentication=Active Directory Password;Database=myDataBase;UID=myUser@myDomain;PWD=myPassword;"
为了清楚起见,连接字符串工作得很好,数据库管理员告诉我我拥有所有需要的权限。造成这种情况的可能原因是什么?我尝试了 Invoke-SqlCMD 和 ADO.net。请帮忙!!
【问题讨论】:
-
你安装了prerequisite ADAL.DLL drivers吗? SSMS 安装 32 位版本,您可能在 64 位 PowerShell 中运行。
-
谢谢,但我不这么认为。虽然我没有安装这些,但这应该不是问题,因为我可以连接到其他服务器。我的问题是一台特定的服务器。我希望的解决方案应该是配置服务器以允许 powershell 连接,以便我可以告诉数据库管理员。
标签: sql-server powershell azure-active-directory ssms