找回密码
 注册账号

QQ登录

只需一步,快速开始

手机号码,快捷登录

手机号码,快捷登录

初学者课程:T3自学|T6自学|U8自学软件下载课件下载工具下载资料:通资料|U8资料|NC|培训|年结积分规则 | 使用常见问题Q&A
知识库:U8 | | NC | U9 | OA | 政务U8|U9|NCC|NC65|NC65客开|NCC客开新手必读 | 任务 | 快速增金币用友QQ群[微信群]
查看: 33184|回复: 85

[数据库知识] 详解分离数据库与附加数据库 有图

    [复制链接]
发表于 2007-7-30 10:08:42 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?注册账号

×
详解分离数据库与附加数据库 有图

备份和恢复的概念:
    备份和恢复组件是SQL Server的重要组成部分。备份就是指对SQL Server数据库及其他相关信息进行拷贝,数据库备份记录了在进行备份这一操作时数据库中所有数据的状态,如果数据库因以外而损坏,这些备份文件将在数据库恢复时被用来恢复数据库。
    恢复就是把遭受破坏、丢失的数据或出现错误的数据库恢复到原来的正常状态,这一状态就是有备份决定的。
分离数据库:
     在SQL Server运行时,在Windows中不能直接复制到SQL Server数据库文件,如果想复制SQL Server数据库文件,就要将数据库文件从SQL Server服务器中分离出去,这样就可以复制了。
附加数据库:
     附加数据库的工作是分离数据库的逆操作,通过附加数据库,可以将没有加入SQL Server服务器的数据库文件加到服务器中。

分离数据库与附加数据库.doc

442 KB, 下载次数: 231, 下载积分: 金币 -5

金币

快速加金币

下载提示积分金币不足,非特定用户等

无法下载,可充值金币

发表于 2007-9-10 08:38:49 | 显示全部楼层
我的SQL不hao ,学学
发表于 2015-2-19 21:33:21 | 显示全部楼层
备份,恢复,分离,附加数据库有必要搞那么些代吗吗?
回复 点赞 拍砖

使用道具 举报

发表于 2016-1-5 15:58:01 | 显示全部楼层
看看这个是什么?
回复 点赞 拍砖

使用道具 举报

 楼主| 发表于 2007-7-30 10:13:46 | 显示全部楼层
SQL Server 2000 数据库分离与附加

从服务器分离数据库,并可以选择在分离前在所有的表上运行 UPDATE STATISTICS。

语法
sp_detach_db [ @dbname = ] 'dbname'
    [ , [ @skipchecks = ] 'skipchecks' ]

参数
[@dbname =] 'dbname'

要分离的数据库名称。dbname 的数据类型为 sysname,默认值为 NULL。

[@skipchecks =] 'skipchecks'

skipchecks 的数据类型为 nvarchar(10),默认值为 NULL。如果为 true,则跳过 UPDATE STATISTICS。
如果为 false,则运行 UPDATE STATISTICS。对于要移动到只读媒体上的数据库,此选项很有用。

返回代码值
0(成功)或 1(失败)

结果集


注释
使用 sp_attach_db 或 sp_attach_single_file_db 保留并重新附加分离文件。文件也可以移动并附加到其它服务器上。

权限
只有 sysadmin 固定服务器角色的成员才能执行 sp_detach_db。

示例
下面的示例分离 pubs 数据库,并将 skipchecks 设为 true。
EXEC sp_detach_db 'pubs', 'true'

sp_attach_db
将数据库附加到服务器。

语法
sp_attach_db [ @dbname = ] 'dbname'
    , [ @filename1 = ] 'filename_n' [ ,...16 ]

参数
[@dbname =] 'dbname'

要附加到服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。

[@filename1 =] 'filename_n'

数据库文件的物理名称,包括路径。filename_n 的数据类型为 nvarchar(260),默认值为 NULL。最多可以指定 16 个文件名。参数名称以 @filename1 开始,递增到 @filename16。文件名列表至少必须包括主文件,主文件包含指向数据库中其它文件的系统表。该列表还必须包括数据库分离后所有被移动的文件。

返回代码值
0(成功)或 1(失败)

结果集


注释
只应对以前使用显式 sp_detach_db 操作从数据库服务器分离的数据库执行 sp_attach_db。如果必须指定多于 16 个文件,请使用带有 FOR ATTACH 子句的 CREATE DATABASE。

如果将数据库附加到的服务器不是该数据库从中分离的服务器,并且启用了分离的数据库以进行复制,则应该运行 sp_removedbreplication 从数据库删除复制。

权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程。

