首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 數據庫知識 >  >> SQL Server 資料庫 >> 關於SqlServer

SQL Server 2014/2012 連結 SQL Server 2000 解決方案:指定提供者 MSDASQL + Native Client 10.0

     編輯:關於SqlServer

SQL Server 2012/2014 建立連結伺服器指向 SQL Server 2000 時,預設 SQLOLEDB 提供者在瀏覽/測試時常報錯:「未指定的錯誤」 / 0x80004005。

根因

新版 SQL Server 移除/棄用舊 OLE DB 提供者對舊版本的相容支援,需明確指定 MSDASQL (ODBC 橋接) + SQL Server Native Client 10.0 ODBC 驅動。

正確建立腳本

-- 1. 建立連結伺服器 (MSDASQL + Native Client 10.0 ODBC)
EXEC sp_addlinkedserver 
    @server = 'SQL2000_LINK',
    @srvproduct = 'sqlserver',
    @provider = 'MSDASQL',
    @datasrc = NULL,
    @location = NULL,
    @provstr = 'DRIVER={SQL Server Native Client 10.0};SERVER=192.168.1.50;',
    @catalog = NULL;
GO

-- 2. 設定登入映射 (SQL 驗證)
EXEC sp_addlinkedsrvlogin 
    @rmtsrvname = 'SQL2000_LINK',
    @useself = 'false',
    @rmtuser = 'sa',
    @rmtpassword = 'StrongP@ssw0rd';
GO

-- 3. 啟用 RPC (支援遠程預存程序)
EXEC sp_serveroption 'SQL2000_LINK', 'rpc out', 'true';
EXEC sp_serveroption 'SQL2000_LINK', 'rpc', 'true';
GO

前置條件:安裝 SQL Server Native Client 10.0

若本機僅安裝 SQL 2014,缺少 Native Client 10.0 ODBC 驅動,需下載安裝:

驗證連線

-- 測試查詢
SELECT * FROM OPENQUERY(SQL2000_LINK, 'SELECT @@VERSION');

-- 或四部分命名
SELECT * FROM SQL2000_LINK.PubDB.dbo.Orders;

遷移建議

SQL Server 2000 已停止支援 15+ 年,無安全性更新、無現代功能。連結伺服器僅為過渡方案,**強烈建議規劃將 SQL 2000 資料庫遷移至 SQL 2019/2022**,並更新應用程式連線字串。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved