首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 数据库 > SQL Server >

(100分)sql server 2005数据库备份与恢复有关问题

2012-01-29 
(100分)sql server 2005数据库备份与恢复问题sql server 2005中,在恢复数据库时选择了“使数据库处于只读模

(100分)sql server 2005数据库备份与恢复问题
sql server 2005中,在恢复数据库时选择了“使数据库处于只读模式。撤消未提交的事务,但将撤消操作保存在备用文件中,以便能够还原恢复结果。”选项。恢复完成后,数据库处于“备用/只读”状态,如何变成正常状态?
另:请问“备份集过期时间”的作用是什么?
谢谢!

[解决办法]

[解决办法]
右键制定数据库-属性-选项-状态
将“数据库为只读”设为false
[解决办法]

SQL code
-- 再执行一个下面的语句就好了RESTORE DATABASE 库名WITH RECOVERY;
[解决办法]
SQL code
use master    --不能在要还原的数据库下执行goRESTORE DATABASE databasename WITH RECOVERY
[解决办法]
引用楼主 a13951845000 的帖子:
另:请问“备份集过期时间”的作用是什么?
谢谢!

[解决办法]
探讨
SQL code
-- 再执行一个下面的语句就好了
RESTORE DATABASE 库名
WITH RECOVERY;



[解决办法]
探讨
首先谢谢各位,恢复数据库的问题已解决。
to orochi_gao :
“即可指定备份集过期并可被其他备份集覆盖的时间”具体体现是什么?

[解决办法]
探讨
首先谢谢各位,恢复数据库的问题已解决。
to orochi_gao :
“即可指定备份集过期并可被其他备份集覆盖的时间”具体体现是什么?

[解决办法]
探讨
to orochi_gao :
谢谢!
系统就会自动删除它备份过期了的备份吗?

[解决办法]
use master go
RESTORE DATABASE 数据库名 WITH RECOVERY
[解决办法]
为什么用这个选项?有什么好处么?直接用recovery或者norecovery呢?
[解决办法]
备份集过期时间——只需要输入特定的天数或者输入某个具体日期(如2009年12月30日),即可指定备份集过期并可被其他备份集覆盖的时间。
 
[解决办法]
SQL Server 2000中存在的许多的备份和恢复特性都同样保留在了SQL Server 2005中,但是有一些新的提高同样值得我们关注。

镜像备份

SQL Server 2005让你可以创建镜像备份。镜像备份允许你为备份文件创建两个或者四个同样的拷贝,以防备其中的某一个集合损坏的情况。镜像具有同样的内容,所以你可以在某个文件被损坏的时候修复这个文件。

假设你有镜像集合1和镜像集合2,两个集合都有完全的备份和事务日志备份。如果镜像集合1的完全备份发生了损坏,你可以通过镜像集合2来进行恢复,然后对镜像集合1持续使用事务日志备份。

在线恢复

你还可以进行在线恢复,但是,不要太激动。从名字上看,似乎是你可以在恢复的同时,完全保持数据库启动、运行和保证用户登录到数据库中——但是实际情况不是的。在线恢复允许你在保持数据库在线的情况下恢复一个离线的文件组。所以你可以保障数据库的大部分在工作,但是你想要恢复的文件组必须是离线的。

注意:要运行这个特性,你必须使用SQL Server 2005企业版,并且主要的文件组不能是离线的。另外,你必须确保你的应用程序你可以使文件组离线,并且仍然可以起作用。通过仔细的计划,这个特性是非常有用的,但是也许很多人不会使用这个功能。

只拷贝备份

我认为一个很有用的特性就是只拷贝备份,它让你可以在备份过程中,在不打乱其他备份文件的顺序的情况下进行拷贝。使用SQL Server 2000的时候,如果你在一天的中间运行了一个特殊的完全备份,为了恢复,你必须使用完全备份和在完全备份之后发生的所有事务日志。这个新的特性允许你创建一个只对备份的拷贝,然后使用正常的完全拷贝来达到恢复的目的。

对于不同的备份,在处理方式上没有任何的改变。对于事务日志备份,你也可以只对备份进行拷贝——同样是不需要打乱其他备份文件的顺序。任何通过这个选项创建的备份都在备份表中标记为copy_only

