Sql server Visual Studio 2015 SQL架构与非标准端口的比较

Sql server Visual Studio 2015 SQL架构与非标准端口的比较,sql-server,visual-studio,Sql Server,Visual Studio,我在两台远程服务器上使用Visual Studio 2015 Update 3和SQL Server 2016,一台具有默认端口,另一台具有非默认端口 使用SQL架构比较工具比较第一台(默认端口)服务器上的两个数据库时,一切似乎都正常 但是,当我尝试在第二台服务器上使用该工具时,我似乎无法选择源。我可以进入源代码设置并查看详细信息(通过SQLAuth)。将填充数据库列表(即,验证正常)。当我按下Connect时,它返回到“选择源模式”表单,但数据库文本框未填充,OK按钮保持禁用状态 对于这两台服

我在两台远程服务器上使用Visual Studio 2015 Update 3和SQL Server 2016,一台具有默认端口,另一台具有非默认端口

使用SQL架构比较工具比较第一台(默认端口)服务器上的两个数据库时,一切似乎都正常

但是,当我尝试在第二台服务器上使用该工具时,我似乎无法选择源。我可以进入源代码设置并查看详细信息(通过SQLAuth)。将填充数据库列表(即,验证正常)。当我按下Connect时,它返回到“选择源模式”表单,但数据库文本框未填充,OK按钮保持禁用状态

对于这两台服务器,我使用的帐户已被授予SQL Server中的完全权限。在SSMS中查询两台服务器上的数据库工作正常,表明没有防火墙问题。我能看到的唯一区别是第二台服务器有一个非默认端口


我已经没有办法尝试解决这个问题,如果有任何建议,我将不胜感激。

请确保在服务器名称中指定端口,即它应该看起来像
server:1234\INSTANCE
,其中1234是您的实例侦听的端口。如果它不是默认实例,则默认情况下端口是动态的,除非您将其配置为使用静态端口。但从你的帖子来看,情况似乎已经如此

如果在服务器名称中正确指定了端口,但连接时仍有问题,则可以尝试为此服务器定义别名。这意味着您定义了一个名称,例如,
SERVER2
,然后SQL客户机将其解码为真正的服务器名称和要使用的端口。运行
C:\Windows\System32\cliconfig.exe
C:\Windows\SysWOW64\cliconfig.exe
为32/64位客户端定义别名。在别名选项卡中,单击添加。。。按钮并定义服务器的唯一别名,即网络中不存在的别名(屏幕截图中的SERVER2):

然后选择TCP/IP协议,并在此处输入真实的SQL server名称和端口(服务器和1234)。之后,您应该能够连接到别名(SERVER2),因为它是真正的服务器,而不需要指定端口


希望这有帮助

谢谢你的回复。尽管别名本身可以工作,但SQL模式比较工具的问题仍然存在。i、 e.我配置了连接,它在填充数据库组合框时工作正常,但当我单击“选择”时,它返回到“选择”窗体,而数据库文本框中没有任何内容。好的,我已设法解决了问题。Visual Studio中似乎有一个SSDT(Sql Server开发工具)组件需要更新。它必须通过VS本身进行更新。我试图下载独立工具,但它们报告了不兼容的O/S错误。解决方案在以下链接中(指2017年,但也适用于2015年):