一个防止误删MSSQL数据库的步骤

一个防止误删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

一个防止误删MSSQL数据库的步骤

 一个防止误删MSSQL数据库的步骤

当然了,查询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

一个防止误删MSSQL数据库的步骤

 

ALTER DATABASE [CT_DB] SET PARTNER FAILOVER
GO

一个防止误删MSSQL数据库的步骤

 

ALTER DATABASE [CT_DB] SET PARTNER FORCE_SERVICE_ALLOW_DATA_LOSS
GO

一个防止误删MSSQL数据库的步骤

 

虽然实际用途和意义不大,但是有时候确实可以防止一些意外发送

 

 

如有不对的地方,欢迎大家拍砖o(∩_∩)o 

1楼潇湘隐者
个人觉得这样做的实际意义不大,还是要从权限方面控制才行。
Re: 桦仔
@潇湘隐者,引用个人觉得这样做的实际意义不大,还是要从权限方面控制才行。,还可以发掘其他用途