SQL Server 2000 在大多數情況下與 7.0 相容,但升級或共存環境需注意下列向後相容性差異,避免應用程式中斷。
| 項目 | SQL Server 7.0 行為 | SQL Server 2000 行為/限制 | 應對策略 |
|---|---|---|---|
| 用戶端網路工具與命名執行個體 | 直接支援 | 7.0 用戶端連線 2000 命名執行個體需用用戶端網路工具建立別名(Named Pipes: \\server\pipe\MSSQL$Instance\sql\query;TCP/IP 需指定連接埠) |
統一升級用戶端至 2000+ 版本,或佈建別名 |
| 多伺服器作業 (MSX/TSX) 與命名執行個體 | 支援 | 7.0 無法與 2000 命名執行個體互操作 | MSX/TSX 環境請使用 2000 預設執行個體 |
| 升級 6.5 用戶端軟體 | N/A | 6.5 用戶端升級 2000 後,Windows 驗證需將預設 Net-Library 改為 Named Pipes 或 Multiprotocol | 用戶端網路工具調整預設 Net-Library |
| 驗證模式 | Windows / 混合 | 同樣兩種模式,但 2000 強化 Windows 驗證預設 | 確認應用程式連線字串 Trusted_Connection=Yes 或 Integrated Security=SSPI |
| 遠端資料表 INSERT 的 ROWCOUNT | 支援 SET ROWCOUNT 限制遠端 INSERT 筆數 |
相容層級 80 時忽略 ROWCOUNT(遠端 INSERT 不受限制) | 改用 TOP (n) 或 SET ROWCOUNT 於本地暫存表後再 INSERT |
| 伺服器設定選項 | 包含 default sortorder id, resource timeout, extended memory size, spin counter, language in cache, time slice, language neutral full-text, unicode |
移除上述選項 | 升級腳本自動遷移相關設定,檢查 sp_configure 差異 |
| 復原模型與資料庫選項 | 僅 trunc. log on chkpt. 等選項 |
引入 完整/大量記錄/簡單 三種復原模型,取代舊選項 | 升級後檢視並調整每個資料庫復原模型 |
| 保留關鍵字 | 較少 | 新增保留字(如 BIGINT, SQL_VARIANT, TABLE 等),舊物件名稱衝突需加 [] |
升級顧問會標記,重命名或加分隔符 |
| SQL Profiler 擴充預存程序 | 舊版 API | 介面變更,舊追蹤腳本需重寫 | 使用新版 Profiler 重建追蹤定義 |
| 查詢分析器預設連線選項 | 特定預設值 | 部分預設值變更(如 ANSI_NULLS, QUOTED_IDENTIFIER) |
應用程式明確指定 SET 選項,不依賴預設 |
| bcp 公用程式 | 格式檔案版本 6.5/7.0 | 支援新格式,舊格式仍可讀取 | 重新產生格式檔以利用新功能 |
| 視覺化資料庫工具資料庫圖表 | 7.0 格式 | 需轉換為 2000 格式 | 用企業管理員開啟並儲存即自動轉換 |
| 資料轉換服務 (DTS) | 7.0 套件格式 | 2000 DTS 可開啟 7.0 套件,但反向不支援 | 單向升級,備份 7.0 套件後再開啟 |
| 指定信任連線 | 參數不同 | 連線字串語法統一 | 統一使用 Integrated Security=SSPI |
| SQL-DMO 擴充物件 | 7.0 介面 | 新增大量物件/屬性/方法,舊程式碼多半相容 | 重新編譯 DMO 應用程式以利用新功能 |
| SQL-SCM (服務控制管理員) | 獨立工具 | 整合至 SQL Server 服務管理員 | 改用新工具 |
| English Query & OLAP 服務 | 7.0 版本 | 2000 版架構不同,需遷移模型 | 依遷移指南重建專案 |
Server=Host\Instance,Port,避免解析模糊。徹底驗證上述項目,可將升級風險降至最低,平滑遷移至 SQL Server 2000 平台。