gpt4 book ai didi

sql-server - 从 Windows Azure 连接到远程 SQL Server 2008

转载 作者:行者123 更新时间:2023-12-02 23:14:30 25 4
gpt4 key购买 nike

我尝试从 Windows Azure 辅助角色连接到 SQL Server 2008 实例(不是 SQL Azure,而是远程托管的 SQL Server 2008 标准版),但收到以下错误消息

System.Data.SqlClient.SqlException:建立与 SQL Server 的连接时发生与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供程序:SQL 网络接口(interface),错误:26 - 定位指定的服务器/实例时出错)位于 System.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常, bool 型breakConnection)...

代码片段如下:

using (var connection = new SqlConnection("MY CONNECTION STRING")
{
connection.Open();
var command = new SqlCommand("Select 1", connection);

try
{
var res = command.ExecuteScalar();
}
catch (Exception e) {
Log.Log("error", e.ToString());
}
}

当我从本地命令行(直接访问远程 SQL Server)运行该代码片段时,它工作正常,但当从 Windows Azure 运行时,我最终得到了上面的错误消息概述。为了确保连接字符串没有问题,我重新尝试对推送到 Azure 的源代码中的字符串进行硬编码(只是为了 100%,但我仍然遇到同样的问题)。

我在 SQL Server 2008 实例上没有设置防火墙,而且我已经没有主意了。

有人能发现我在这里做错了什么吗?

最佳答案

我注意到,当连接到在 1433 以外的端口上运行的外部非 Azure SQL Server 实例时,Azure 辅助角色的 SQL Server 解析协议(protocol)(或 SQL Server 浏览器)存在一些问题。在这些情况下,它可以帮助在连接字符串中显式指定实例的 TCP 端口:

Data Source={domain/ip},{port};
Network Library=DBMSSOCN;
Initial Catalog={dbname};
User ID={user};
Password={pw}

另请参阅Connect from Azure to an SQL Server Named Instance

关于sql-server - 从 Windows Azure 连接到远程 SQL Server 2008,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1952904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com