Sql server bcp-通过xp_cmdshell与sp_方法安全性进行转储

Sql server bcp-通过xp_cmdshell与sp_方法安全性进行转储,sql-server,security,xp-cmdshell,Sql Server,Security,Xp Cmdshell,我使用的是MicrosoftSQLServer2008R2,我尝试通过bcp转储一个表(带有计划作业)。首先,我用xp_cmdshell实现了它,但我听说,出于安全原因,应该避免这样做 那么我的问题是:sp_方法是什么?应该使用它吗?若否,原因为何?您能建议其他可能性吗?比xp\u cmdshell更好的解决方案是使用类型为“CmdExec”或 “动力地狱” 我更喜欢对BCP.exe进行一行调用。创建作业步骤需要系统管理员凭据 如果您需要执行任何其他任务,例如压缩提取的文件并将其复制到网络共享,

我使用的是MicrosoftSQLServer2008R2,我尝试通过bcp转储一个表(带有计划作业)。首先,我用xp_cmdshell实现了它,但我听说,出于安全原因,应该避免这样做


那么我的问题是:sp_方法是什么?应该使用它吗?若否,原因为何?您能建议其他可能性吗?

xp\u cmdshell
更好的解决方案是使用类型为“CmdExec”或 “动力地狱”

我更喜欢对
BCP.exe
进行一行调用。创建作业步骤需要系统管理员凭据


如果您需要执行任何其他任务,例如压缩提取的文件并将其复制到网络共享,请回答。

我最近在使用
sp\u oa…
和写入文件(FSO)时遇到了可靠性问题,并已毫无问题地移动到xp\u cmdshell。我从未找到原因。不是答案,但可能会帮助您决定是否持谨慎态度。谢谢您的回复。。。我不再被允许使用xp_cmdshell-这只是因为安全问题,而不是功能问题。如果可以使用CLR支持,为什么还要使用sp_OA%过程?它更好,会给你更多的灵活性。虽然如果您只想运行bcp.exe,那么您只需将其放在批处理文件中,并从SQL代理作业调用它,甚至直接调用bcp.exe。xp_cmdshell可以安全使用,但如果存在与该ms SQL帐户相关联的SQL注入风险,则应禁用它。仅仅不使用它并不能帮助保护系统,这是愚蠢的。