共用方式為


將使用者定義資料庫的定序設定為 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 )
    

如需詳細資訊

設定或變更資料庫定序

設定或變更資料行定序

ALTER DATABASE (Transact-SQL)

COLLATE (Transact-SQL)

sys.databases (Transact-SQL)

Microsoft 知識庫文件 325335

如何:從命令提示字元安裝 SQL Server 2008

請參閱

概念

使用原則式管理來監視和強制最佳做法