我目前在一个环境中工作,在这种环境中,从手动运行的 SQL 脚本中以 编程方式导出表的能力将有很大帮助。
从脚本执行导出将是从存储过程中运行整个过程的第一步,因此我必须能够从 SQL 启动导出。
该组织目前在大多数服务器上具有以下配置 -
- SQL Server 2005 或 2008
- xp_cmdshell -禁用
- CLR -启用
最终,我希望能够调用传递以下参数的过程并让它执行导出。
- 表名
- 文件路径/名称(在网络共享上)
- 文件格式
目前 BCP 在功能方面似乎是一个完美的选择,但由于 xp_cmdshell 被禁用,我无法通过命令行调用它。
该组织规模很小,并且很高兴为安全解决方案而努力,到目前为止,我的印象是他们对安全性有很好的控制。他们已经做出了禁用 xp_cmdshell 的全面决定,但如果我能提出一种安全的方法来允许使用它,我认为他们会很容易接受。
在我的研究中,我遇到了“EXECUTE AS”功能以及带有证书的签名程序,但仍然无法确定任何一种方法是否可以帮助我实现我想要的。
此外,如果您有其他解决方案可以让我实现相同的最终结果,我会全力以赴!