zoukankan      html  css  js  c++  java
  • SQL2000中用backup 备份数据库

    SQL2000中用backup 备份数据库

    但在用restore命令恢复时,用只备份一次的bak文件恢复可以,但如果是保存的几次备份数据的bak文件则出错,为什么会出错?怎么解决?
    问题补充:我的备份语句,backup database test to disk='f:\1.bak'
    在查询分析器中执行一次成功,1.bak为1M,再执行一次,1.bak变为2M,
    我用 restore database test from disk='f:\1.bak'还原时
    系统提示:
    服务器: 消息 3201,级别 16,状态 2,行 1
    无法打开备份设备 'f:\1.bak'。设备出现错误或设备脱机。详细信息请参阅 SQL Server 错误日志。
    服务器: 消息 3013,级别 16,状态 1,行 1
    RESTORE DATABASE 操作异常终止。

    请问这是什么原因?
     
     
     
     
    首先确保你在备份的时候没有使用with Format或with init对现有备份文件进行覆盖操作。
    对于一个备份文件有多个备份集的情况,在还原的时候没有指定还原哪个备份集,默认是还原最早的备份集。
    在还原之前,使用如下命令查看备份集情况
    restore headeronly from disk='备份的完整路径'
    结果集中Postion就表示的备份集的备份先后顺序,一般后备份的postion的值比较的。
    这时候在restore命令里加上with file=文件号(就是postion的值),就还原相应的备份集了。
    比如还原postion为2的备份集
    restore database 数据库名 from disk='备份的完整路径' with file=2
     
     
     
     
    --数据库复制还原模板(1)
    RESTORE DATABASE 数据库名
    FROM DISK='***.dmp' --dump文件路径
    WITH MOVE '数据库名_Data' TO '***.mdf', --待恢复数据库的mdf文件路径
    MOVE '数据库名_Log' TO '***.ldf' --待恢复数据库的ldf文件路径

    --数据库复制还原模板(2)
    RESTORE DATABASE 数据库名
    FROM DISK='***.DMP'

    --查看设备的逻辑文件名
    RESTORE FILELISTONLY FROM DISK='***.DMP'

    --备份数据库到设备
    BACKUP DATABASE 数据库名
    TO DISK='***.DMP' --带备份的数据库dump文件路径

    --清掉数据库日志
    DUMP TRAN 数据库名 WITH NO_LOG
  • 相关阅读:
    剑指offer 21:包含min函数的栈
    导航页的开发--手机web app开发笔记(四)
    manifest.json 解析--手机web app开发笔记(三-2)
    manifest.json 解析--手机web app开发笔记(三-1)
    默认文档解析--手机web app开发笔记(二)
    手机web app开发笔记
    JS开发备忘笔记-- Javascript中document.execCommand()的用法
    JS时间格式转换
    HBuilderx 模拟器调试设置
    截图小工具开发笔记
  • 原文地址:https://www.cnblogs.com/nianshi/p/677112.html
Copyright © 2011-2022 走看看