无法找到明确的答案,或让它发挥作用。此站点说"要使用具有混合连接的本地SQL Server或SQL Server Express数据库,需要在静态端口上启用TCP / IP 。 SQL Server上的默认实例使用静态端口1433,而命名实例则不使用静态端口1433。
我在静态端口(1555)上安装命名实例IS,如下所述:
我在azure门户中使用端口1555配置了混合连接,它显示为" Instance Connected"。
在我的应用程序的连接字符串中,我正在指定实例名称和端口,就像应用程序是内部部署一样,在本地运行时也能正常工作。 (server \ instance,1555)
我打开了所有相应的防火墙端口,但是当从azure运行应用程序时,我收到了标准连接错误:建立与SQL Server的连接时发生了与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确,以及SQL Server是否配置为允许远程连接。 (提供者:TCP提供者,错误:0 - 没有这样的主机。)
支持混合连接的非标准端口上的命名实例也是如此,如果是,则连接字符串的标准格式为:server \ instanceName,port#
由于
答案 0 :(得分:4)
这是一个旧帖子,所以可能不再相关。但万一其他人发现它有用...... 是的,您可以在非标准端口上使用命名实例进行混合连接,我有几个连接,比如这个设置。作为参考,连接字符串必须采用
格式Driver = {SQL Server}; Server = SERVER_NAME.DOMAIN.com \ INSTANCE,PORT; Database = DATABASE_NAME; UID = USERNAME; PWD = PASSWORD
我发现它(对我来说)不起作用,除非我用域名完全限定了服务器名称