调用MSSQLSERVER的系统过程xp_cmdshell发生错误:xpsql.cpp: 错误 来自 GetProxyA

发表于:2007-07-02来源:作者:点击数: 标签:
--消息 50001,级别 1,状态 50001 --xpsql.cpp: 错误 87 来自 GetProxyAccount(第 604 行) 打开SQLSERVER的企业管理器,进入管理,右键点击Sql Server代理点击属性; 首先你要允许非SysAdmin权限的用户执行CmdExec.....,然后指定一个账号。 不过,你需要
--消息 50001,级别 1,状态 50001
--xpsql.cpp: 错误 87 来自 GetProxyAccount(第 604 行)

打开SQLSERVER的企业管理器,进入“管理”,右键点击“Sql Server代理”点击属性;
首先你要“允许非SysAdmin权限的用户执行CmdExec.....”,然后指定一个账号。
不过,你需要意识到这样做所存在的安全上的风险。

有关英文回复:
You don@#t have to use a domain account.  When you go into the  "job system" properties on your sql agent, click the "reset proxy account".  it will ask you for a new user/password and domain.  For the domain, just put the name of the local server (of course, that account has to exist on the local server).
Also, I@#m sure you know what the risk is by allowing non-syadmins the ability to execute XP_CMDSHELL....

可以使用下面的语句来获取当前的代理所使用的账号:
exec master.dbo.xp_sqlagent_proxy_account N@#GET@#

可以使用下面的语句来设置当前的代理所使用的账号:
exec master.dbo.xp_sqlagent_proxy_account N@#SET@#,N@#域名@#, N@#账号名@#, N@#密码@#

It generally indicates that either the SQL Agent account is
not a local admin account so it can@#t access the information
on the proxy account or you haven@#t set up a proxy account.

You can execute the following to get the proxy account:
exec master.dbo.xp_sqlagent_proxy_account N@#GET@#
If it doesn@#t return anything, you need to create the proxy
account.
You can set the proxy account with:
exec master.dbo.xp_sqlagent_proxy_account N@#SET@#,
N@#DomainName@#, N@#UserName@#, N@#Password@#


消息 50001,级别 1,状态 50001
xpsql.cpp: 错误 1326 来自 LogonUserW(第 620 行)

原文转自:http://www.ltesting.net