附加数据库和还原数据库的区别
各位大虾,最近我在学习数据库,有几个关于数据库的问题想问问大家: www.17file.com,youdows.com
1、SQL2000或是SQL2005,如何生成附加数据库所需的文件,是不是附加数据库只需要.mdf文件就可以了?
17file.com,youdows.com
2、附加数据库和还原数据库的区别在哪里,分别应用于那些场合,请举个例子,谢谢? 17file.com,youdows.com
3、附加数据库是不是在SQL没有创建该数据库时候可以完整的恢复一个数据库,相当于包括创建数据库+创建数据库结构(比如创建表单等)+恢复数据几项功 能,还有没有其它的东东? www.17file.com,youdows.com
4、还原数据库是不是只有在SQL上已经创建数据库并创建数据库结构(表单等已建好)的情况下才可以恢复一个数据库,它相当于只有恢复数据这一项功能,不 知道我理解得对不对? 17file.com,youdows.com
分数不多了,呵呵,请各位多多指教,非常感谢! 17file.com,www.youdows.com
1.在管理器中将数据分离后,只需要.mdf文件即 可附加,如果只是将数据库进行了脱机或停止SQL 服务,那么.mdf和.ldf文件都需要才能附加(SQL不允许在使用的状态下复制数据库文件) 17file.com,www.youdows.com
2.没啥区别吧,都是新产生一个库,也就是对原来库的备份。
17file.com,youdows.com
3.附加和还原都可以在不创建一个新库的情况下进行附加或还原操作
4.同上。
还原与备份对应,数据库经过备份,数据库变成.Bak的备份文件,而原有的库还在业务环境中运行,通过备份可以将数据库还原到历史状 态.
附加和分离对应,数据库文件从业务环节中分离出来,库文件处于停止使用时的状态,不在运行,附加是把原有的数据库重新装入服务.
- SQL code
-
1、需要先分离数据库,这样你可以把.mdf文件复制,否则不让你复制的。附加数据库只需要.mdf文件,日志文件重新生成。
2、没什么区别,都是还原数据库。前者日志文件重新生成,后者有以前的日志,可以根据时间点还原。
3、基本差不多吧。
4、不是,和附加数据库差不多吧。17file.com,youdows.com
比较形象合理的比喻是这样:
17file.com,www.youdows.com
如果数据库从北京那的数据库服务器上分离出来了,所有的当前运行数据文件存在USB中,拿到深圳这的数据库服务器上,然后使用sp_attach_db 系统存储过程可以把分离出来的数据库重新挂上去,重新工作;
还原数据库是原来已经在某个时间被份过的,现在要还原到那个时候的状态; 17file.com,www.youdows.com
没什么区别,都是还原数据库。前者日志文件重新生成,后者有 以前的日志,可以根据时间点还原
up
17file.com,www.youdows.com
1、首先你的有数据库,需.mdg文件即可,在附加数据库时,数据库必须是服务停止的,否则是允许复 制数据库的。 www.17file.com,youdows.com
2、区别吗?附加和还原数据条件必须,你建立数据库的前提下,可通过附加和还原来新增一个数据库,只是两种增加数据库的途径。
17file.com,www.youdows.com
3、还原和备份是相对应的。 17file.com,www.youdows.com
1、附加数据库有.mdf是就可以了 日志文件在附加数据库过程中会自动生成一个
17file.com,youdows.com
2、附加数据库与还原数据库只是元数据文件类型不一样而已 .mdf .bak
3、4都可以在不创建一个新库的情况下进行操作
2.还原和附加有一定的区别。(单纯从数据角度看是一样的)
附加数据库中除了包含数据和事务日志,还包含库结构等。 17file.com,www.youdows.com
而还原的数据库备份对于库结构的改变则无法还原。 17file.com,youdows.com
- SQL code
-
--楼主可以测试如下:www.17file.com,youdows.com
新建数据库A-->完全备份成a.bak-->修改数据库A,添加表及字段-->完全备份成b.bak。
新建数据库B—>还原备份a.bak-->再还原备份b.bak,分别查看数据库B和A不同。
--use 数据库A(or B)www.17file.com,youdows.com
--go
--2005实现数据库表字段属性统计(2000里的系统表sysproperties描述表不存在,2005里用sys.extended_properties视图替代)
select
[表名]=c.Name,
[表说明]=isnull(f.[value],''),17file.com,www.youdows.com
[列名]=a.Name,
[列序号]=a.Column_id,
[标识]=case when is_identity=1 then '√' else '' end,17file.com,youdows.com
[主键]=case when exists(select 1 from sys.objects x join sys.indexes y on x.Type=N'PK' and x.Name=y.Namewww.17file.com,youdows.com
join sysindexkeys z on z.ID=a.Object_id and z.indid=y.index_id and z.Colid=a.Column_id)
then '√' else '' end,17file.com,www.youdows.com
[类型]=b.Name,
[字节数]=case when a.[max_length]=-1 and b.Name!='xml' then 'max/2G'17file.com,youdows.com
when b.Name='xml' then '2^31-1字节/2G'
else rtrim(a.[max_length]) end, www.17file.com,youdows.com
[长度]=case when ColumnProperty(a.object_id,a.Name,'Precision')=-1 then '2^31-1'17file.com,youdows.com
else rtrim(ColumnProperty(a.object_id,a.Name,'Precision')) end,
[小数]=isnull(ColumnProperty(a.object_id,a.Name,'Scale'),0), www.17file.com,youdows.com
[是否为空]=case when a.is_nullable=1 then '√' else '' end, 17file.com,youdows.com
[列说明]=isnull(e.[value],''),
[默认值]=isnull(d.text,'') www.17file.com,youdows.com
from
sys.columns a
left join
sys.types b on a.user_type_id=b.user_type_id
inner join
sys.objects c on a.object_id=c.object_id and c.Type='U'www.17file.com,youdows.com
left join
syscomments d on a.default_object_id=d.ID
left join
sys.extended_properties e on e.major_id=c.object_id and e.minor_id=a.Column_id and e.class=1 www.17file.com,youdows.com
left join
sys.extended_properties f on f.major_id=c.object_id and f.minor_id=0 and f.class=1 17file.com,youdows.com
order by 1
复制地址给好友

您的位置: