-- 更改数据库选项,获取独占访问权限,每次只能有一个用户访问数据库。
EXEC sp_dboption 'BPos', 'single user', 'true'
GO
USE BPos
GO
--没用
--DBCC CHECKDB('BPos', REPAIR_ALLOW_DATA_LOSS)
--DBCC CHECKDB('BPos', REPAIR_REBUILD)
--DBCC CHECKTABLE('sysindexes', REPAIR_ALLOW_DATA_LOSS)
--DBCC CHECKTABLE('sysindexes', REPAIR_REBUILD)
--DBCC CHECKTABLE('ls_POSClient_CheckStockRec', REPAIR_ALLOW_DATA_LOSS)
--DBCC CHECKTABLE('ls_POSClient_CheckStockRec', REPAIR_REBUILD)
--未启用对系统目录的特殊更新。系统管理员必须重新配置 SQL Server 以允许这种操作。
sp_configure 'allow updates', 1
RECONFIGURE WITH OVERRIDE
GO
--需要根据实际情况分析,分析后,以下个表有问题
--正常情况下,会存在于sysobjects,sysobjects.ID存在于sysindexes
--而表ls_POSClient_CheckStockRec的sysobjects.ID在sysindexes中不存在
--ls_POSClient_PromotionMessage在 sysindexes中的first和root都存的不对
delete from sysobjects where type='u' and name='ls_POSClient_CheckStockRec'
delete from sysobjects where type='u' and name='ls_POSClient_PromotionMessage'
delete from sysindexes where id = 848509572
sp_configure 'allow updates', 0
RECONFIGURE WITH OVERRIDE
GO
EXEC sp_dboption 'BPos', 'single user', 'false'
GO