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

SQL Server 7.0 升級 2000 排序規則變更應對指南

     編輯:關於SqlServer

背景

  • SQL 7.0 預設排序:SQL_Latin1_General_CP1_CI_AS (SQL 排序規則)。
  • SQL 2000 預設排序:Latin1_General_CI_AS (Windows 排序規則)。

兩者在字串比較、排序、索引鍵順序上有差異,跨版本還原/附加資料庫時易發生衝突。

升級策略

就地升級 (In-place Upgrade)

保留原排序規則,資料庫繼續使用 SQL 7.0 排序,無衝突。

全新安裝 + 附加資料庫

  1. 安裝 SQL 2000 時,在「排序規則設定」選擇 SQL_Latin1_General_CP1_CI_AS (或執行升級後查詢 SERVERPROPERTY('Collation') 確認)。
  2. 附加資料庫時,SQL Server 會保留資料庫原有排序規則。

乾淨安裝 + 新建資料庫

新資料庫將使用 Windows 排序規則。若應用程式相依舊排序行為,需在資料庫層級指定:

CREATE DATABASE MyDB COLLATE SQL_Latin1_General_CP1_CI_AS

Microsoft 變更原因

統一 SQL Server 與 Windows 排序規則,減少字元比較、索引順序不一致導致的 Bug。

最佳實務

  • 開發階段即在連線字串或資料庫層級明確指定排序規則,避免依賴伺服器預設值。
  • 跨伺服器查詢 (Linked Server) 時,確認雙方排序規則相容,或在查詢中使用 COLLATE 子句強制轉換。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved