"SQLServer復制需要有實際的服務器名稱才能連接到服務器,請指定實際的服務器名"轉


 "SQLServer復制需要有實際的服務器名稱才能連接到服務器,請指定實際的服務器名" 2014-06-12 12:01:10

最近在學習SQL SERVER的高級復制技術的時候,遇到一個小問題,就是用本地SQL SERVER連接服務器的數據庫時,在查看復制功能的發布服務器時,連接不上,彈出一個錯誤提示框架,如下:

原來在自己本地的實例是一切操作正常的,一連接到遠程服務器時就出現這個問題,后來在網上找了下,發現有這兩種情況:
一、自己本身的計算機名稱修改過,導致與服務器不一致。
二、在直接用IP地址連接遠程服務器時,如果不用別名來連接的話,就會出現上面這個錯誤提示框。

第一種情況下:
在SQL SERVER里面執行下面語句:

use master

go

select @@servername;

select serverproperty('servername')

使用上面的語句查詢服務器的名稱和實際計算機的名稱,如果兩者不一致,就需要修改。
不一致就執行下面的語句:

sp_dropserver 'old_server_name' go sp_addserver 'current_computer_name','local'

修改完后,重啟SQL SERVER服務。

第二種情況下:
為遠程服務器增加"別名",使用別名代替IP地址來連接遠程數據庫服務器。(我自己用的是SQL SERVER2012)
打開SQL SERVER2012的配置管理器,定位到"別名"服務選項,如下:


右鍵--->新建別名:

這里的這個"別名"就用服務器名稱,就是用上面的SQL 語句查詢出來的名稱:(select
 @@servername;),IP地址就是這台服務器的訪問地址。


接着在本機的hosts添加相應的IP地址和別名:
C:\Windows\System32\drivers\etc

hosts:

IP地址        別名

例如:

172.168.1.15     sniper

修改完,保存.


都修改完后,重啟一下SQL SERVER服務。

再次連接的時候,使用"別名"代替IP地址去連接服務器即可:


至此,問題解決!

(后來的一些測試中,我發現不用別名,只要知道服務器的具體名稱,一樣可以連接)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM