2010/12/06

MS SQL Server dblink 問題及解決方法

  最近手上負責的系統資料庫 SQL SERVER 2000 要換機器,在 DBA 移轉資料後卻發現原有的一支 stored procedure 中使用的 dblink 無法正常存取另一台 SQL SERVER 的資料.連 DBA重建 dblink 也無法正常使用.沒辦法之下只好改寫 stored procedure 中的 dblink 存取語法.

 原始語法:

select * from DBLINKNAME.dbo.tablename

 改寫後語法:

select * from SERVERNAME.DBLINKNAME.dbo.tablename

如果 SERVER NAME 中有 - (dash) 字元,整個 SERVERNAME 以 [] 括起來即可.

此案例前題是新舊 SERVER 作業系統版本與 MS SQL SERVER 2000 版本都一樣,唯一不同的是 SQL SERVER Service Pack 版本不一樣.舊的是 SP3 ,而新的是SP4.