SQL 6.5在备份时磁盘空间不足,备份中断后SQL数据库挂起,数据库修复方法(二)

2014-11-24 13:29:16 · 作者: · 浏览: 2
它地锁定数据库以执行该操作。

DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。

说明您的其他程序正在使用该数据库,如果刚才您在F步骤中使用SQL Server Enterprise Manager打开了test库的系统表,那么退出SQL Server Enterprise Manager就可以了。

正确执行完成的提示应该类似于:

警告: 数据库'test' 的日志已重建。已失去事务的一致性。应运行DBCC CHECKDB 以验证物理一致性。将必须重置数据库选项,并且可能需要删除多余的日志文件。

DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。

此时打开在SQL Server Enterprise Manager里面会看到数据库的状态为“只供DBO使用”。此时可以访问数据库里面的用户表了。

*/

--H.验证数据库一致性(可省略)

dbcc checkdb('test')

/*一般执行结果如下:

CHECKDB 发现了0 个分配错误和0 个一致性错误(在数据库'test' 中)。

DBCC 执行完毕。如果DBCC 输出了错误信息,请与系统管理员联系。*/

--I.设置数据库为正常状态

sp_dboption 'test','dbo use only','false'

--如果没有出错,那么恭喜,现在就可以正常的使用恢复后的数据库啦。

--J.最后一步,我们要将步骤E中设置的“允许对系统目录直接修改”一项恢复。因为平时直接操作系统表是一件比较危险的事情。当然,我们可以在SQL Server Enterprise Manager里面恢复,也可以使用如下语句完成

sp_configure 'allow updates',0

go

reconfigure with override

go

--日志文件出现问题(丢失或文件格式非法),怎么使数据库恢复正常

--如果用sp_attach_single_file 'TEST','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.mdf'失败则需要用下列步骤完成

--1.将置疑的数据库分离,将mdf文件移走或改名!

sp_detach_db 'TEST'

--2.重新在原来目录下建立同名的数据库TEST

--3.停掉SQL Service,将先前的mdf文件拷贝回来覆盖(或改名),删除原来的log文件(或改名)

--4.启动SQL Service(否则下面的语句没办法运行)

--5.将数据库设成紧急模式(status=32768)

sp_configure 'allow updates',1

reconfigure with override

update sysdatabases set status=32768 where name='TEST'

--重新建立日志文件

DBCC traceon(3604)

dbcc rebuild_log('test','C:\Program Files\Microsoft SQL Server\MSSQL\Data\test_log.ldf')

Go

--6.重新启动SQL Service

--7.将数据库设置成单用户模式(下面三个语句均可)

--sp_dboption 'TEST','single user','true'

update sysdatabases set status=4096 where name='TEST'

--alter database TEST set Single_user

--8.检查数据库的完整性和一致性,OK了就可以用了

DBCC CheckDB(TEST)

--9.将数据的访问权限设置成多用户模式

sp_dboption 'TEST','single user','false'

--或alter database TEST set multi_user

--10.关闭高级选项

sp_configure 'allow updates',0

reconfigure with override

--结束

SQL Server安装挂起

在安装sql server时出现“以前的某个程序安装已在安装计算机上创建挂起的文件操作。运行安装程序之前必须重新启动计算机”错误。无法进行下去。 参考有关资料后,以下步骤基本可以解决:

1)添加/删除程序中彻底删除sql server。

2)将没有删除的sql server目录也删除掉。

3)打开注册表编辑器,在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\ Session Manager中找到PendingFileRenameOperations项目,并删除它。这样就可以清除安装暂挂项目。

4)删除注册表中跟sql server相关的键

注意:

要是不想重新启动就顺利安装,一般来说按照第三步就可以解决……