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

SQL Server 2000 與 7.0 版本相容性完整指南:升級前必讀

     編輯:關於SqlServer

概述

SQL Server 2000 在大多數面向與 7.0 相容,但升級過程中仍存在需注意的向後相容性問題。本文彙整關鍵差異,協助規劃平滑升級。

主要相容性議題

1. 用戶端網路工具與具名執行個體

SQL Server 7.0 或更舊版用戶端連接元件,連線至 SQL Server 2000 具名執行個體前,必須使用用戶端網路工具設定別名 (Alias)。例如:別名指向 \\computername\pipe\MSSQL$instancename\sql\query。TCP/IP、NWLink IPX/SPX 同樣需在用戶端定義別名並指定連接埠。

2. 多伺服器作業 (MSX/TSX) 與具名執行個體

SQL Server 7.0 無法與 SQL Server 2000 具名執行個體互通進行 MSX/TSX 作業。若需混合環境,必須使用 SQL Server 2000 預設執行個體。

3. 升級 SQL Server 6.5 用戶端軟體

若從 6.5 用戶端升級至 2000 用戶端,且應用程式使用預設 Net-Library,必須在用戶端網路工具將「命名管道」或「多協定」設為預設 Net-Library,才能進行 Windows 驗證連線。

4. 驗證模式

  • Windows 驗證模式
  • 混合模式 (Windows + SQL Server 驗證)
  • SQL Server 驗證僅為向後相容保留,建議改用 Windows 群組管理權限。

5. 遠端資料表上的 ROWCOUNT 設定

資料庫相容等級設為 80 時,對遠端資料表的 INSERT 不支援 SET ROWCOUNT,將被忽略。SQL Server 7.0 則支援。

6. 伺服器設定選項變更

SQL Server 2000 不再支援下列選項:default sortorder id, resource timeout, extended memory size, spin counter, language in cache, time slice, language neutral full-text, unicode comparison style, max async IO, unicode locale id。

7. 復原模型取代舊選項

SQL Server 2000 引入三種復原模型:簡單、完整、大量記錄,取代 7.0 的 trunc. log on chkpt 與 select into/bulkcopy 組合。對應對照表:

trunc. log on chkptselect into/bulkcopy復原模型
FALSEFALSEFULL
FALSETRUEBULK-LOGGED
TRUETRUESIMPLE
TRUEFALSESIMPLE

為向後相容仍支援舊選項,但未來版本可能移除。新版請使用 ALTER DATABASE ... SET RECOVERY。

8. 保留關鍵字變更

  • 不再保留: AVG, COMMITTED, CONFIRM, CONTROLROW, COUNT, ERROREXIT, FLOPPY, ISOLATION, LEVEL, MAX, MIN, MIRROREXIT, ONCE, ONLY, PERM, PERMANENT, PIPE, PREPARE, PRIVILEGES, REPEATABLE, SERIALIZABLE, SUM, TAPE, TEMP, TEMPORARY, UNCOMMITTED, WORK 等。
  • 新增保留: COLLATE, FUNCTION, OPENXML。

9. SQL Profiler 擴充預存程序移除

xp_trace_addnewqueue, xp_trace_generate_event 等已移除,改由新系統預存程序與使用者定義函數取代。

10. Query Analyzer 預設 QUOTED_IDENTIFIER 為 ON

SQL Server 7.0 預設 OFF,2000 預設 ON (與 ODBC/OLE DB 一致)。索引檢視表、計算欄位索引等新功能要求此選項為 ON。注意:ON 時雙引號視為識別碼,字串必須用單引號。

11. bcp 公用程式

讀取舊版 DB-Library bcp 建立的字元檔案需使用 -V 參數。

12. 早期視覺化資料庫工具建立的資料庫圖表

若資料庫曾用 SQL Server 7.0 或更早工具 (查詢設計工具、檢視表設計工具等) 建立圖表,Enterprise Manager 將無法開啟,報錯 Could not find stored procedure 'dbo.dt_getobjwithprop_u'。修正腳本:

ALTER TABLE dbo.dtproperties ADD uvalue NVARCHAR(255) NULL;
GO
IF EXISTS (SELECT * FROM dbo.dtproperties)
    EXEC('UPDATE dbo.dtproperties SET uvalue = CONVERT(NVARCHAR(255), value)');
GO

13. DTS 向後相容性

  • SQL Server 2000 建立的 DTS 套件 無法 在 7.0 或更早版本載入/執行 (會出現「無效的類別字串」或「參數不正確」)。
  • 複製 SQL Server 物件任務在 2000 與 7.0 之間有限制。
  • 不同排序規則/代碼頁環境下複製非 Unicode 資料需注意資料轉換問題。

14. 信任連接字串

SQL Server 7.0 連接字串未指定 UID/PWD 即預設嘗試信任連接;SQL Server 2000 必須明確指定 Trusted_Connection=yes。

15. SQL-DMO 擴充物件、SQL-SCM、English Query/OLAP

  • SQL-DMO 部分物件擴充,舊版使用需參考文件。
  • SQL-SCM API 已移除不再支援。
  • SQL Server 7.0 OLAP Services 與 English Query 安裝/解除安裝有相依順序限制;SQL Server 2000 Analysis Services 已解決此問題。

結語

升級前務必詳閱完整相容性文件,重點測試用戶端連線、MSX/TSX、DTS 套件、跨資料庫查詢與舊版工具建立的資料庫圖表。建議先在測試環境完整驗證,再排程生產環境升級。

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