0

開発サーバーには、照合を使用するデータベース サーバーがあります: COLLATE SQL_Latin1_General_CP1_CI_AS

サーバーにソリューションをデプロイした後、そのデータベースサーバーには照合があります: COLLATESQL_Latin1_General_CI_AS

つまり、クエリがある場合:

SELECT ('text' + 'abc') AS 'result'

私はこの問題を抱えています:

照合の競合により値の照合が解決されないため、varchar 値から varchar への暗黙的な変換を実行できません。

だから私はこれを試しました:ALTER DATABASE [mydb] COLLATE SQL_Latin1_General_CP1_CI_AS

次に、myDB のプロパティを確認すると、collat​​e が次のように変更されます:SQL_Latin1_General_CI_CS_ASそれでも同じエラーが発生します。

他のトピックでは、データベースの再インストールを提案しています。しかし、すべてのデータが失われるわけではありません。

どんな提案でも大歓迎です!

前もって感謝します。

4

1 に答える 1

1

一言で言えば、データベースを変更するだけでは十分ではありません。これは、今後作成される新しいオブジェクトにのみ影響するためです。また、既存のすべての列を変更する必要があります。この Microsoft サポート記事には、必要なすべての詳細が記載されています。

SQL Server でデータベースをある照合順序から別の照合順序に転送する方法

于 2012-02-22T21:34:44.700 に答える