sql server2008怎么修复

sql server2008怎么修复,第1张

1、修改数据库为紧急模式ALTER DATABASE Stock SET EMERGENCY

2、使数据库变为单用户模式ALTER DATABASE Stock SET SINGLE_USER

3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。DBCC CheckDB (Stock, REPAIR_ALLOW_DATA_LOSS)

4、使数据库变回为多用户模式ALTER DATABASE Stock SET MULTI_USER1:重新建立一个,一样的数据库,路径名称,文件都一样哈!

就是还原数据库吧,可以参考如下 *** 作:

首先,当然是要备份好一份SQL的数据文件通常我们讲的还原数据库是指文件到数据库,而在这里,SQL2000,备份的文件可以还原到高版本的SQL server上,而高版备份文件却还原不了低版本的SQL server下面我们来 *** 作一次给大家看,因为我的备份文件很大,20G左右,有点慢

登陆SQL Server Management Studio管理器,然后右击数据库-选择还原数据库:

这里首先写好数据库名-选择源设备-文件-添加数据库文件(文件名是以.bak结尾的备份文件);然后确定:

这里便可以看这个备份文件的基本内容;备份日期,备份类型,数据库名等;

然后我们下一步完成还原;这里通常会有一个报错,超过所有数据库大小达到10G会还原失败,我查了一下资料:

解决办法:

1、选中该数据库“右键”选择【属性】;

2、在d出的对话框中选择【选项 】,然后在右侧列表找到【状态】下的【限制访问】:将状态值改为“Multiple”或者“MULTI_USER” ,点击【确定】保存就可以了!

主要步骤如下:

1. 查询被标记的数据库

USE master

GO

SELECT NAME,STATE_DESC FROM SYS.DATABASES

WHERE STATE_DESC='SUSPECT'

GO

2. 设置为紧急状态EMERGENCY,此时数据库可以有一个用户连接。由于本次数据库比较大,就没有继续向下 *** 作,我的做法是写了脚步,把数据逐个的导出到另外一个库。

有部分表,数据不全,查询失败,通过限制条件,逐步把可以查询出来的导出来。

USE master

GO

ALTER DATABASE BPO SET EMERGENCY

GO

3.检查数据库

DBCC CHECKDB (BPO)

GO

4. 设置用户

ALTER DATABASE BPO SET SINGLE_USER WITH ROLLBACK IMMEDIATE

GO

5. 修复

DBCC CHECKDB (BPO, REPAIR_ALLOW_DATA_LOSS)

GO

6. 设置用户

ALTER DATABASE BPO SET MULTI_USER

GO


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/sjk/9804630.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-02
下一篇2023-05-02

发表评论

登录后才能评论

评论列表(0条)

    保存