欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  数据库

SQL Server远程连接出错的解决方法

程序员文章站 2024-02-11 10:48:28
...

SQL Server远程连接出错?不要紧,下面就为您分析SQL Server远程连接出错的原因,并给出解决问题的方法,希望对您学习SQL Server远程连接方面能有所帮助. 在进行sqlserver复制的时候,我的情况是这样的,我在本地的management studio里连接了一个远程的sqlserver数

  SQL Server远程连接出错?不要紧,下面就为您分析SQL Server远程连接出错的原因,并给出解决问题的方法,希望对您学习SQL Server远程连接方面能有所帮助.

  在进行sqlserver复制的时候,我的情况是这样的,我在本地的management studio里连接了一个远程的sqlserver数据库服务器,用的不是默认端口号,也没有开browser服务,而且是命名实例,非默认实例,所以连接的服务器名得用abcabcserver,port这样的模式来连,然后配置它的复制分发(包括新建发布等等跟复制有关的操作),程序会报这样两个错误信息:

  SQL Server无法连接到服务器“abcabcserver,1369”. (配置分发向导)

  SQL Server复制需要有实际的服务器名称才能连接到服务器.不支持通过服务器别名、IP 地址或任何其他备用名称进行连接.请指定实际的服务器名称“abcabcserver”. (Replication.Utilities)

  说实话具体的原因我也搞的很晕,觉得莫名其妙的,但导致出错的原因就在这个使用management studio进行连接到服务器的时候填写的服务器名称上.因为用的是非默认的端口,所以远程连的时候,要在后面写上“,端口号”才能连上,但是在进行配置分发的时候,它进行连接用的就是这个abcabcserver,1369名称,可是在配置分发的时候用这个连接,sqlserver却报连接不上.

  如果要连接成功就必须得用abcabcserver这个服务器名称才可以(我在abcabcserver本地也做了测试,只有用这个名称进行连接后配置才不会报这个错,即使在本地,用其他的方式连也都会报错).而且sqlserver的错误提示里还说了不支持通过服务器别名来进行连接,可这问题还就是能用别名来解决.

  解决原理,既然sqlserver只能用连接服务器的时候使用的那个服务器名称来连接,那就只有在连接到sqlserver的时候填写的服务器名称用它要求的那个标准的abcabcserver的模式来写.

  具体解决办法:那像这种使用非默认端口又没有开browser服务的情况,只有用别名来解决问题,在sqlserver 配置管理器里,配置一个不带端口号的abcabcserver这种模式的别名,别名名称用的就是需要连接的服务器sqlserver实列名来命名,然后在里面配上端口号,这样在连接到sqlserver的时候,使用这个别名(其实也就是少了,端口号)来连接上sqlserver,然后进行配置的时候就不会报错.

  当然,你要是能调整要连接的sqlserver服务器也行,打开它的browser服务,这样在远程连的时候也不需要写端口号了就,总之要不报这个错,在连接的时候用的服务器名称就只能是服务器服务实例名(如果有的话),其他的服务器名称方式一概不行.