问这个问题的起因是:在删除数据库时,如果目标数据库有连接的话,drop database就会失败(当然,可以在查询管理器里删除数据库并关闭连接,但我这里想了解的是直接用T-SQL语句来完成)。在网上找了一些方法,发现用到一个系统表sysprocesses和一个兼容视图sys.sysprocesses可以将会话ID和数据库ID关联起来,这样就可以根据数据库名关联的ID找到会话ID,然后使用kill语句来结束会话,进而再去删除数据库,这条路是可行的!但是考虑到系统表和兼容视图是为了向后兼容,考虑到今后可能会被取消的问题,我想尽量使用2005中提供的目录视图或者动态视图来完成这个处理,有没有朋友知道怎么弄的,请指教,谢谢!删除数据库
解决方案 »
- 网站的访问量与数据库的关系
- 不能对包含聚合或子查询的表达式执行聚合函数。(高手进 非常急 在线等)
- 类似列传行的问题请教
- 如何把存储过程的所有者从用户“A”换成用户“B”?谢谢 !
- 1433端口打不开,已装了补丁SP4
- 系统中的临时表等存放在哪里?
- 第一次做函数,帮帮了。。。。简单的
- 问一个比较弱智的问题,数据库中的字段名称用中文还是用英文好?
- 谁能给我源程序(treeview的使用与数据库联系起来,实现数据分任意多层显示,能进行增加、修改、删除操做)
- 有点特别的问题,怎样用Access 2000 将SQL 7.0 数据库的资料导入?
- sql数据导出到oracle数据库,表结构不同。求高手提供解决方案。
- 数据表增加很快,急,望解答
ALTER DATABASE dbname SET SINGLE_USER WITH ROLLBACK IMMEDIATE
go
DORP DATABASE dbname
GO
DORP DATABASE dbname
强制所有事务立即回滚,这个可以理解为断开所有会话连接吧