問題は、データベースがSQL Management Studioなどで実行されるスクリプトではなく、アプリケーション内から起動されたスクリプトによって作成されることです。
コメントに記載されているように、サーバーの照合順序を変更する別の回答が可能ですが、毛深い場合は、データベースを空にして照合順序を変更するか(ALTER DATABASE
またはManagement Studioから)残りのデータベースを作成します。
これはアプリケーションの変更を必要としますが、テーブルはデータベース照合ではなくデータベースの照合をとるため、データベース自体の作成のみが必要です(すべてのクライアントで動作するようにすることもできますデータベースが存在し、その場合はDB作成をスキップし、残りのオブジェクトを処理します)。
最終的な警告として、照合順序がサーバー照合と異なるDBを使用すると、照合順序がtempdbと異なることを意味するので、一時表を使用すると、WHERE
' sまたはJOIN
の一時的なテーブルと通常のテーブルの混合。例えば、SerialNumber
は、char型の列であると仮定すると、このクエリは、照合エラーで失敗します:
SELECT *
FROM Products
JOIN #TempTable ON #TempTable.SerialNumber=Products.SerialNumber
その場合は、アプリケーションを変更し、このような何かにクエリを変更する必要があります場合:
SELECT *
FROM Products
JOIN #TempTable ON #TempTable.SerialNumber=Products.SerialNumber COLLATE database_default
インスタンスの既定の照合順序を変更する必要はありません。それは超醜いです。 https://docs.microsoft.com/en-us/sql/relational-databases/collations/set-or-change-the-server-collationデータベースを作成するときに、必要な照合順序を明記できないのはなぜですか?それがそれを処理する最善の方法です。 –
インスタンスの照合順序を変更すると、SQL Serverのアンインストールと再インストールが効果的です。アプリケーションが 'CREATE DATABASE'スクリプトで必要とする照合順序を指定するとどうなりますか? –
あなたの質問は少なくとも私には明らかではありません。データベースレベルとサーバーレベル(インスタンス)で照合順序を変更することはできますが、テストを変更するといくつかの副作用が発生します – TheGameiswar