在 SQL Server 中操作数据库,常见的动作包括附加、分离和删除等。具体执行时,有不少细节需要注意,稍有不慎就可能导致操作失败。以下整理这些操作的典型用法及常见注意事项,方便后续查阅。 附加数据库:sp_attach_db sp_attach_db 存储过程用于将数据库文件重新挂接到服务器上。
SQL Server 2005数据库加载
作者:技术拾光
时间:2026-06-22
浏览:151
文章目录
在 SQL Server 中操作数据库,常见的动作包括附加、分离和删除等。具体执行时,有不少细节需要注意,稍有不慎就可能导致操作失败。以下整理这些操作的典型用法及常见注意事项,方便后续查阅。
附加数据库:sp_attach_db
sp_attach_db 存储过程用于将数据库文件重新挂接到服务器上。其语法并不复杂,格式如下:
sp_attach_db [ @dbname = ] 'dbname' , [ @filename1 = ] 'filename_n' [ ,...16 ]

参数说明:
@dbname:要附加的数据库名称,必须唯一,类型为 sysname,默认值为 NULL。@filename1到@filename16:数据库文件的物理路径,最多可指定 16 个文件。文件列表中至少要包含主数据文件(.mdf),如果分离后文件被移动过,必须将新路径全部列出。
返回代码:0 表示成功,1 表示失败。
以下是一个实际示例,将 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'
另一个示例,附加自定义数据库:
EXEC sp_attach_db @dbname = N'Ty20051029101451aaa',
@filename1 = N'd:\5屏幕\Ty20051029101451aaa_data.mdf',
@filename2 = N'd:\5屏幕\Ty20051029101451aaa_log.ldf'
执行上述语句后,问题即可解决。
删除数据库:DROP DATABASE
该命令用于从 SQL Server 中删除一个或多个数据库,同时会清除数据库文件和磁盘文件。语法为:DROP DATABASE database_name [ ,...n ]。
参数 database_name 指定要删除的数据库名称。如果不确定有哪些数据库,可以在 master 库中执行 sp_helpdb 查看列表。
示例:
exec sp_helpdb database_name
exec Drop Database [Ty20051029101451aaa]
分离与重新附加:sp_detach_db
有时需要先将数据库从当前实例分离,再通过 CREATE DATABASE ... FOR ATTACH 重新挂接。典型用法如下:
sp_detach_db Archive
GO
CREATE DATABASE Archive
ON PRIMARY (FILENAME = 'c:\program files\microsoft sql server\mssql\data\archdat1.mdf')
FOR ATTACH
GO
显示当前数据库信息
快速查看所有数据库的语句:
--select * from Master..sysDatabases
新建、脱机与恢复(特殊情况)
以下操作适用于特定场景:先创建数据库,然后将其设置为脱机,再从备份文件恢复,最后再次脱机。注意执行顺序:
CREATE DATABASE TestOA
ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE
RESTORE DATABASE TestOA From disk='C:\Documents and Settings\Administrator\桌面\帐套\data\Template.Dat'
ALTER DATABASE TestOA SET OFFLINE WITH ROLLBACK IMMEDIATE
其他实用组合
分离数据库:
exec sp_detach_db Km20051030011601
仅附加 .mdf 文件(不附带日志):
exec sp_attach_single_file_db km20051030011601,'D:\TestDatabase\Km20051030011601.mdf'实用工具推荐
电子包浆
使用 ›绿化、压缩、噪点和虚拟水印,自由调节做旧程度。
图片压缩
使用 ›选择画质和输出格式,预览压缩前后的大小。
相关文章