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

发表于:2007-05-25来源:作者:点击数: 标签:系统MSSQLSERVERcmdshell过程调用
--消息 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