设为首页收藏本站Access中国

Office中国论坛/Access中国论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

返回列表 发新帖
查看: 3062|回复: 0
打印 上一主题 下一主题

[与其它组件] [转帖]SQL SERVER还原数据库的经典做法

[复制链接]

点击这里给我发消息

跳转到指定楼层
1#
发表于 2004-7-6 09:38:00 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
转自:http://www.winmag.com.cn/forum/bestview.asp?boardid=11&id=612

说明  所有的示例均假定已执行了完整数据库备份。





A. 还原完整数据库





说明  MyNwind 数据库仅供举例说明。





下例显示还原完整数据库备份。
  1. RESTORE DATABASE MyNwind

  2.    FROM MyNwind_1
复制代码
B. 还原完整数据库备份和差异备份



下例还原完整数据库备份后还原差异备份。另外,下例还说明如何还原媒体上的另一个备份集。差异备份追加到包含完整数据库备份的备份设备上。
  1. RESTORE DATABASE MyNwind

  2.    FROM MyNwind_1

  3.    WITH NORECOVERY

  4. RESTORE DATABASE MyNwind

  5.    FROM MyNwind_1

  6.    WITH FILE = 2
复制代码
C. 使用 RESTART 语法还原数据库



下例使用 RESTART 选项重新启动因服务器电源故障而中断的 RESTORE 操作。
  1. -- This database RESTORE halted prematurely due to power failure.

  2. RESTORE DATABASE MyNwind

  3.    FROM MyNwind_1

  4. -- Here is the RESTORE RESTART operation.

  5. RESTORE DATABASE MyNwind

  6.    FROM MyNwind_1 WITH RESTART
复制代码
D. 还原数据库并移动文件



下例还原完整数据库和事务日志,并将已还原的数据库移动到 C:\Program Files\Microsoft SQL Server\MSSQL\Data 目录下。
  1. RESTORE DATABASE MyNwind

  2.    FROM MyNwind_1

  3.    WITH NORECOVERY,

  4.       MOVE 'MyNwind' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.mdf',

  5.       MOVE 'MyNwindLog1' TO 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\NewNwind.ldf'

  6. RESTORE LOG MyNwind

  7.    FROM MyNwindLog1

  8.    WITH RECOVERY
复制代码
E. 使用 BACKUP 和 RESTORE 创建数据库的复本



下例显示使用 BACKUP 和 RESTORE 语句创建 Northwind 数据库的复本。MOVE 语句使数据和日志文件还原到指定的位置。RESTORE FILELISTONLY 语句用于确定待还原数据库内的文件数及名称。该数据库的新复本称为 TestDB。有关更多信息,请参见 RESTORE FILELISTONLY。
  1. BACKUP DATABASE Northwind

  2.    TO DISK = 'c:\Northwind.bak'

  3. RESTORE FILELISTONLY

  4.    FROM DISK = 'c:\Northwind.bak'

  5. RESTORE DATABASE TestDB

  6.    FROM DISK = 'c:\Northwind.bak'

  7.    WITH MOVE 'Northwind' TO 'c:\test\testdb.mdf',

  8.    MOVE 'Northwind_log' TO 'c:\test\testdb.ldf'

  9. GO
复制代码
F. 使用 STOPAT 语法还原到即时点和使用多个设备进行还原



下例将数据库还原到其在 1998 年 4 月 15 日中午 12 点时的状态,并显示涉及多个日志和多个备份设备的还原操作。
  1. RESTORE DATABASE MyNwind

  2.    FROM MyNwind_1, MyNwind_2

  3.    WITH NORECOVERY

  4. RESTORE LOG MyNwind

  5.    FROM MyNwindLog1

  6.    WITH NORECOVERY

  7. RESTORE LOG MyNwind

  8.    FROM MyNwindLog2

  9.    WITH RECOVERY, STOPAT = 'Apr 15, 1998 12:00 AM'
复制代码
G. 使用 TAPE 语法还原



下例显示从 TAPE 备份设备还原完整数据库备份。
  1. RESTORE DATABASE MyNwind

  2.    FROM TAPE = '\\.\tape0'
复制代码
H. 使用 FILE 和 FILEGROUP 语法还原



下例还原一个包含两个文件、一个文件组和一个事务日志的数据库。
  1. RESTORE DATABASE MyNwind

  2.    FILE = 'MyNwind_data_1',

  3.    FILE = 'MyNwind_data_2',

  4.    FILEGROUP = 'new_customers'

  5.    FROM MyNwind_1

  6.    WITH NORECOVERY

  7. -- Restore the log backup.

  8. RESTORE LOG MyNwind

  9.    FROM MyNwindLog1
复制代码
I. 将事务日志还原到标记处



下例显示将事务日志还原到名为"RoyaltyUpdate"的标记处。
  1. BEGIN TRANSACTION RoyaltyUpdate

  2.    WITH MARK 'Update royalty values'

  3. GO

  4. USE pubs

  5. GO

  6. UPDATE roysched

  7.    SET royalty = royalty * 1.10

  8.    WHERE title_id LIKE 'PC%'

  9. GO

  10. COMMIT TRANSACTION RoyaltyUpdate

  11. GO

  12. --Time passes. Regular database

  13. --and log backups are taken.

  14. --An error occurs.

  15. USE master

  16. GO



  17. RESTORE DATABASE pubs

  18. FROM Pubs1

  19. WITH FILE = 3, NORECOVERY

  20. GO

  21. RESTORE LOG pubs

  22.    FROM Pubs1

  23.    WITH FILE = 4,

  24.    STOPATMARK = 'RoyaltyUpdate'
复制代码

本帖被以下淘专辑推荐:

分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏 分享分享 分享淘帖1 订阅订阅
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|站长邮箱|小黑屋|手机版|Office中国/Access中国 ( 粤ICP备10043721号-1 )  

GMT+8, 2024-5-25 00:07 , Processed in 0.095811 second(s), 27 queries .

Powered by Discuz! X3.3

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表