最近在學習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位址去連接配接伺服器即可:
至此,問題解決!
(後來的一些測試中,我發現不用别名,隻要知道伺服器的具體名稱,一樣可以連接配接)