sp_attach_single_file_db (Transact-SQL)
更新日期: 2005 年 12 月 5 日
将只有一个数据文件的数据库附加到当前服务器。sp_attach_single_file_db 不能用于多个数据文件。
重要提示: |
---|
后续版本的 Microsoft SQL Server 将删除该功能。请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。,我们建议您改用 CREATE DATABASE database_name FOR ATTACH。有关详细信息,请参阅 CREATE DATABASE (Transact-SQL)。不要针对复制数据库使用此过程。 |
安全说明: |
---|
建议您不要附加或还原来自未知或不可信来源的数据库。此类数据库可能包含执行非预期 Transact-SQL 代码的恶意代码,或通过修改架构或物理数据库结构导致错误。在使用未知或不可信源中的数据库之前,请在非生产服务器中的数据库上运行 DBCC CHECKDB,同时检查数据库中的代码(例如,存储过程或其他用户定义代码)。 |
语法
sp_attach_single_file_db [ @dbname= ] 'dbname'
, [ @physname= ] 'physical_name'
参数
- [ @dbname= ] 'dbname'
要附加到该服务器的数据库的名称。该名称必须是唯一的。dbname 的数据类型为 sysname,默认值为 NULL。
[ @physname= ] 'physical_name'
数据库文件的物理名称,包括路径。physical_name 的数据类型为 nvarchar(260),默认值为 NULL。注意: 此参数映射到 CREATE DATABASE 语句的 FILENAME 参数。有关详细信息,请参阅 CREATE DATABASE (Transact-SQL)。 在 Microsoft SQL Server 2005 数据库引擎 中,要附加的数据库中包含的所有全文文件也将随之一起附加。若要指定新的全文目录路径,可以通过提供不包含文件名的目录名来指定目录文件。有关详细信息,请参阅附加和分离全文目录。
返回代码值
0(成功)或 1(失败)
结果集
无
备注
仅对先前通过显式 sp_detach_db 操作从服务器分离的数据库或复制的数据库使用 sp_attach_single_file_db。
sp_attach_single_file_db 仅对具有单个日志文件的数据库起作用。sp_attach_single_file_db 在将数据库附加到服务器时,它会生成一个新的日志文件。如果该数据库是只读数据库,则会在日志文件的先前位置生成日志文件。
注意: |
---|
不能分离或附加数据库快照。 |
不要针对复制数据库使用此过程。
权限
有关在附加数据库时如何处理权限的信息,请参阅 CREATE DATABASE (Transact-SQL)。
示例
以下示例分离 AdventureWorks
,然后将 AdventureWorks
中的一个文件附加到当前服务器。
USE master;
GO
EXEC sp_detach_db @dbname = 'AdventureWorks';
EXEC sp_attach_single_file_db @dbname = 'AdventureWorks',
@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\AdventureWorks_Data.mdf';
请参阅
参考
sp_detach_db (Transact-SQL)
sp_helpfile (Transact-SQL)
系统存储过程 (Transact-SQL)
其他资源
分离数据库和附加数据库
附加和分离全文目录
保护数据和日志文件的安全
帮助和信息
更改历史记录
发布日期 | 历史记录 |
---|---|
2005 年 12 月 5 日 |
|