高分求助,SQL Server 2000 繁体版无法卸离资料库,紧急!在线等

来源:百度知道 编辑:UC知道 时间:2024/06/03 14:27:29
直接在服务器上操作的,操作的时候服务器的网线是直接拔除了的,而且本机也没有打开查询分析器;卸离的时候总是提示有在使用中,而资料库连结数那里是已经清零了的;
问题解决了就给分;
服务关了,连企业管理器都开不了啊;不能关服务吧!
我知道有一种强制方法:关服务,直接删除日志档,开服务,用语句再重新创建一个空的日志档,不过这样的操作属於非官方认可,存在风险;
所以想求助一个权威的,官方的处理方法;

打开查询分析器,在master下执行以下语句:
exec sp_who
观察返回数据表中,dbname为 Sw 的行,各列的数据类型和描述如下:
spid smallint 系统进程 ID。
ecid smallint 与指定 SPID 相关联的给定线程的执行上下文 ID。
ECID = {0, 1, 2, 3, ...n},其中 0 始终表示主或父线程,并且 {1, 2, 3, ...n} 表示子线程。

status nchar(30) 进程状态。
loginame nchar(128) 与特定进程相关联的登录名。
hostname nchar(128) 每个进程的主机或计算机名。
blk char(5) 如果存在阻塞进程,则是该阻塞进程的系统进程 ID。否则该列为零。
当与给定的 spid 相关联的事务受到孤立分布式事务的阻塞时,该列将对阻塞孤立事务返回 '-2'。

dbname nchar(128) 进程使用的数据库。
cmd nchar(16) 为此进程执行的 SQL Server 命令(Transact-SQL 语句、SQL Server 内部引擎处理等)。

如果确定已经关闭所有相关程序,不会影响数据的保存,可以直接用kill语句关闭相关的事务进程:
语法:kill spid(exec sp_who返回表的第一列对应数值)
例如:假如Sw对应的spid为25,则 kill 25

确定exec sp_who返回表中没有dbname为Sw的行后,再解挂数据库,可以正常解挂。

是想把数据库文件给拷贝或者拿出来吗
1种是停止所有sql服务
2是可以去管理器里面分离你需要的数据库,然后就能操作了,操作好以后再附加上就好了

不用关闭数据库服务,直接删除连接,就能正常卸离资料库。

1楼:服务关了连管理器都打不开的;

2楼:现在就是分离数据库分离不了;