我们有一个第三方供应商试图将两个数据库都驻留在我们的SQL Server实例上的两个不同的应用程序与150多个其他数据库进行集成,并且他们想创建一个MSDB作业,以每5分钟“同步”这两个不同的应用程序(首先,他们想每分钟运行一次)。
我最初的直觉是,他们应该以Windows计划的作业,或者甚至是可怕的触发器(在这种情况下通常采用这种方法)在Application层中以某种方式执行此操作。
我宁愿尽可能多地为DBA任务保留MSDB作业,以减少混乱,而且在查看具有此类活动的超级作业时的作业历史时,MSDB的查询速度也很慢(这也会淹没和丢弃重要的作业历史)更重要的事情,例如备份历史)。但是话又说回来,也许我的首选项是错误的,我需要在MSDB中为应用程序层腾出一些空间,并袖手旁观,解决工作历史记录的问题,因为当我需要保留更多历史记录条目来捕获工作记录时,这些问题会永远载入重要内容,例如备份(或清除超级活动作业条目)。
我遇到的另一个问题是,当他们通过GUI执行升级时,我现在需要给该供应商“ sysadmin”权限,而不是仅对他们的DB授予“ dbo”权限,并希望他们不要破坏我的关键任务实例数据库是(整合的缺点之一)。
我想我可以把它们放在另一个“分离”的情况下,我们把所有的不玩好供应商,但这时我们就需要重新配置应用程序以指向新的SQL实例(叹可惜在这种情况下,不平凡的)。
供应商已经回避了我的担忧,谈论触发器的糟糕程度。因此,我对此进行了“搜索”,然后空了出来。有没有人看到任何链接“权威的外观”,这是一个坏主意,我可以推荐给他们?还是我应该接受他们的方法?
我不相信在寻求帮助之前我从未在sql论坛中发布过,所以希望我的查询框架正确。
编辑:我们正在运行SQL Server 2008 Enterprise R2 x64 SP1(感谢您指出我忘记提及版本!)。嗯,希望他们在使用新版本时不需要更改MSDB升级脚本。
谢谢你的时间!丰富
sysadmin
要让他们让他们修改SQL代理作业-请访问msdn.microsoft.com/en-us/library/ms188283(v=sql.105).aspx