SQL SERVER 中 xp_cmdshell 可执行shell命令,常被黑客用来作提权操作.
因此,安全高的数据库服务器都限制使用xp_cmdshell或干脆禁止.
但实际业务中,使用bcp导出文件,过程中执行DTS包等都需要调用xp_cmdshell
非 sysadmin用户开通xp_cmdshell功能注意事项
一.xp_cmdshell 赋权,
前提是user用户需要在master中存在
GRANT execute on sys.xp_cmdshell to $user
二 指定代理帐号
EXEC sp_xp_cmdshell_proxy_account 'Machine\windows_account','password'
go
三 代理帐号权限,windows_account用户必须有如下权限
报错: 在执行 xp_cmdshell 的过程中出错。调用 'CreateProcess' 失败通常是该原因
本地安全策略--用户权限分配
1.替换一个进程令牌
2.作为批处理登录
3.以操作系统方式操作
4调整进程的内存配额
四.权限调整后需要重新启动SQL SERVER服务