恢复.mdf 数据库步骤
在数据库操作中,有时会遇到无法访问数据的问题,这时,创建一个新的数据库并将数据迁移进去是一种有效的解决办法。下面将详细介绍两种恢复数据库的方法,它们针对的是没有日志文件或日志文件损坏的情况。
方法一:针对只有mdf文件没有日志文件的数据库恢复
1. 新建一个与原始数据库同名的数据库。
2. 将该数据库设置为脱机状态。
3. 删除原有的日志文件(.LDF),请注意,这一步非常关键,如果不删除日志文件,后续步骤将无法执行。
4. 使用查询分析器以超级用户身份登录,并执行以下系统级存储过程。
```sql
EXEC sp_detach_db @dbname = 'x' //@dbnam 为要还原的数据库
EXEC sp_attach_single_file_db @dbname = 'x', @physname = 'yyyy' //@physname 为.mdf文件路径
```
5. 将数据库设置为联机状态。
方法二:针对无日志文件或日志文件损坏的情况
1. 创建一个与原始数据库同名的数据库。
2. 停止SQL Server服务(注意,在此过程中不要分离数据库)。
3. 使用原始数据库的数据文件覆盖新建数据库的文件。
4. 重启SQL Server。
5. 此时在企业管理器中可能会出现一些置疑信息,先不用理会。执行一些针对SEO优化的语句(请确保修改其中的数据库名)。相关代码如下:
```sql
USE master;
GO
SP_CONFIGURE 'ALLOW UPDATES',1;
RECONFIGURE WITH OVERRIDE;
GO
UPDATE SYSDATABASES SET STATUS =32768 WHERE NAME='置疑的数据库名';
GO
sp_dboption '置疑的数据库名', 'single user', 'true';
GO
DBCC CHECKDB('置疑的数据库名');
GO
UPDATE sysdatabases set status =28 where name='置疑的数据库名';
GO
sp_configure 'allow updates', 0;
RECONFIGURE WITH OVERRIDE;
sp_dboption '置疑的数据库名', 'single user', 'false';
GO
```
6. 完成以上步骤后,通常就可以访问数据库中的数据了。如果数据库本身还有问题,可以考虑利用数据库的脚本创建一个新的数据库,并将数据导入其中。这样,你就可以成功恢复并访问数据库了。
以上两种方法都经过了实践验证,证明是有效的。在执行过程中,请确保按照步骤操作,并注意备份重要数据,以防万一。现在,你可以轻松访问数据库中的数据了。
编程语言
- 恢复.mdf 数据库步骤
- CI分页类首页、尾页不显示的解决方法
- jQuery中ajax的4种常用请求方式介绍
- PHP使用PHPExcel删除Excel单元格指定列的方法
- 详解Vue + Vuex 如何使用 vm.$nextTick
- jquery.multiselect多选下拉框实现代码
- WML学习之四 锚和任务
- php通过记录IP来防止表单重复提交方法分析
- php截取字符串并保留完整xml标签的函数代码
- Mysql高效分页详解
- php中出现空白页的原因及解决方法汇总
- eregi_replace与preg_replace 函数代码的用法比较
- javascript之分片上传,断点续传的实际项目实现详
- mysql日期处理函数实例解析
- jquery注册文本框获取焦点清空,失去焦点赋值的简
- Microsoft JET Database Engine(0x80004005)未指定错误的解决