今天协助测试同学解决数据库无法删除的问题,过程如下:

 

1、删除数据库是,数据库进入单用户模式,并无法删除,如下图:

wKioL1QbvzSg5tmfAAA9IIHiKsg014.jpg

 

2、查看数据库连接情况

wKioL1Qbv4WxPKAwAAFNyig54xA593.jpg

查看数据库连接可以看到数据库正在被应用用户使用当中。

 

3、kill连接

    直接在sql命令行执行:

kill spid;

    连接即可被删除,如果程序有重连机制的话,最好先停掉应用程序,并且将应用用户锁住,否者还会不停的连接。

 

4、修复数据库为multi_user模式

alter database sb_game set multi_user;

 

5、修复以后,删除数据库提示数据库配置了replication

    那么就需要先删除对应的复制相关配置,然后删除数据库就好了。

 

附:

       这个案例告诉我们要停数据库或者删除数据库,我们应该先停掉应用程序,断开所有连接,检查是否有应用连接,是否存在类似镜像、复制相关功能,然后进行删数据库的操作。