SQL SERVER数据库存进行应用程序备份时,如何知道是否还有其他人连接在数据库上.
同时,又如何让其他人与数据断开连接?

解决方案 »

  1.   

    1.
    if exists(
    select *   loginame from master..sysprocesses where hostname is not null and 
    db_id('数据库名') = dbid)或者用:
    显示所有活动进程
    USE master
    EXEC sp_who 'active'列出全部当前进程
    此示例使用没有参数的 sp_who 报告所有当前用户。 
    USE master
    EXEC sp_who2
    KILL
    根据系统进程 ID (SPID) 终止用户进程。如果指定的 SPID 或 UOW 有许多工作要取消,KILL 命令可能需要一些时间来完成,特别是在涉及回滚长事务时。在 Microsoft® SQL Server™ 2000 中,KILL 命令可用来终止正常连接,这将在内部终止与给定 SPID 关联的事务。另外,在使用 Microsoft 分布式事务处理协调器 (MS DTC) 时,该命令也可用于终止所有孤立的分布式事务。当分布式事务未与任何当前 SPID 关联时,即为孤立的。语法
    KILL {spid | UOW} [WITH STATUSONLY]