原文:
一个防止误删MSSQL数据库的方法
一个防止误删MSSQL数据库的方法
环境:Windows2008 R2 、SQL 2012
今天发现一个有趣的现象,之前数据库服务器的其中几个数据库做过镜像,不过现在已经删除了,今天又要在那台服务器上为一个库搭建镜像
搭建镜像的过程中,把镜像机器的ip写成了自己的ip,结果发现命令成功执行
--备机上执行 USE [master] GO ALTER DATABASE [CT_DB] SET PARTNER = 'TCP://192.168.1.106:5022'; --主机服务器的ip
192.168.1.106是服务器自己的ip
当然了,查询SELECT DB_NAME([dbid]) ,* FROM sys.[sysprocesses] WHERE [spid]>49 ORDER BY [spid] 视图的时候并不会有镜像同步线程的,因为它并没有镜像库让它去同步
我们尝试把[CT_DB]库drop掉
DROP DATABASE [CT_DB] --ALTER DATABASE [CT_DB] SET PARTNER OFF
ALTER DATABASE [CT_DB] SET PARTNER FAILOVER GO
ALTER DATABASE [CT_DB] SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS GO
虽然实际用途和意义不大,但是有时候确实可以防止一些意外发送
如有不对的地方,欢迎大家拍砖o(∩_∩)o