分离数据库将从 Master 管理的数据库内部列表中删除它的条目,但会将文件保留在那里以便重新附加。这通常可能不是最好的做法,但要遵循 MS 文档来分离数据库。
您可以执行以下命令,但如果用户连接到实例中的数据库,则可能会失败:
EXEC sp_detach_db 'Databasename', 'true';
Run Code Online (Sandbox Code Playgroud)
您始终可以运行快速 sp_who2 来查看谁连接到您的数据库或更彻底:
select spid, status, loginame, hostname, blocked, db_name(dbid), cmd from master..sysprocesses where db_name(dbid) = 'databasename'
Run Code Online (Sandbox Code Playgroud)
正如 BradC 所回答的那样,使数据库“离线”也是一个不错的选择,它有其自身的优点和缺点。分离会解锁文件,以便您可以在分离时操作文件。请注意,数据库“脱机”可能会导致您的脚本或维护任务扫描所有数据库以报告故障。它仍然会“看到”数据库,尝试访问它,但无法访问。通常,我编写的大多数维护脚本都有处理此问题的逻辑,但许多野外人员并不只是注意到这一点。
归档时间: |
|
查看次数: |
4441 次 |
最近记录: |