【数据库】还原SQL Server 数据库常见的问题
2023-09-27 14:27:53 时间
在处理数据库还原的时候,常常会出现(the database is in use) 错误信息。
顾名思义,就是因为还有人或者是应用程式还正在连结使用这个数据库, 所以SQL Server 拒绝让任何人还原这个数据库。解决办法很简单,就是用sp_who2 找出连线的SPID ( Server Process ID), 然后用kill 指令杀掉这个SPID. 就可以继续进行数据库还原的动作了。
如果只有一两个SPIDs 要kill, 可以慢慢用kill 指令来处理,但若有几十个或几百个SPIDs 要kill, 就必须要用比较科学的方法解决。可以使用这个T-SQL 一次搞定kill 所有的SPIDs.
但是,如果遇到一些侵略性很高很黏的连结设定就有点麻烦。当这个连结的SPID 被killed 后,马上又迅速的自动产生新的连结。根本就没办法完全杀干净。这个时候,可以拿出杀手锏,就是找出这个侵略性很高的login,然后停用(disable) 这个login. 让它没有办法在连上数据库。等到数据库还原完成后,再启用(enable) 这个login.
相关文章
- MS Sql Server 数据库或表修复(Log日志文件损坏的修复方法)
- 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——1.5 安装SMO
- 《PowerShell V3——SQL Server 2012数据库自动化运维权威指南》——2.13 创建视图
- sql server 小技巧(7) 导出完整sql server 数据库成一个sql文件,包含表结构及数据
- SQL Server性能调优——报表数据库与业务数据库分离
- SQL Server数据库状态监控 - 错误日志
- MS SQL Server分析数据库的I/O性能
- 【sql server安装错误】sql server安装错误 无法找到数据库引擎启动句柄
- 【最佳实践】prometheus 监控 sql server (使用sql_exporter)
- (5.3.9)sql server如何查看数据库版本信息?
- (4.21)SQL Server数据库启动过程(用户数据库加载过程的疑难杂症)
- (4.20)SQL Server数据库启动过程,以及启动不起来的各种问题的分析及解决技巧
- (4.12)数据库列式存储 sql server列存储索引
- SQL Server 2008数据库创建用户只读权限的两种方式(转载)
- How to Kill All Processes That Have Open Connection in a SQL Server Database[关闭数据库链接 最佳方法] -摘自网络
- SQL Server 跨数据库事务
- SQL Server-数据库分区分表(水平)
- SQL Server数据库快照的工作方式
- 查看SQL SERVER数据库的连接数