无法从PowerShell

时间:2017-07-12 13:30:43

标签: powershell azure azure-sql-database

我有一个SQL Azure数据库,我尝试从PowerShell执行查询。

我正在使用Invoke-Sqlcmd命令。

我收到此错误消息:

  

发生与网络相关或特定于实例的错误   建立与SQL Server的连接。找不到服务器或   无法访问。验证实例名称是否正确   SQL Server配置为允许远程连接。 (提供者:命名   管道提供程序,错误:40 - 无法打开与SQL Server的连接)

但如果我从Management Studio连接,一切正常。

我设置了适当的防火墙规则。

有人知道会发生什么吗?

1 个答案:

答案 0 :(得分:3)

在您的连接字符串上,将TCP指定为协议,如

tcp:mymssqlserver.database.windows.net

您的PowerShell可能看起来像:

$server = " tcp:mymssqlserver.database.windows.net,1433" 
$database = "master" 
$adminName = "admin@my-azure-sql" 
$adminPassword = "P4SSW0rd" 


$connectionString = "Server=$server;Database=$database;User ID=$adminName;Password=$adminPassword;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" 
$connection = New-Object -TypeName System.Data.SqlClient.SqlConnection($connectionString)