如何修改SQL Server 2000排序规则(未能排它地锁定数据库以执行该操作)

本文介绍了解决SQLServer2000中因排序规则导致的中文字符乱码问题的方法。通过排它性锁定数据库并修改配置参数,最终成功将排序规则从SQL_Latin1_General_CP1_CI_AS更改为Chinese_PRC_CI_AS。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

如何修改SQL Server 2000排序规则(未能排它地锁定数据库以执行该操作)

因为数据库服务器排序规则问题所以varchar类型存取的中文字符出现乱码,需要将SQL_Latin1_General_CP1_CI_AS修改为Chinese_PRC_CI_AS

alter database MyDB collate Chinese_PRC_CI_AS

消息 5030,级别 16,状态 2,第 1 行
未能排它地锁定数据库以执行该操作。
消息 5072,级别 16,状态 1,第 1 行

ALTER DATABASE 失败。无法将数据库 'MyDB' 的默认排序规则设置为 'Chinese_PRC_CI_AS'。


--允许对系统目录直接进行修改
use master
go
sp_configure 'allow updates',1
go
reconfigure with override
go

--use MyDB
--go
--sp_lock

--排它地锁定数据库,并以单用户身份进行操作
use master
go
alter database MyDB set single_user --with rollback immediate
go
alter database MyDB COLLATE Chinese_PRC_CI_AS 
go
--ALTER TABLE dbo.MyDB ALTER COLUMN col1 varchar(10) COLLATE Chinese_PRC_CI_AS
--go
--exec   sp_renamedb   'MyDB ', 'MyDB_New'
--go
alter database MyDB set multi_user
go

--取消允许对系统目录直接进行修改
use master
go
sp_configure 'allow updates',0
go
reconfigure with override
go

转载请务必保留以下信息,谢谢!
作者主页http://blog.youkuaiyun.com/cadenza7
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值