By MBPDLPayday Loans

修改数据库COLLATION时候的锁

QUEST的LITESPEED出问题了, 完整备份一切正常, 但是差异备份和事务备份总报错. 找原因的时候顺便发现LiteSpeed连数据库的logshipping有问题. 尽管这可能不是导致问题的根本原因, 但还是解掉比较好, 联系QUEST的Support, 他们能给出的建议是重新把instance配置一下.

配置走到最后一步果然有问题, LiteSpeed没有用数据库默认的COLLATE, 这样导致在配置的最后一步发生了冲突没法进行下去. 然后QUEST回信说试试看修改一下数据库的COLLATION, 使之与几个系统数据库的COLLATION一致. 虽然觉得有点不靠谱, 这样做实际上已经创建表的排序规则是无法改变的. 但软件是人家做的, 试试看吧.

直接去alter database, 返回一个排它锁错误:

Server: Msg 5030, Level 16, State 2, Line 1
The database could not be exclusively locked to perform the operation.

嗯, 烦不了了, 先改成单用户模式吧:

ALTER DATABASE db_database SET SINGLE_USER WITH ROLLBACK IMMEDIATE

再alter, 这下ok了.

之后再改回来:

ALTER DATABASE db_database SET MULTI_USER

嗯, LiteSpeed也很怪. 这样糊弄一下, 居然就能继续配置下去了…

最后, 顺便记一个查数据库属性的存储过程: DATABASEPROPERTYEX

Leave a Reply