示例
下面的示例将 pubs 中的两个文件附加到当前服务器。

EXEC sp_attach_db @dbname = N'pubs',
   @filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
   @filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'

sp_attach_single_file_db
将只有一个数据文件的数据库附加到当前服务器。

语法
sp_attach_single_file_db [ @dbname = ] 'dbname'
    , [ @physname = ] 'physical_name'

参数
[@dbname =] 'dbname'

要附加到服务器的数据库的名称。dbname 的数据类型为 sysname,默认值为 NULL。

[@physname =] 'phsyical_name'

据库文件的物理名称,包括数路径。physical_name 的数据类型为 nvarchar(260),默认值为 NULL。

返回代码值
0(成功)或 1(失败)

结果集


注释
当使用 sp_attach_single_file_db 将数据库附加到服务器时,它创建一个新的日志文件并执行额外的清除工作,从新附加的数据库中删除复制。

仅对以前使用显式 sp_detach_db 操作从服务器分离的数据库执行 sp_attach_single_file_db。

权限
只有 sysadmin 和 dbcreator 固定服务器角色的成员才能执行本过程。

示例
下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

EXEC sp_detach_db @dbname = 'pubs'
EXEC sp_attach_single_file_db @dbname = 'pubs',
   @physname = 'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf'

sp_helpfile
返回与当前数据库关联的文件的物理名称及特性。使用此存储过程确定附加到服务器或从服务器分离的文件名。

语法
sp_helpfile [ [ @filename = ] 'name' ]

参数
[@filename =] 'name'

是当前数据库中任意文件的逻辑名称。name 的数据类型为 sysname,默认值为 NULL。如果不指定 name,会列出当前数据库中所有文件的特性。

返回代码值
0(成功)或 1(失败)

结果集
列名 数据类型 描述
name sysname 逻辑文件名。
fileid smallint 文件的数字标识符。
filename nchar(260) 物理文件名。
filegroup sysname 文件所属的组。为便于分配和管理,可以将数据库文件分成文件组。日志文件不属于文件组。
size nvarchar(18) 文件大小。
maxsize nvarchar(18) 文件可达到的最大值。此字段中的 UNLIMITED 值表示文件可以一直增大直到磁盘满为止。
growth nvarchar(18) 文件的增量。表示每次需要新的空间时给文件增加的空间大小。
usage varchar(9) 文件用法。数据文件只能用于 data only,而日志文件只能用于 log only。

权限
执行权限默认赋予 public 角色。

示例
下面的示例返回有关 pubs 中的文件的信息。

USE pubs
EXEC sp_helpfile

评分

参与人数 1威望 +10 金币 +10 魅力 +10 收起 理由
zxdjason + 10 + 10 + 10 助人为乐,多多努力!!

查看全部评分

发表于 2007-7-30 11:47:09 | 显示全部楼层
你也太利害 了吧..........一大堆的语句
发表于 2007-7-30 12:32:36 | 显示全部楼层
太厉害了,我的头都痛了
发表于 2007-7-30 14:22:08 | 显示全部楼层
我看的 我要晕了!!!
发表于 2007-8-6 16:45:40 | 显示全部楼层
rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr

评分

参与人数 1威望 -2 金币 -10 魅力 -4 收起 理由
zxdjason -2 -10 -4 恶意灌水

查看全部评分

发表于 2007-8-6 16:48:23 | 显示全部楼层
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh

评分

参与人数 1威望 -2 金币 -10 魅力 -6 收起 理由
zxdjason -2 -10 -6 恶意灌水

查看全部评分

发表于 2007-8-7 14:14:43 | 显示全部楼层
找了好久了,谢谢楼主了
发表于 2007-8-17 08:51:21 | 显示全部楼层
我的SQL不怎么样,学学
发表于 2007-9-7 08:52:53 | 显示全部楼层
看了好久,但是分离可以。重新添加总是不成,唉~
发表于 2007-9-13 09:20:31 | 显示全部楼层
太晕了,看了好几遍了,还得再看看.
发表于 2007-9-15 17:40:50 | 显示全部楼层
感谢楼主,顶上。。。。
发表于 2007-9-24 08:09:43 | 显示全部楼层
晕了看不懂得
咋整
发表于 2007-9-27 15:25:25 | 显示全部楼层
一大堆的文字,看不下去了,呵呵
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

QQ|站长微信|Archiver|手机版|小黑屋|用友之家 ( 蜀ICP备07505338号|51072502110008 )

GMT+8, 2024-11-27 21:46 , Processed in 0.077129 second(s), 14 queries , Gzip On, Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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