SQLSERVER 问题

(1)显示“正在恢复”

选择不回滚未提交的事物时会有个现象就是数据库右边一直显示正在还原,并不可用:

解决方法:restore database Test2 with recovery

如果要不断恢复后面的日志文件,的确需要使数据库处于“正在还原状态”,

这通常是执行下面命令:restore database dbname with norecovery

(2)显示“正在恢复”

解决方法:

1、关闭数据库的服务。

2、把数据库文件(物理文件)剪切出来。

3、重新启动数据库的服务。进入SqlSever删除数据库。因为文件已经剪切走了。所以不会删除文件。

4、把数据库文件拷回来,重新附加就可以了。

(3)显示“!”可疑状态,显示“备用/只读”

解决方法:执行如下语句修复数据库

--DataBaseName为修复的数据名
--尝试不丢失数据的修复:DBCC CHECKDB('fdshop',REPAIR_REBUILD)。
--尝试可能丢失数据的修复:DBCCCHECKDB('fdshop',REPAIR_ALLOW_DATA_LOSS)。


USE MASTER
GO
--1)使用指定值强制重新配置:(1、0表示为真假)
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
--2)设置为紧急状态:
ALTER DATABASE [DataBaseName] SET EMERGENCY
GO
--3)设置为单用户模式:
ALTER DATABASE [DataBaseName] SET single_user
--或者:Sp_dboption 'DataBaseName', 'single user', 'true'
GO
--4)修复发现的错误:
DBCC CHECKDB('DataBaseName','REPAIR_ALLOW_DATA_LOSS')
GO
--5)设置为联机、在线:
ALTER DATABASE [DataBaseName] SET ONLINE
GO
sp_configure 'allow updates', 0 reconfigure with override
GO
sp_dboption 'DataBaseName', 'single user', 'false'
GO
发布了18 篇原创文章 · 获赞 16 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/liangpingguo/article/details/103885427