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 的属性,排序规则更改为:SQL_Latin1_General_CI_CS_AS但我仍然得到同样的错误。

其他主题建议重新安装数据库。但情况并非如此,我们会丢失所有数据。

任何建议都非常感谢!

提前致谢。

4

1 回答 1

1

简而言之,仅仅改变数据库是不够的,因为这只会影响未来创建的新对象。您还必须更改所有现有列。这篇 Microsoft 支持文章应该包含您需要的所有详细信息。

如何在 SQL Server 中将数据库从一种排序规则转移到另一种排序规则

于 2012-02-22T21:34:44.700 回答