安裝了錯誤排序規則的 SQL Server 2000 ..如何更正整個伺服器實例?
我在我的筆記型電腦上安裝了 SQL 2000 Developer(是的,舊的,別問)……使用錯誤的排序規則。哎呀!
它顯示的是 Latin1_General_CI_AS,但事實證明我需要使用 SQL_Latin1_General_CP1_CI_AS 來匹配我們正在使用的另一個實例。
我在 Google 上找到了一些關於如何更改特定數據庫的排序規則的參考資料,但我想為整個伺服器實例更改它。有沒有辦法解決這個問題而不必重新安裝 SQL Server 2000?服務包,安全修復等很痛苦。
謝謝
老實說,我認為您最簡單的方法是:
- 備份您的使用者數據庫
- 解除安裝 SQL Server
- 使用正確的排序規則重新安裝 SQL Server
- 恢復您的數據庫
- 修復使用者數據庫的排序規則
你也知道SQL Server 2000 已經脫離主流維護了,對吧?從那以後很快就會有四個主要版本?
我找到了關於更改來自 Paul Randal 的完整實例排序規則的未記錄方法的參考。
引用自SpaghettiDBA部落格的資訊:
“該方法依賴於一個啟動參數,該參數允許在結合幾個跟踪標誌時更改伺服器排序規則:
sqlservr -m -T4022 -T3659 -q"new collation"
跟踪標誌 3659 允許將所有錯誤記錄到 sql server 日誌
跟踪標誌 4022 強制 SQL Server 跳過啟動儲存過程(如果有)。
啟動選項“-m”強制單使用者模式。
啟動選項“-q”將所有數據庫和包含的對象重新建構到指定的排序規則中,而無需重新安裝實例。”
Paul 的帶有未記錄參數的文件是:未記錄的工具和跟踪標誌。
不太確定它是否適用於 SQL 2000,因為我沒有看到有關伺服器版本的明確參考,但值得一試。
我也不太確定重建主數據庫是否如此困難,因為在 SQL 2000 中有一個不錯的小工具可以在沒有任何使用者干預的情況下做到這一點(Rebuildm.exe - 位於 ..\Program Files\Microsoft SQL Server \80\Tools\Binn 目錄。)。
如果您已經有一些數據庫要轉換,您可以嘗試SQL Server 2000 Collation Changer項目- 它對於更改數據庫和所有底層對象的排序規則很有用。