这段代码的作用是什么:`dbo.sp_set_sqlagent_properties @ local_host_server`

时间:2011-08-15 14:16:52

标签: sql-server database tsql sql-server-2008

当我找到SQL服务器命令来创建服务器别名(cf.)时,用户建议this piece of code

use msdb
go
dbo.sp_set_sqlagent_properties @local_host_server=N'Test'
go

我尝试运行它并且“查询已成功执行”,但似乎没有创建服务器别名。

上面的代码到底是做什么的?

如何 撤消 以上代码的作用?

2 个答案:

答案 0 :(得分:9)

在没有先了解他们所做的事情的情况下,不要只是在线运行某些人推荐的命令。在运行之前,您可以做一些事情来理解这个存储过程,例如:

EXEC msdb.dbo.sp_helptext 'sp_set_sqlagent_properties';

对于我的所有机器,local_host_server属性根据以下内容为NULL:

EXEC msdb.dbo.sp_get_sqlagent_properties;

要撤消此操作,您可以尝试:

EXEC msdb.dbo.sp_set_sqlagent_properties @local_host_server = NULL;

然而,似乎这个存储过程没有记录,所以这是我能提供的最好的。我会指向你的在线文档(你也可以考虑在下次有人提供你运行一些无法识别的代码时自己搜索),但搜索结果将是空的。如果有人说要运行某些东西并且你的搜索结果为空,那么甚至可能更多有理由犹豫不决只是运行它。

就像观察一样,因为你似乎没有注意到任何行为改变,你可能会因为“搞砸你的电脑”而骂任何人。如果我告诉你用锤子砸它来修理你的iPhone,我也应该为此负责吗?即使因为你没有足够的挥杆也没有造成伤害?

答案 1 :(得分:0)

文档是now available(尽管不是很具描述性)。

据我了解,此sproc用于设置SQL Server代理属性。如果右键单击SSMS中的sQL Server Agent节点,然后选择属性,然后进行一些随机更改而不单击“确定”以保存这些更改,然后“脚本操作到新查询窗口”,您将看到此sproc是曾经做过那些改变。

例如,以下是我设置的一些更改(没有单击“确定”实际制作它们),然后选择“脚本操作到新查询窗口”以查看建议的更改看起来像脚本:

EXEC msdb.dbo.sp_set_sqlagent_properties @email_save_in_sent_folder=1, 
        @databasemail_profile=N'(myservername)', 
        @use_databasemail=1
GO