仅从.mdf恢复MSSQL数据库方法
2015-08-13 09:28
274 查看
SQL SERVER 2000
1.开启数据库
2.从企业管理器,建一个同名的数据库
3.停止sql server
4.用原mdf文件覆盖新建库的数据库文件
5.重启sql server(这时数据库应该是置疑)
6.修改服务器设置:允许对系统目录进行直接修改
sp_configure 'allow updates',1 reconfigure with override
7.将数据库置为紧急状态:
update master.dbo.sysdatabases set status = 32768 where name = '数据库名'
8.删除新的ldf文件,重建日志:
dbcc rebuild_log('数据库名', 'f:/数据库名_log_new.ldf')--假设把新日志在f盘
9.update master.dbo.sysdatabases set status = 16 where name = '数据库名'
10.修改服务器设置:取消 允许对系统目录进行直接修改
sp_configure 'allow updates', 0 reconfigure with override
11.再使用检查工具修复错误
use [数据库名]
alter database [数据库名] set single_user with rollback immediate
dbcc checkdb ('数据库名',REPAIR_ALLOW_DATA_LOSS)
alter database [数据库名] set multi_user
执行完毕之后,如果还有错误,重复执行,直到没有错误为止。
SQL SERVER 2005(2008)
只有mdf文件的数据恢复方法
1.新建SharePoint_Config 数据库
2.停止SQL SERVER 2005,将原来的SharePoint_Config .mdf数据库文件覆盖刚新建的SharePoint_Config .mdf数据库文件,重新启动数据库,此时数据库中的表不能正常读取。
3.将数据库设置为紧急状态:
alter database SharePoint_Config set emergency
此时数据处于紧急状态,库中的表可以读取
4.执行如下代码:
use master
declare @databasename varchar(255)
set @databasename='SharePoint_Config' - 设置变量为数据名
exec sp_dboption @databasename, N'single', N'true' - 将数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false' - 将目标数据库置为多用户状态
数据库正常。
1.开启数据库
2.从企业管理器,建一个同名的数据库
3.停止sql server
4.用原mdf文件覆盖新建库的数据库文件
5.重启sql server(这时数据库应该是置疑)
6.修改服务器设置:允许对系统目录进行直接修改
sp_configure 'allow updates',1 reconfigure with override
7.将数据库置为紧急状态:
update master.dbo.sysdatabases set status = 32768 where name = '数据库名'
8.删除新的ldf文件,重建日志:
dbcc rebuild_log('数据库名', 'f:/数据库名_log_new.ldf')--假设把新日志在f盘
9.update master.dbo.sysdatabases set status = 16 where name = '数据库名'
10.修改服务器设置:取消 允许对系统目录进行直接修改
sp_configure 'allow updates', 0 reconfigure with override
11.再使用检查工具修复错误
use [数据库名]
alter database [数据库名] set single_user with rollback immediate
dbcc checkdb ('数据库名',REPAIR_ALLOW_DATA_LOSS)
alter database [数据库名] set multi_user
执行完毕之后,如果还有错误,重复执行,直到没有错误为止。
SQL SERVER 2005(2008)
只有mdf文件的数据恢复方法
1.新建SharePoint_Config 数据库
2.停止SQL SERVER 2005,将原来的SharePoint_Config .mdf数据库文件覆盖刚新建的SharePoint_Config .mdf数据库文件,重新启动数据库,此时数据库中的表不能正常读取。
3.将数据库设置为紧急状态:
alter database SharePoint_Config set emergency
此时数据处于紧急状态,库中的表可以读取
4.执行如下代码:
use master
declare @databasename varchar(255)
set @databasename='SharePoint_Config' - 设置变量为数据名
exec sp_dboption @databasename, N'single', N'true' - 将数据库置为单用户状态
dbcc checkdb(@databasename,REPAIR_ALLOW_DATA_LOSS)
dbcc checkdb(@databasename,REPAIR_REBUILD)
exec sp_dboption @databasename, N'single', N'false' - 将目标数据库置为多用户状态
数据库正常。
相关文章推荐
- MySQL AUTO_INCREMENT
- Linux下php安装Redis扩展
- 举例说明:Hadoop vs. NoSql vs. Sql vs. NewSql
- 一些常用的Sql语句
- NewSQL
- Windows下 Nginx+tomcat+memcached配置
- oracle 分组排序函数
- hadoop学习笔记之HiveSQL 数据查询
- Oracle为什么要“重振”存储?
- 一致性hash算法在memcached中的使用
- 一致性hash算法在memcached中的使用
- 内外网数据库同步方式
- iBatis2:SqlMap的配置
- 【转】oracle的正则表达式
- Mysql-5.5.32 cmake安装
- redis的安装
- SQL AND &OR 运算符
- 连接MySql的时候报1130的错误解决办法
- 【大型网站技术实践】初级篇:搭建MySQL主从复制经典架构
- 连接MySql的时候报1130的错误解决办法