stephen wang

stephen的记事本。

导航

« 生活小窍门拒绝了对对象 '表名(数据库 '数据库名',所有者 'dbo')的 SELECT 权限。 »

MSSQL数据库质疑的解决方案

今天一个客户来电话说VPS上的MSSQL数据库质疑了,不知道怎么解决了,结合百度,GOOGLE的结果,做了个很简单的操作就恢复了,步骤如下:

1、停止数据库删除数据库对应的日志文件

2、修改服务器设允许直接操作MSSQL系统表(以在SQL Server Enterprise Manager里面选择数据库服   务器,按右键,选择"属性",在"服务器设置"页面中将"允许对系统目录直接修改"一项。也可以 使用如下语句来实现。 

 use master  
 go  
 sp_configure 'allow updates',1  
 go  
 reconfigure with override  
 go 

3、设置数据库为紧急模式,此模式可以看到表里面的内容也可以直接在紧急情况下吧数据库复制走,但是有一点,复制走不带存储过程。命令如下:

update sysdatabases set status=-32768 where dbid=DB_ID('数据库名')   

4、下面执行真正的恢复*作,重建数据库日志文件  
 dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')(根据自己的实际情况修改路径与日志文件名)

5、验证数据库一致性(可省略)  
 dbcc checkdb('test')  

6、设置数据库为正常状态  
 sp_dboption 'test','dbo use only','false'  
 如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。 

7、最后一步,我们要将步骤E中设置的"允许对系统目录直接修改"一项恢复。因为平时直接*作系统表  
 是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用  
 如下语句完成  
 sp_configure 'allow updates',0  
 go  
 reconfigure with override  
 go  

 

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

Category

Recent Comments

Recent Article

Powered By Z-Blog 1.8 Walle Build 100427

Copyright xxxx-xxxx Your WebSite. Some Rights Reserved.