將使用者定義資料庫的定序設定為 master 和 model 資料庫的定序
此規則會檢查是否使用與 master 或 model 定序相同的資料庫定序來定義使用者定義資料庫。
最佳做法建議
我們建議您最好讓使用者定義資料庫的定序符合 master 或 model 的定序。 否則,可能會發生妨礙程式碼執行的定序衝突。 例如,當預存程序將一個資料表聯結到暫存資料表時,SQL Server 可能會在使用者定義資料庫的定序與 model 資料庫的定序不同時,結束批次並傳回定序衝突錯誤。 發生這個錯誤是因為暫存資料表是在 tempdb 內建立,而 tempdb 的定序是以 model 的定序為根據。
如果您遇到定序衝突錯誤,請考慮以下其中一個解決方案:
從使用者資料庫將資料匯出到定序與 master 和 model 資料庫相同的新資料表內。
重建系統資料庫,以便使用符合使用者資料庫定序的定序。 如需有關如何重建系統資料庫的詳細資訊,請參閱<重建系統資料庫>。
修改可將使用者資料表聯結到 tempdb 內資料表的任何預存程序,以便使用使用者資料庫的定序在 tempdb 中建立資料表。 若要這樣做,請將 COLLATE database_default 子句加入到暫存資料表的資料行定義中,如下列範例所示:
CREATE TABLE #temp1 ( c1 int, c2 varchar(30) COLLATE database_default )