回答

收藏

校对错误

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

我正在使用Microsoft SQL Server Management
7 ~& t& R9 y* u# qStudio。我有两个数据库,一个是系统数据库,它有master另一个是我的数据库CCTNS_CAS_DE_DB。当我试着用它的时候CCTNS_CAS_DE_DB在生成数据库工具报告时。
; g! u! L/ v5 o! i  S% q2 V我收到以下错误:
# Y$ o! [& V. E1 v等于操作解决不了 Latin1_General_CI_AI”和“ SQL_Latin1_General_CP1_CI_AS排序规则之间的冲突
0 I) p  t' ~2 K. c3 P) ]) f' ^8 ]
我通过SQL
" u9 \; I3 o! h6 I* P' jServer并检查了master将排序规则显示为数据库的属性,Latin1_General_CI_AI但是当我访问的时候CCTNS_CAS_DE_DB当数据库属性显示排序规则时SQL_Latin1_General_CP1_CI_AS。9 _3 h5 W. p* M/ E- X: Z8 i
我在网上搜索错误,但大多数解决方案都解释了如何更改具体表格的排名规则,但我没有遇到任何查询将数据库排名规则更改为Latin1_General_CI_AI。
% X0 h1 e% m) M+ p我遇到了一个查询:
/ @9 U; N9 u* {7 n/ c9 _ALTER DATABASE CCTNS_CAS_DE_DB COLLATE Latin1_General_CI_AI当我在SQL Server在此查询中,它引发了以下错误:
" Y& M# ]; S6 \. A( D新闻5030,等级16,状态2,行1
& M6 l( p8 I' ]5 c" F% ~    在执行此操作之前,无法完全锁定数据库。* b, H5 p! \# K% x: B% N
    消息5072,级别16,状态1,第一行. l) L5 C0 _6 M# U5 o
    ALTER DATABASE失败。数据库’CCTNS_CAS_DE_DB’默认排序规则不能设置为Latin1_General_CI_AI。
: `- B! T) K6 L1 N" J8 p% |
我知道这个问题已经在这里发布了,但我认为是在不同的背景下。
0 o/ r0 Z9 G9 `* ~5 I6 k! T                                                                . w8 ~9 m! p6 v3 }' g. d/ W
    解决方案:                                                                + S8 W, `4 _3 K5 K4 S  k6 \
                                                                这是您问题的最大暗示:
# X' `2 k' w- m% E7 o5 D/ D/ x新闻5030,级别16,状态2,行1不能完全锁定数据库来执行此操作。
% \. h7 @: K) U' G& l; |1 |你所需要做的就是运行ALTERDATABASE在句子之前,将数据库设置为单用户模式,然后在完成后将数据库设置为多用户模式。这将锁定数据库,并使其仅用于当前连接,这将使您成功运行ALTERDATABASE ... COLLATE语句。( \& H8 C, `  j- a
您可以使用SQL Server Management Studio或T-SQL命令执行此操作。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则