次の方法で共有


ユーザー定義データベースの照合順序が master データベースおよび model データベースの照合順序と一致するように設定

このルールでは、ユーザー定義データベースの定義に使用されたデータベース照合順序と master または model の照合順序が一致しているかどうかを確認します。

ベスト プラクティスと推奨事項

ユーザー定義データベースの照合順序と master または model データベースの照合順序を一致させることをお勧めします。 照合順序が一致していない場合、照合順序の競合が発生してコードが実行されなくなる可能性があります。 たとえば、ストアド プロシージャによってあるテーブルを一時テーブルに結合すると、ユーザー定義のデータベースと model データベースの照合順序が異なる場合、SQL Server ではバッチが終了し、照合順序の競合エラーが返されることがあります。 この現象は、一時テーブルが 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)

サポート技術情報の資料 325335

コマンド プロンプトから SQL Server 2008 をインストールする方法

関連項目

概念

ポリシー ベースの管理を使用したベスト プラクティスの監視と実行