通过SQLserver系统存储过程分离和附加数据库的简单使用

发布时间 2023-10-18 18:19:46作者: 邵彷

sp_detach_db 数据库分离

sp_detach_db 是 SQL Server 中的一个系统存储过程,用于卸载数据库。

使用这个存储过程可以使得数据库不再与当前 SQL Server 实例关联。

以下是 sp_detach_db 的基本语法:sp_detach_db 'database_name';

其中 'database_name' 是要卸载的数据库的名称。

在执行 sp_detach_db 之前,需要确保数据库没有使用,处于可卸载状态。

注意:你不能卸载当前正在使用的数据库。

sp_attach_db 数据库附加

sp_attach_db 是 SQL Server 中的一种系统存储过程,它用于附加单文件数据库。

使用此存储过程可以将一个已经存在的 .mdf 文件附加到当前的 SQL Server 实例上,使其成为一个可用的数据库。

以下是 sp_attach_db 的基本语法:sp_attach_db @dbname 'database_name', @filename 'database_file_path';

其中,'database_name' 是你想要附加的数据库的名称,'database_file_path' 是 .mdf 文件的路径和名称。

在执行 sp_attach_db 之前,需要确保 .mdf 文件存在并且未被使用。如果文件正被使用,SQL Server 将无法附加该数据库。

需要注意的是,sp_attach_db 只能附加单文件数据库。

sp_attach_single_file_db 数据库附加

如果你想要附加一个具有多个数据文件或日志文件的数据库,应该使用 sp_attach_single_file_db 存储过程。

sp_attach_single_file_db是SQL Server中的一种系统存储过程,用于附加单文件数据库。

sp_attach_db不同,sp_attach_single_file_db专门用于附加只有一个数据文件和一个事务日志文件的数据库。

以下是sp_attach_single_file_db的基本语法:sp_attach_single_file_db @dbname = 'database_name', @physname = 'database_file_path';

其中,@dbname参数指定要附加的数据库的名称,@physname参数指定数据文件的物理路径。

在执行sp_attach_single_file_db之前,需要确保数据文件和事务日志文件存在并且未被使用。如果文件正被使用,SQL Server将无法附加该数据库。

注意,要附加的数据库必须只有一个数据文件和一个事务日志文件。