Nit*_*tin 36 sql sql-server-2008-r2
我正在使用Microsoft SQL Server Management Studio.我有两个数据库,一个是系统数据库,它有master数据库,另一个是我的数据库CCTNS_CAS_DE_DB.当我尝试通过使用CCTNS_CAS_DE_DB数据库的工具生成报告时.
我收到以下错误:
在等于操作中无法解决"Latin1_General_CI_AI"和"SQL_Latin1_General_CP1_CI_AS"之间的排序规则冲突
我浏览了SQL Server并检查了主数据库的属性,它显示了排序规则,Latin1_General_CI_AI但是当我转到CCTNS_CAS_DE_DB数据库的属性时,它显示排序规则为SQL_Latin1_General_CP1_CI_AS.
我在线搜索错误,但大多数解决方案告诉如何更改特定表的排序规则,但我没有遇到任何查询,这将更改我的数据库的排序规则Latin1_General_CI_AI.
我遇到一个问题是: -
ALTER DATABASE CCTNS_CAS_DE_DB COLLATE Latin1_General_CI_AI
Run Code Online (Sandbox Code Playgroud)
当我在SQL Server中运行此查询时,它抛出以下错误: -
消息5030,级别16,状态2,行1
无法独占锁定数据库以执行操作.
Msg 5072,Level 16,State 1,Line 1
ALTER DATABASE失败.数据库'CCTNS_CAS_DE_DB'的默认排序规则不能设置为Latin1_General_CI_AI.
我知道这个问题已经发布在这里,但我认为这是在不同的背景下.
RAY*_*RAY 101
首先需要将其设置为SINGLE_USER.
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
Run Code Online (Sandbox Code Playgroud)
Ada*_*ras 20
这是您问题的最大提示:
消息5030,级别16,状态2,行1无法独占锁定数据库以执行操作.
您需要做的是在运行ALTER DATABASE语句之前将数据库设置为单用户模式,然后在完成后将其设置回多用户模式.这将锁定数据库并使其仅可用于当前连接,这将允许您成功运行该ALTER DATABASE ... COLLATE语句.
您可以使用SQL Server Management Studio或T-SQL命令执行此操作.
| 归档时间: |
|
| 查看次数: |
38653 次 |
| 最近记录: |