xp_cmdshell bcp 的替代方案?

alternative to xp_cmdshell bcp?

是否有替代 xp_cmdshell BCP 从 MSSQL 写入文件的方法?

Some context:这是要内置到外部程序调用的存储过程中。我没有时间处理可执行文件、ssms 的导出函数或任何需要调用此存储过程的东西。

原因;这个服务器上有很多与用户权限有关的奇怪东西,我不是 SA。我无法创建 ##xp_cmdshell_proxy_account##(更不用说为其分配凭据了),并且 xp_cmdshell 'whoami' returns 一个从未见过或听说过的用户。我已尝试基于现有 windows 用户创建新用户并授予其 xp_cmdshell 执行权限,但这仍然无济于事。不知道是我没有权限还是其他原因。

长话短说,我受够了尝试让它在这种环境下工作,我正在寻找替代方案。有吗?

写一个 SQL 代理作业并用 sp_start_job. You can control the identity the job uses with a SQL Agent Proxy 启动它。

或者编写一个 SSIS 包,将其部署到 SSIS 目录并run it from your stored procedure