SQL Server 2014 Enterpriseを使用しています。私はテーブル、列名、データベース間のレコード数をチェックする必要があるクライアントからいくつかの異なるデータベースを受け取りました。 Except
機能を使用する場合、私は、照合の問題に遭遇しました:SQL Serverアクセントの感度の照合で、交差操作以外の操作が発生する
SELECT c.name "ColumnName"
FROM [DB1].sys.tables t
INNER JOIN [DB1].sys.all_columns c ON t.object_id = c.object_id
INNER JOIN [DB1].sys.types ty ON c.system_type_id = ty.system_type_id
WHERE t.name = 'test'
EXCEPT
SELECT c.name
FROM [DB2].sys.tables t
INNER JOIN [DB2].sys.all_columns c ON t.object_id = c.object_id
INNER JOIN [DB2].sys.types ty ON c.system_type_id = ty.system_type_id
WHERE t.name = 'test2'
これはエラーを生成します:FYI
Cannot resolve the collation conflict between "SQL_Latin1_General_CP1_CI_AI" and "SQL_Latin1_General_CP1_CI_AS" in the EXCEPT operation.
:DB1
は "SQL_Latin1_General_CP1_CI_AI"、DB2
は
は "順序SQL_Latin1_General_CP1_CI_AS" でありますこれは、私のようなクエリでCOLLATE関数を介して解決することができますか?もしそうなら、どうですか?私はこれを行うための権限を持っていないとして、私は私たちのITが参加する必要があります
USE master;
GO
ALTER DATABASE [DB2]
COLLATE SQL_Latin1_General_CP1_CI_AI ;
GO
:
また、およそ私はオンラインを見つけたことを、次のものを。
ご理解いただきありがとうございます。marc_s – Craig