如何修改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.csdn.net/cadenza7
本文介绍了解决SQLServer2000中因排序规则导致的中文字符乱码问题的方法。通过排它性锁定数据库并修改配置参数,最终成功将排序规则从SQL_Latin1_General_CP1_CI_AS更改为Chinese_PRC_CI_AS。
2546

被折叠的 条评论
为什么被折叠?



