0

我有一组访问同一个 SQL 数据库的程序(考虑父进程和子进程)。它在程序过程中被连接和分离。只有当我在两个进程都访问它时尝试分离它时我才会遇到问题。连接都已关闭,但如果我尝试执行 sp_detach 存储过程,我会收到一条错误消息,指出它正在使用且无法分离。我需要解决多进程访问的问题吗?

4

1 回答 1

0

如果所有连接都已关闭,则多进程访问没有任何具体内容。在您的情况下,我怀疑其中一个连接并未真正关闭,您只是认为它是。

在调用 sp_detach 之前,运行以下代码:

ALTER DATABASE [YourDbName]
SET SINGLE_USER WITH ROLLBACK IMMEDIATE;

我一直认为这是本着防御性编码精神的这种性质的自动化程序的最佳实践。(并不是说我通常会考虑在自动化过程的最佳实践中分离数据库)

于 2012-10-31T20:51:33.337 回答