この規則では、マスターまたはモデルの照合順序と同じデータベース照合順序を使用して、ユーザー定義データベースが定義されているかどうかを確認します。
ベスト プラクティスに関する推奨事項
ユーザー定義データベースの照合順序は、マスターまたはモデルの照合順序と一致することをお勧めします。 そうしないと、コードの実行を妨げる照合順序の競合が発生する可能性があります。 たとえば、ストアド プロシージャが 1 つのテーブルを一時テーブルに結合すると、SQL Server はバッチを終了し、ユーザー定義データベースとモデル データベースの照合順序が異なる場合に照合順序の競合エラーを返す可能性があります。 これは、一時テーブルが tempdb で作成され、その照合順序がモデルの照合順序に基づいて作成されるために発生します。
照合順序の競合エラーが発生した場合は、次のいずれかの解決策を検討してください。
ユーザー データベースからデータをエクスポートし、マスター データベースとモデル データベースと同じ照合順序を持つ新しいテーブルにインポートします。
ユーザー データベースの照合順序と一致する照合順序を使用するようにシステム データベースを再構築します。 システム データベースを再構築する方法の詳細については、「システム データベースの 再構築」を参照してください。
ユーザー データベースの照合順序を使用して tempdb にテーブルを作成するには、ユーザー テーブルを tempdb のテーブルに結合するストアド プロシージャを変更します。 これを行うには、次の例に示すように、一時テーブルの列定義に
COLLATE database_default
句を追加します。CREATE TABLE #temp1 ( c1 int, c2 varchar(30) COLLATE database_default )
詳細については、以下を参照してください。
ALTER DATABASE (Transact-SQL) データベースを変更する
方法: コマンド プロンプトから SQL Server 2008 をインストールする