Ash*_*Ash 6 sql confirm stored-procedures dialog
我有一个存储过程,正在做很多删除.成千上万的记录.它不会从应用程序中运行,但我担心的是,我的一个客户意外地运行它(由于他们的"好奇心",我之前遇到了问题):D
是.有备份和类似的东西,但我在想......不要吓唬他们......有没有办法问用户"你确定吗?" 在执行之前?:) 谢谢
我想你可能有一个名为"确认"的参数,需要传入一个特定的字符串(例如,"我知道我在做什么"),如果没有设置,或设置不正确,只需从程序没有执行主代码.不完全是你想要的,但这是一个选择.
例如 - (未经测试且可能很糟糕的语法)
CREATE PROCEDURE dbo.mySproc (
@Confirmation Varchar(100)
) AS
BEGIN
if(@Confirmation <> 'I know what I am doing')
BEGIN
return;
END
DELETE from table_name where condition
END
Run Code Online (Sandbox Code Playgroud)
简而言之,没有.
该理论认为,任何有权查找并能够运行存储过程的人都应该被允许.最好限制权限,以便具有过度好奇心的人没有运行此权限的权限.
另一个不太安全的选择是需要一个需要作为参数传递的预定义秘密 - 当然,他们可以通过编写存储过程的脚本来找到秘密...
当然,另一点是:如果它不可调用,为什么要包括它?毕竟,当你来做管理类型任务时,你可以将这些语句编写为一个文件,你可以在自己的机器上保持安全
归档时间: |
|
查看次数: |
1386 次 |
最近记录: |