问题标签 [xp-cmdshell]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql - xp_cmdshell 本机错误 208,SQL Server 2008 R2 中的 BCP
我一直在尝试获取大型和多重连接的 SELECT 语句的结果,并将查询结果作为 CVS 文件通过电子邮件发送。我有正确的查询和电子邮件,但我无法自动将结果导出为 CVS 文件。从我一直在阅读的内容来看,自动导出查询结果的最佳选择是一个名为“BCP”的工具。
我尝试在 Management Studio 中像这样使用 BCP:
FootPrint 是特定数据库的名称,而 datex_footprint 是模式。(这不是真正的查询,只是一个测试)。
当我运行它时,我得到的错误是:“SQLState=S0002, NativeError = 208”“错误 = [Microsoft][SQL Server Native Client 10.0][SQL Server] Invalid object name 'datex_footprint.Shipments'。”
我 100% 肯定 datex_footprint.Shipments 是我要测试的数据的正确模式\表访问。
有没有人看到我在尝试将此结果导出到 CSV 文件时遗漏了什么或做错了什么?不过,具体来说,我正在尝试自动化这个过程。我知道如何将结果导出到 CSV 文件中,但我想在 T-SQL 中完成,这样我就可以按时间自动生成文件。
任何帮助,将不胜感激!
sql-server - SQL Server:xp_cmdshell 的权限非常有限
我不知道它是否应该是这样的。当我尝试对xp_cmdshell
程序做任何事情时,它几乎每次都会给我Access Denied
。
例如我不能创建新.txt
文件,不能创建新用户,什么都没有。我以 Windows 管理员用户身份登录。
有没有办法以管理员权限运行此过程?
sql - SQL xp_cmdshell 在服务器之间复制文件
我正在尝试将特定文件夹中的所有 .zip 移动到另一个文件夹。源文件夹位于另一台服务器上,目前我正在使用
如果我登录到两台服务器,这将起作用,但目标是通过 sql server 作业代理自动化此过程。我试过了
但我收到以下错误;
sp_xp_cmdshell_proxy_account 执行过程中出错。可能的原因:提供的帐户无效或无法创建“##xp_cmdshell_proxy_account##”凭据。错误代码:“0”。
而且也不确定这是否是我的解决方案。请帮助我如何实现这一目标。server1 上的文件名每天都在更改名称和数量。
sql - 从存储过程调用 xp_cmdshell
作为概念证明,我们尝试将xp_cmdshell
命令插入现有解决方案。目前,一个应用程序在我们的数据库服务器上调用一个存储过程,在分析时看起来像:
SP 本质上是打开一个事务,插入一行,然后提交。在这里面我们添加了:
然后,当我们在 SSMS 查询窗口中运行第一个代码块时,文件会按预期在服务器上生成。但是当我们使用应用程序调用它时,行会正常插入,但文件没有生成?
SQL Server 和 SQLAgent 用户是本地管理员和系统管理员,因此在那里看不到任何问题。尝试使应用程序用户也成为本地管理员,但无济于事,它已经是系统管理员。
这是 SQL Server 2000
sql-server - xp_cmdshell 错误“文件名、目录名或卷标语法不正确。”
我正在将一些代码部署到生产中,这是将系统从 SQL 2000 升级到 SQL 2008。
我的一个存储过程中有一个神秘的问题,它从数据库中获取一些数据,然后通过 bcp(成功)创建一些文件,然后它尝试执行几个移动命令,即使文件夹它们都失败了肯定存在并且服务以系统管理员身份运行。
这是它试图执行的代码:
这是我回来的错误信息
返回的命令行错误是
这在相同设置的 UAT 版本的数据库中工作正常
有什么建议么?
更新:
如果源目录中没有文件,我可以重现该错误。我认为源目录中可能应该有文件,但我想知道在 bcp 创建它们之前是否存在延迟,并且当它执行移动时它们还不存在?有任何想法吗?
sql-server - 允许用户从 SQL 执行 BCP 导出命令的最安全方法是什么?
我目前在一个环境中工作,在这种环境中,从手动运行的 SQL 脚本中以 编程方式导出表的能力将有很大帮助。
从脚本执行导出将是从存储过程中运行整个过程的第一步,因此我必须能够从 SQL 启动导出。
该组织目前在大多数服务器上具有以下配置 -
- SQL Server 2005 或 2008
- xp_cmdshell -禁用
- CLR -启用
最终,我希望能够调用传递以下参数的过程并让它执行导出。
- 表名
- 文件路径/名称(在网络共享上)
- 文件格式
目前 BCP 在功能方面似乎是一个完美的选择,但由于 xp_cmdshell 被禁用,我无法通过命令行调用它。
该组织规模很小,并且很高兴为安全解决方案而努力,到目前为止,我的印象是他们对安全性有很好的控制。他们已经做出了禁用 xp_cmdshell 的全面决定,但如果我能提出一种安全的方法来允许使用它,我认为他们会很容易接受。
在我的研究中,我遇到了“EXECUTE AS”功能以及带有证书的签名程序,但仍然无法确定任何一种方法是否可以帮助我实现我想要的。
此外,如果您有其他解决方案可以让我实现相同的最终结果,我会全力以赴!
sql - xp_cmdshell queryout 正确生成 Excel 文件,但文件中间有一个空行
我有一个在每个月底运行一次的存储过程。
它会生成一些文件。其中之一是 .csv 文件。
这将创建文件 OK。问题是在文件的中间,有一个空白行。我试图理解为什么会发生这种情况。我在想也许它与查询结果的大小有关?该查询返回超过 15k 条记录以放入 Excel 文件中。它是在试图打破它吗?
有没有人有任何线索。这里的问题是解决这个问题非常困难,因为语法方面/逻辑方面,这没关系,所以我不知道问题可能是什么。
任何帮助是极大的赞赏。
这是excel文件的截图:
sql-server - bcp - dump via xp_cmdshell vs. sp_oaMethod Security
I'm using Microsoft SQL Server 2008 R2 and I try to dump a table via bcp (with a scheduled Job). First of all I implemented it with xp_cmdshell, but I've heard, that this should be avoided due to security reasons.
So my question: What's about sp_oaMethod? Should it be used? If not, why not? And could you suggest other possibilities?
sql - 如何使用 SQL Server 检查目录是否存在?
我知道这个命令会创建一个目录:
但是如何检查“C:\testing\”是否存在?
sql-server - xp_cmdshell 代理未执行
我创建了一个具有系统管理员访问权限的代理帐户。用户使用它来执行他们选择的 bcp 命令。
但是,当用户想要执行他们得到的过程时:对象'xp_cmdshell',数据库'mssqlsystemresource',模式'sys'的EXECUTE权限被拒绝
这是我的过程:
我的代理帐户是本地系统管理员帐户。