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

Pac*_*ier 1 t-sql database sql-server sql-server-2008

当我找到一个SQL服务器命令来创建服务器别名(cf.)时,用户建议这段代码:

use msdb
go
dbo.sp_set_sqlagent_properties @local_host_server=N'Test'
go
Run Code Online (Sandbox Code Playgroud)

我尝试运行它并"执行成功查询",但似乎没有创建服务器别名.

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

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

Aar*_*and 10

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

EXEC msdb.dbo.sp_helptext 'sp_set_sqlagent_properties';
Run Code Online (Sandbox Code Playgroud)

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

EXEC msdb.dbo.sp_get_sqlagent_properties;
Run Code Online (Sandbox Code Playgroud)

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

EXEC msdb.dbo.sp_set_sqlagent_properties @local_host_server = NULL;
Run Code Online (Sandbox Code Playgroud)

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

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

  • 许多存储过程仅供内部使用.例如,当人们使用分析器来查看Management Studio和其他工具在幕后调用时,它们就会被人们所知.我们非常欢迎您使用这些程序,但风险自负 - 微软的立场是不支持它们的使用(它们的行为可能在发行版甚至服务包之间发生变化).如果有人告诉你运行x而你找不到在联机丛书中记录的x,那么在盲目运行命令之前,最好做更多的研究. (3认同)