MS SQL Server,在删除特定数据库之前询问密码

ufo*_*ufo 4 sql-server password

我有 2 个对我们的组织非常重要的数据库。我想防止意外删除/删除它们...您有什么建议吗?我正在考虑在执行删除之前询问密码。这在 MS SQL Server 中可能吗?

Rem*_*anu 10

正如评论所说,您应该为此依赖权限

严格来说,“询问密码”是不可能的。甚至会在哪里显示密码对话框??SQL Server 是一种客户端服务器产品,它接受来自任何使用 TDS 协议的客户端的命令。这可能是 Management Studio、sqlcmd.exe、PowerShell 脚本、ADO.Net SqlClient 应用程序。任何事物。

如果必须,那么作为最后的手段,您可以部署DDL 触发器。DDL 触发器不会替换权限,但可以防止意外删除。

CREATE TRIGGER safety 
ON SERVER
FOR DROP_DATABASE 
AS 
   PRINT 'You must disable Trigger "safety" to drop databases!' 
   ROLLBACK;
Run Code Online (Sandbox Code Playgroud)

您可以增强检查数据库名称的逻辑,我的目的不是给您复制粘贴工作代码。