在 SQL Server 2005 中,附加和分离数据库可以通过以下 SQL 语句实现:
附加数据库
```sql
-- 检查数据库是否存在
IF EXISTS (SELECT name FROM sys.databases WHERE name = '数据库名称')
BEGIN
-- 删除数据库(如果存在)
DROP DATABASE 数据库名称
END
-- 附加数据库
EXEC sp_attach_db @dbname = '数据库名称', @filename1 = 'MDF路径', @filename2 = 'LOG路径'
```
分离数据库
```sql
-- 设置数据库为单用户模式并立即回滚
ALTER DATABASE 数据库名称 SET SINGLE_USER WITH ROLLBACK IMMEDIATE
-- 分离数据库
EXEC sp_detach_db 数据库名称
```
请确保在运行这些命令之前,数据库文件(.mdf 和 .ldf)位于指定的路径,并且 SQL Server 服务器有权限访问这些文件。