可以
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'
请参见CREATE DATABASEsp_attach_single_file_dbsp_detach_dbsp_helpfilesp_removedbreplication系统存储过程
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'
请参见CREATE DATABASEsp_attach_single_file_dbsp_detach_dbsp_helpfilesp_removedbreplication系统存储过程
解决方案 »
- sqlserver2000的存储过程
- 以下2段代码为何第2段需要+[]麻烦高手解释下
- Set Statistics IO ON和Profiler里面的逻辑读不一样?
- 将表Table1的字段A设为主键的SQL命令怎样写?新手求助!
- 如何将SQL2000的数据库文件降级到SQL7.0?使该数据库能在7.0上用?
- 请教算法复杂度的问题
- 请教高手:在sql server中用户自定义的数据类型中如何实施规则和默认值???
- 在win2000server(sp1/sp2以上)上安装sqlserver2000失败!配置服务器的进程挂起!
- 一个语句
- 丁曼小姐,请进!送你10分。
- 请各位高手指教:给新手一点建议(Access——SQLServer)。
- 一个ACCESS和SQL SERVER互倒数据的问题?急!急!
1、展开服务器组,然后展开服务器。
2、右击"数据库",然后选择"所有任务"/"附加数据库"。
3、输入要附加的数据库的 MDF(master 数据文件)名称。如果不确定文件位于何处,单击浏览("...")搜索。最多可以指定 16 个文件名。有关更多信息,请参阅 sp_attach_db。
4、若要确保指定的 MDF 文件正确,请单击"验证"。"原文件名"列列出了数据库中的所有文件(数据文件和日志文件)。"当前文件位置"列列出了文件的名称和路径。如果 Microsoft SQL Server 找不到指定位置的文件,则附加操作将失败。可以对"当前文件位置"列进行编辑,并且文件的当前位置必须在该列中才能使附加操作得以进行。例如,如果在分离操作前改变了文件的默认位置,则必须指定当前位置才能使附加操作顺利进行。
5、在"附加为"框内,输入数据库的名称。数据库名称不能与任何现有数据库名称相匹配。
6、指定数据库的所有者。
7、单击"确定"按钮。新附加的数据库的数据库节点即创建在"数据库"文件夹中。
Backup Database...
Restore Database...
Import Data...
Export Data...并没有附加数据库Attach Database啊????
试过Restore Database恢复数据库和Import Data.导入数据库,但似乎与附加
数据库到服务器无关。
我用的是Microsoft SQL Server7.0英文版
sp_attach_db @dbname=N'MyDB',@filename1=N'd:\abc\myfile.mdf'
就可以了(我的myfile.mdf在d盘abc文件夹)运行:
sp_attach_db @dbname='MyDB',@filename1='d:\abc\myfile.mdf'
去掉了N也可以,这个N有什么用的?
看看把
1.将mdf和ldf文件复制到硬盘上。
2.将文件的只读属性去掉。
3.写一段小程序,得到文件的路径,并登陆sql server,执行sp_attach_db命令。
4.如果需要,执行其他sql命令,调整数据库,比如:数据库和日志的大小,登陆的帐号等等。理想的方法是将数据库的所有对象,包括数据库、表、视图、存储过程、帐号等写成一个脚本,测试成功后,在安装时登陆sql server,直接运行该脚本。