我想向 SQL Agent Operators 警报添加超过 100 个字符的电子邮件地址。
例如:[email protected];[email protected];[email protected];....
我试图通过更改 sysoperators email_address 列来绕过 100 个字符的限制
ALTER TABLE sysoperators
ALTER column email_address NVARCHAR(1000);
然后创建我的操作员,但地址仍被截断为 100 个字符?
仅仅因为你可以并不意味着你应该。请不要应用以下更改。这个答案只是为了向您展示为什么您不应该更改系统表或系统过程以及可能出现的问题。
msdb.dbo.sp_add_operator
使用 ssms gui 添加运算符时,
msdb.dbo.sp_add_operator
在幕后调用。使用的电子邮件地址参数也是
nvarchar(100)
.理论上,您可以通过更改程序来调整程序
然后将
@email_address
参数更改为nvarchar(1000)
如果我然后用 384 个字符(非 gui)运行它
获取长度:
显示有 384 个字符。
然而,当通过 ssms 打开它时,立即破坏的事情之一是操作员列表:
由于 ssms 运行此查询:
说明为什么我们不应该玩弄系统表和过程。
谁知道在更改表格和程序时什么会起作用,什么会破坏。
vonPryz提到的分发列表将是一个更好的解决方案。