回答

收藏

校对错误

技术问答 技术问答 430 人阅读 | 0 人回复 | 2023-09-14

我正在使用Microsoft SQL Server Management
( i( d1 l0 g0 [8 j1 oStudio。我有两个数据库,一个是系统数据库,它有master另一个是我的数据库CCTNS_CAS_DE_DB。当我试着用它的时候CCTNS_CAS_DE_DB在生成数据库工具报告时。
( A5 a1 q) H5 h/ V9 V" S6 ?我收到以下错误:, U# i. O* M! H  g9 {! u
等于操作解决不了 Latin1_General_CI_AI”和“ SQL_Latin1_General_CP1_CI_AS排序规则之间的冲突& K, \9 P4 I0 D, |2 s0 q4 I
我通过SQL6 x3 V2 F. a/ a( p5 k. H
Server并检查了master将排序规则显示为数据库的属性,Latin1_General_CI_AI但是当我访问的时候CCTNS_CAS_DE_DB当数据库属性显示排序规则时SQL_Latin1_General_CP1_CI_AS。$ M2 v  U6 J# u$ U4 I
我在网上搜索错误,但大多数解决方案都解释了如何更改具体表格的排名规则,但我没有遇到任何查询将数据库排名规则更改为Latin1_General_CI_AI。
- M" w; ~1 V+ [) C我遇到了一个查询:
1 ^* o" ^5 F2 Y9 qALTER DATABASE CCTNS_CAS_DE_DB COLLATE Latin1_General_CI_AI当我在SQL Server在此查询中,它引发了以下错误:+ @5 A3 T" A* Z5 P7 r; C" {
新闻5030,等级16,状态2,行1
6 B/ j# Q0 I; Z7 p+ o0 Z8 r    在执行此操作之前,无法完全锁定数据库。
2 R1 O/ k) m" y6 t3 p( b1 K2 x8 Z    消息5072,级别16,状态1,第一行
; z) {+ z& m$ v4 X5 ]0 s    ALTER DATABASE失败。数据库’CCTNS_CAS_DE_DB’默认排序规则不能设置为Latin1_General_CI_AI。
% C3 {  Q6 q1 Y4 ?, X- Q+ t
我知道这个问题已经在这里发布了,但我认为是在不同的背景下。
1 ]5 j0 v* {/ A/ O6 I                                                               
) g3 J! c- |; t5 M0 S6 K    解决方案:                                                               
) i: _/ t  ^2 t6 ?" n8 }6 K7 B                                                                这是您问题的最大暗示:
- g: I4 {! Y- B$ ^# u新闻5030,级别16,状态2,行1不能完全锁定数据库来执行此操作。& ^" n7 l% E. \, \$ ]# a
你所需要做的就是运行ALTERDATABASE在句子之前,将数据库设置为单用户模式,然后在完成后将数据库设置为多用户模式。这将锁定数据库,并使其仅用于当前连接,这将使您成功运行ALTERDATABASE ... COLLATE语句。
8 e' `  V: l, J2 a+ n4 j$ H6 ^# l您可以使用SQL Server Management Studio或T-SQL命令执行此操作。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则