SQL Server远程连接出错?不要紧,下面就为您分析SQL Server远程连接出错的原因,并给出解决问题的方法,希望对您学习SQL Server远程连接方面能有所帮助.
在进行sqlserver复制的时候,我的情况是这样的,我在本地的management studio里连接了一个远程的sqlserver数据库服务器,用的不是默认端口号,也没有开browser服务,而且是命名实例,非默认实例,所以连接的服务器名得用abc\abcserver,port这样的模式来连,然后配置它的复制分发(包括新建发布等等跟复制有关的操作),程序会报这样两个错误信息:
SQL Server无法连接到服务器“abc\abcserver,1369”. (配置分发向导)
SQL Server复制需要有实际的服务器名称才能连接到服务器.不支持通过服务器别名、IP 地址或任何其他备用名称进行连接.请指定实际的服务器名称“abc\abcserver”. (Replication.Utilities)
说实话具体的原因我也搞的很晕,觉得莫名其妙的,但导致出错的原因就在这个使用management studio进行连接到服务器的时候填写的服务器名称上.因为用的是非默认的端口,所以远程连的时候,要在后面写上“,端口号”才能连上,但是在进行配置分发的时候,它进行连接用的就是这个abc\abcserver,1369名称,可是在配置分发的时候用这个连接,sqlserver却报连接不上.
如果要连接成功就必须得用abc\abcserver这个服务器名称才可以(我在abc\abcserver本地也做了测试,只有用这个名称进行连接后配置才不会报这个错,即使在本地,用其他的方式连也都会报错).而且sqlserver的错误提示里还说了不支持通过服务器别名来进行连接,可这问题还就是能用别名来解决.
解决原理,既然sqlserver只能用连接服务器的时候使用的那个服务器名称来连接,那就只有在连接到sqlserver的时候填写的服务器名称用它要求的那个标准的abc\abcserver的模式来写.
具体解决办法:那像这种使用非默认端口又没有开browser服务的情况,只有用别名来解决问题,在sqlserver 配置管理器里,配置一个不带端口号的abc\abcserver这种模式的别名,别名名称用的就是需要连接的服务器\sqlserver实列名来命名,然后在里面配上端口号,这样在连接到sqlserver的时候,使用这个别名(其实也就是少了,端口号)来连接上sqlserver,然后进行配置的时候就不会报错.
当然,你要是能调整要连接的sqlserver服务器也行,打开它的browser服务,这样在远程连的时候也不需要写端口号了就,总之要不报这个错,在连接的时候用的服务器名称就只能是服务器\服务实例名(如果有的话),其他的服务器名称方式一概不行.
大概就是这样吧.
本文来源:佚名 作者:中国IT实验室收集整理