部分备份

你也许认为部分备份与差别备份一样——但是他们不一样。部分备份是将所有的文件组,除了那些标记为只读的文件组之外(除非是指定的),进行备份。对于只读数据库,只有基本文件组被备份。如果你在只读文件组中有很多的静态数据,那么用这种方式来备份你的数据库就要快得多。

从以前的版本中恢复

SQL Server 2005中有一项保留的完全相同的特性就是从以前的版本中恢复数据库的能力;你可以从SQL 7.0和2000中恢复数据库备份。(然而,仍然没有办法从6.5版本中恢复备份。)

注:不能从早期版本中恢复系统数据库,对于SQL Server 2005也一样。
[解决办法]
WTF! 这玩意手册不是有么?

只有过了这个天数的备份文件才会被覆盖,否则会有提示,默认 0 天,默认没改的话不提示而直接覆盖。
SQL Server 2005 Books Online (November 2008) 原文如下:



Use the media retention option to provide a system-wide default for the length of time to retain each backup set. The media retention option helps protect backups from being overwritten until the specified number of days has elapsed. When you set media retention, you do not have to specify the length of time to retain system backups each time you perform a backup. The default is 0 days. If you use the backup medium before the set number of days has passed, Microsoft SQL Server issues a warning message. SQL Server does not issue a warning unless you change the default.


[解决办法]
粗略查了下手册,基本如下:
1. 备份时有个 backup set / media set 的概念, A media set is an ordered collection of backup media, tapes or disk files, to which one or more backup operations have written using a fixed type and number of backup devices.

BACKUP DATABASE AdventureWorks
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'
WITH 
FORMAT,
MEDIANAME = 'MyAdvWorks_MediaSet_1'

就创建了一个包含三个磁带的 media set.

2. 第二次备份时
BACKUP DATABASE AdventureWorks
TO TAPE = '\\.\tape0', TAPE = '\\.\tape1', TAPE = '\\.\tape2'
WITH 
NOINIT,
MEDIANAME = 'AdventureWorksMediaSet1',
DIFFERENTIAL

将会在 AdventureWorksMediaSet1 中追加写入(append)。每次写入的内容都分布在 media set 包含的三个磁带中,不会只写一个。整个 media set 以环状的方式被使用,新的覆盖旧的数据。

如果设定 retention 为 7 天,在备份时,7 天内的备份数据都不会被覆盖,若空间确已用完,则返回提示消息;
但覆盖老过 7 天的数据时则不提示;
默认是 0 天,直接覆盖不提示。
[解决办法]
楼主还没结贴啊?
有这时间,你读读手册或者 Google 一下,现在都可以给别人开课了……
[解决办法]

探讨
首先谢谢各位,恢复数据库的问题已解决。
to orochi_gao :
“即可指定备份集过期并可被其他备份集覆盖的时间”具体体现是什么?

[解决办法]
sql server 2005中,在恢复数据库时选择了“使数据库处于只读模式。撤消未提交的事务,但将撤消操作保存在备用文件中,以便能够还原恢复结果。”选项。恢复完成后,数据库处于“备用/只读”状态,如何变成正常状态? 
另:请问“备份集过期时间”的作用是什么? 
SQL code
不会过期use databasename   --还原的数据库goRESTORE DATABASE databasename WITH RECOVERY
[解决办法]
备份集过期是数据库的一种保护机制,避免现有备份被意外覆盖
[解决办法]
方法一:
图形化的界面操作-

方法二:
restore datebase 库名
with recovery
[解决办法]
探讨
引用:
首先谢谢各位,恢复数据库的问题已解决。
to orochi_gao :
“即可指定备份集过期并可被其他备份集覆盖的时间”具体体现是什么?
从字面上理解感觉象有类似删除的功能,将以前的备份用新的覆盖,可以节省资源

全属路过。。。谢谢

[解决办法]
先把sqlserver 这个服务先关拉`
把sql2005关掉,把要导入的数据库文件该成不是只读
再附加到数据库中
要把原来的哪个分离 `

热点排行