这不是一个编程问题,而是更多关于工具一的建议: - )
我正在寻找一种方法来防止脚本意外地在错误的sql server实例上运行,即因此你不会运行该脚本来清除生产/生产环境中开发环境中的客户。
我基本上追求的是企业管理器(或管理sql服务器实例的不同应用程序)的插件,这将允许我定义SQL服务器实例的连接详细信息列表,以便当窗口是通过将标签着色为红色,或者弹出一个消息框,说明“这是连接到XXXX实例。你确定”
连接到LIVE环境,它非常清楚。确认表单非常小心,是否有人对工具/插件有任何想法,可以做到这一点或任何远程类似的东西?
感谢您的帮助
答案 0 :(得分:4)
我的所有脚本都以此开头:
if exists (select 1 from dbo.environment where value in('production', 'qa'))
return
当然这意味着我有一个环境表,并且根据它的托管位置有'生产','开发','qa'等。
答案 1 :(得分:2)
这个免费的SSMS插件为每台服务器提供了窗口着色。
答案 2 :(得分:1)
此SQL代码检查您是否在正确的服务器上:
if @@servername <> 'testserver'
RAISERROR ( 'Wrong server', 16, 1 );
错误(或返回该事项)将阻止执行直到下一个GO语句。例如,以下仍将打印hello world,并删除用户表:
RAISERROR ( 'Wrong server', 16, 1 );
go
drop table users
print 'Hello world!'
go
答案 3 :(得分:0)
您可以为正常使用的用户在实时实例上设置不同(有限)的访问权限。 然后有一个不同的用户名,用于在实时系统上执行任何严肃的操作。