数据库恢复的三种方式

数据库恢复的三种方式数据库恢复的三种方式

大家好,又见面了,我是你们的朋友全栈君。

1.运行SQL脚本

    如果我们的SQL脚本比较小的话,我们可以选择在查询分析器里面直接运行,但是当我们的脚本超过100M时,这样做就会出现“引发类型为“System.OutOfMemoryException”的异常。解决这个问题有两种基本思想,一种是把原本很大的SQL脚本分成一个个小的脚本,比如按表划分,但是聪明的人一般都不会选择这么做,因为这样很复杂,还容易出错。另一种根本的解决方案就是在dos下使用osql命令导入。

osql -E -i input_file   
osql -E -i C:\users\myfile.sql

    关于osql命令,大家感兴趣的可以深入学习哦。

2.恢复bak文件

    具体的过程就不多说了,大家可以参考网上的教程。
    在恢复的过程中遇到了一个问题:
【System.Data.SqlClient.SqlError: 该数据库是在运行版本 10.50.1600 的服务器上备份的。该版本与此服务器(运行版本 10.00.1600)不兼容。请在支持该备份的服务器上还原该数据库,或者使用与此服务器兼容的备份。 (Microsoft.SqlServer.Smo)】
数据库恢复的三种方式
    主要原因是bak文件是SQL Server2000备份的,在SQL Server2012上恢复就会出现这个问题。
其中一个解决办法是先将SQL Server2000备份的文件在SQL2008上恢复,然后再备份,将在SQL Server2008上备份的文件在SQL Server2012上恢复。
如果这样做还不可以的话,我们就可以使用第3种方式。

3.附加MDF文件


    有时候会遇到这样一个问题:
    【提示无法打开物理文件,操作系统错误5:”5(拒绝访问)” 错误:5120】。
    解决方案: 数据库当前账户对存放.mdf文件的文件夹权限不足,该文件夹权限角色加入Everyone。并赋予读写权限即可。(参考http://www.jb51.net/article/99452.htm



版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/105682.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号