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

时间:2018-11-15 11:59:06

标签: sql-server visual-studio

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

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

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

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

我已经没有足够的想法来尝试解决此问题,对于任何建议,我们将不胜感激。

1 个答案:

答案 0 :(得分:0)

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

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

enter image description here

然后选择TCP / IP协议,然后在其中输入真实的SQL服务器名称和端口(SERVER和1234)。之后,您应该能够连接到别名(SERVER2),因为它是真实的服务器,而无需完全指定端口。

希望这会有所帮助!