Sql 无法更改数据库默认排序

Sql 无法更改数据库默认排序,sql,sql-server,database,Sql,Sql Server,Database,我无法更改数据库tempdb,因为它是一个系统数据库 我在我的系统上安装了一个新的SQL Server 2008 R2,默认情况下它的排序规则为Latin1\u General\u C1\u Ai\u WS。但是我的数据库排序规则是SQL\u Latin1\u General\u C1\u Ai\u AS 所以,在我使用临时表的所有地方,我都遇到了排序错误 所有temp(#)表都是使用默认的collateLatin1\u General\u C1\u Ai\u WS创建的,因此无论我在哪里使用t

我无法更改数据库tempdb,因为它是一个系统数据库

我在我的系统上安装了一个新的SQL Server 2008 R2,默认情况下它的排序规则为
Latin1\u General\u C1\u Ai\u WS
。但是我的数据库排序规则是
SQL\u Latin1\u General\u C1\u Ai\u AS

所以,在我使用临时表的所有地方,我都遇到了排序错误

所有temp(#)表都是使用默认的collate
Latin1\u General\u C1\u Ai\u WS
创建的,因此无论我在哪里使用temp表,都会收到一个错误

我试着重新配置,但没用

因此,我在所有临时表中手动添加collate


请帮忙。。。。谢谢大家!

您可以按自己说的做,强制临时表与数据库具有相同的排序规则,或者更改数据库的默认排序规则。但后者很复杂,需要相当多的工作。请参阅以逐步了解相关信息。
如果我是你,我会继续使用这些步骤更改数据库的默认排序规则和实际排序规则。现在需要做更多的工作,但以后会省去很多麻烦。

在涉及临时表的比较操作中添加
COLLATE DATABASE\u DEFAULT
有什么困难?在混合排序环境中执行此操作是完全正常的。如果您不喜欢键入,则必须重建系统dbs,或者更糟的是,在用户数据库中删除数据并删除/添加字符和文本列,或者使用导出向导等编写脚本。我无法更改我的db Collate,因为它必须类似于生产,我必须更改主数据库的校对,这是我在本地环境中无法做到的。(主数据库/Temp Db设置临时表的排序)。所以我需要更新主数据库和临时数据库中的Collate。否则,我无法更改2000+SP内部使用的临时表,这会导致错误。因此,答案是当前实例的配置与生产实例的配置不同。周围没有工作。重建非prod系统dbs以匹配所需的排序规则或更改#temp表调用。请在以下重建命令中帮助我。我得到了异常“Microsoft.SqlServer.Setup.Chainer.Workflow.NoopWorkflowException”语法:Setup/QUIET/ACTION=REBUILDDATABASE/INSTANCENAME=system-02/sqlsysadmincounts=sa[/SAPWD=$Temp123][/SQLCOLLATION=SQL\u Latin\u General\u CP1\u Ci\u AS]我的命令:Setup.exe/QUIET/ACTION=REBUILDDATABASE/INSTANCENAME=system-02/sqlsysadmincounts=administrator/SAPWD=Temp123/SQLCOLLATION=SQL\u Latin1\u General\u CP1\u CI\u as在更改服务器排序规则-重建时,出现一般错误-在Summary.txt中查找详细信息。异常类型:Microsoft.SqlServer.Setup.Chainer.Workflow.NoopWorkflowException消息:安装程序执行后,SQL Server安装的状态未更改。有关详细信息,请查看summary.txt日志。请让我知道如何解决这个问题。这是我的本地环境,所以我仍然无法访问所有的内容。还有一件事,为什么我不能直接修改数据库-->主-->属性-->选项-->排序规则