Sql 排序错误
我正在使用Microsoft SQL Server Management Studio。我有两个数据库,一个是系统数据库,它有主数据库,另一个是我的数据库,名为Sql 排序错误,sql,sql-server-2008-r2,Sql,Sql Server 2008 R2,我正在使用Microsoft SQL Server Management Studio。我有两个数据库,一个是系统数据库,它有主数据库,另一个是我的数据库,名为CCTNS\u CAS\u DE\u DB。当我试图通过使用CCTNS\u CAS\u DE\u DB数据库的工具生成报告时 我得到以下错误: 无法解决等于操作中“Latin1_General_CI_AI”和“SQL_Latin1_General_CP1_CI_AS”之间的排序规则冲突 我检查了SQL Server并检查了主数据库的属性,
CCTNS\u CAS\u DE\u DB
。当我试图通过使用CCTNS\u CAS\u DE\u DB
数据库的工具生成报告时
我得到以下错误:
无法解决等于操作中“Latin1_General_CI_AI”和“SQL_Latin1_General_CP1_CI_AS”之间的排序规则冲突
我检查了SQL Server并检查了主数据库的属性,它显示排序规则为Latin1\u General\u CI\u AI
,但当我转到CCTNS\u CAS\u DE\u DB
数据库的属性时,它显示排序规则为SQL\u Latin1\u General\u CP1\u CI\u as
我在网上搜索了错误,但大多数解决方案都告诉我如何更改特定表的排序规则,但我没有遇到任何将我的数据库排序规则更改为Latin1\u General\u CI\u AI
我遇到一个问题是:
ALTER DATABASE CCTNS_CAS_DE_DB COLLATE Latin1_General_CI_AI
当我在SQL Server中运行此查询时,它抛出了以下错误:-
味精5030,第16级,状态2,第1行无法以独占方式锁定数据库以执行该操作。
Msg 5072,第16级,状态1,第1行
ALTER数据库失败。数据库“CCTNS_CAS_DE_DB”的默认排序规则不能设置为Latin1_General_CI_AI
我知道这个问题已经发布在这里了,但我想这是另一个背景。这里是你问题的最大提示: Msg 5030,第16级,状态2,第1行无法以独占方式锁定数据库以执行该操作 您需要做的是在运行
alterdatabase
语句之前将数据库设置为单用户模式,然后在完成后将其设置回多用户模式。这将锁定数据库并使其仅对当前连接可用,这将允许您成功运行alterdatabase。。。核对
语句
您可以这样做。需要先将其设置为单用户
ALTER DATABASE [database] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [database] COLLATE SQL_1xCompat_CP850_CI_AS;
GO
ALTER DATABASE [database] SET MULTI_USER;
GO
工作得很好谢谢你
ALTER DATABASE [database] SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO
ALTER DATABASE [database] COLLATE SQL_1xCompat_CP850_CI_AS;
GO
ALTER DATABASE [database] SET MULTI_USER;
GO
我执行了以下查询(将数据库CCTNS_CAS_DE_DB COLLATE Latin1_General_CI_AI;GO)并能够将我的数据库CCTNS_CAS_DE_DB的排序规则从SQL_Latin1_General_CP1_CI_更改为Latin1_General_CI_AI,但在生成报告时显示相同的错误,即无法解决两者之间的排序冲突“拉丁语通用词”和“SQL拉丁语通用词CP1通用词”“在等于操作中。感谢您没有假设我知道设置单用户操作的SQL!感谢您没有假设我知道SQL设置为多用户操作!如果在2016年,微软能够将这个简单的过程构建到SSM中,而不是像他们那样让它变得愚蠢,那将是一件多么美好的事情。这是一个完全重复的过程。请不要重复现有答案和/或将感谢信作为答案。相反,一旦你有足够的声誉,就投票选出对你帮助最大的答案。