回答

收藏

校对错误

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

我正在使用Microsoft SQL Server Management
. i& n; I5 j8 g9 F. F' p  qStudio。我有两个数据库,一个是系统数据库,它有master另一个是我的数据库CCTNS_CAS_DE_DB。当我试着用它的时候CCTNS_CAS_DE_DB在生成数据库工具报告时。/ R1 A; M" M: _% z* D' H/ H1 p2 |
我收到以下错误:
. E) l3 Q9 B6 F等于操作解决不了 Latin1_General_CI_AI”和“ SQL_Latin1_General_CP1_CI_AS排序规则之间的冲突
6 e0 h. ~! f6 H  ~7 F$ `  _5 j
我通过SQL
! g# M. N+ B5 k, FServer并检查了master将排序规则显示为数据库的属性,Latin1_General_CI_AI但是当我访问的时候CCTNS_CAS_DE_DB当数据库属性显示排序规则时SQL_Latin1_General_CP1_CI_AS。( n- _: K+ D! C8 |* Z; W# o4 I
我在网上搜索错误,但大多数解决方案都解释了如何更改具体表格的排名规则,但我没有遇到任何查询将数据库排名规则更改为Latin1_General_CI_AI。
, a, U9 y$ q. p3 P3 r, g+ X我遇到了一个查询:9 I& u# S0 _8 }  z. {5 W% J
ALTER DATABASE CCTNS_CAS_DE_DB COLLATE Latin1_General_CI_AI当我在SQL Server在此查询中,它引发了以下错误:% P& {& `% W: ^! e; K
新闻5030,等级16,状态2,行1
- `2 {) [4 r; J. v1 i0 \    在执行此操作之前,无法完全锁定数据库。1 j9 m  m$ S8 k' H
    消息5072,级别16,状态1,第一行
  Q- D$ K9 n  C4 F    ALTER DATABASE失败。数据库’CCTNS_CAS_DE_DB’默认排序规则不能设置为Latin1_General_CI_AI。
; d8 c9 s: Q4 q. P/ `3 b, ]# _
我知道这个问题已经在这里发布了,但我认为是在不同的背景下。  M& U3 O5 |4 i* Q% U& V% B8 ~
                                                                0 v) w2 X' c/ I! u" P
    解决方案:                                                                ; Y3 [" T+ M+ ]5 `+ |: t
                                                                这是您问题的最大暗示:
. n" |( q' U& P新闻5030,级别16,状态2,行1不能完全锁定数据库来执行此操作。
; Y1 `3 l9 V) f% v% Q$ X2 b你所需要做的就是运行ALTERDATABASE在句子之前,将数据库设置为单用户模式,然后在完成后将数据库设置为多用户模式。这将锁定数据库,并使其仅用于当前连接,这将使您成功运行ALTERDATABASE ... COLLATE语句。
4 {& l9 t3 x/ d5 X, y3 ~您可以使用SQL Server Management Studio或T-SQL命令执行此操作。
分享到:
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则