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_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_tables 的结果放进一张表里面啊? 可以用select into .....吗?
- sql server 2000 能装在windowsxp上吗?
- sql 简单的问题,大家来帮帮忙哈!
- 如何把ACCESS数据库导入SQL SERVER
- 第一次用Vc写数据库程序,遇上问题,求助!
- 关于如何的到数据库中表的结构的问题(刚才已经为此送了200分了,友情再放送20分,:))
- 高手请进!一个关于SQL的外联结问题请教大家
- 听说VFP有SP5,谁能告诉我一个下载网址?谢谢!
面的示例将 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'
backup database jun to disk='d:\server\jun.bak' with init
这是两个实现备份和恢复的命令。可以在程序中达到备份和恢复的目的。
其实从企业管理Enterprise Manager中的所有任务中也可以实现。
2、右击"数据库",然后选择"所有任务"/"附加数据库"。
3、输入要附加的数据库的 MDF(master 数据文件)名称。如果不确定文件位于何处,单击浏览("...")搜索。最多可以指定 16 个文件名。有关更多信息,请参阅 sp_attach_db。
4、若要确保指定的 MDF 文件正确,请单击"验证"。"原文件名"列列出了数据库中的所有文件(数据文件和日志文件)。"当前文件位置"列列出了文件的名称和路径。如果 Microsoft® SQL Server™ 找不到指定位置的文件,则附加操作将失败。可以对"当前文件位置"列进行编辑,并且文件的当前位置必须在该列中才能使附加操作得以进行。例如,如果在分离操作前改变了文件的默认位置,则必须指定当前位置才能使附加操作顺利进行。
5、在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相匹配。
6、指定数据库的所有者。
7、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中。
分离数据库 1、展开服务器组,然后展开服务器。
2、展开"数据库"文件夹。
3、右击数据库,然后选择"所有任务"/"分离数据库"命令。该菜单只有在您是 sysadmin 固定服务器角色成员并且所连接的服务器是 SQL Server 2000 时才可用。无法分离 master、model 和 tempdb 数据库。
4、在"分离数据库"对话框中,检查数据库的状态。要成功地分离数据库,STATUS 应为:数据库已就绪,可以分离。或者可以选择在分离操作前更新统计信息。
5、若要终止任何现有的数据库连接,请单击"清除"。
6、单击"确定"按钮。已分离的数据库的数据库节点即从"数据库"文件夹中被删除。