问题标签 [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.

0 投票
0 回答
340 浏览

sql-server - xp_cmdShell 在 SQL Server 2000 中不起作用

我尝试在 SQL Server 2000 中的一个表中的“插入触发器之后”在服务器中运行控制台应用程序。我使用了以下行

其中“C:\temp\SendEmailConsole”是我的应用程序的测试位置。

它适用于 2000 年以后的其他 SQL Server 版本,我使用以下命令激活了它们:

我的第一个问题是为什么master..sp_configure 'xp_cmdshell', 1不能在 SQL Server 2000 中工作?什么是替代命令?

第二个问题是我的“插入后”触发器中的失败是什么?

最后,是否有任何替代解决方案?

谢谢你的帮助。

更新 :

现在,当我在该表中插入记录时,服务器进程被锁定!!!!我的错误是什么?

0 投票
0 回答
265 浏览

sql - xp_cmdshell 在存储过程中重复启用和禁用任何性能?

我在我的 sql server 存储过程中使用一些 dos 命令来执行文件操作和 bcp 命令。所以我多次打开和关闭 xp_cmdshell。我多次这样做是因为,如果我只在 SP 开始时启用一次并在 SP 结束时禁用,很多时候我会收到错误说 xp_cmdshell 未启用。

所以我在我的 SP 中的每个 dos 命令上启用和禁用。通过这样做,sql server 上是否有任何负载或任何性能问题?

我还想要一种方法来设置这个 xp_cmdshell 始终启用。有没有办法做到这一点?

0 投票
0 回答
348 浏览

c# - 从 SQL Server 中的触发器执行 .exe 时出现问题 (master..xp_cmdshell)

我有一个与表关联的触发器:

定义是这样的:

当我进行更新时,这个过程永远不会结束,我必须手动停止 SQL Server 服务。

我的日志文件打印出这一行:

当前命令发生严重错误。结果,如果有的话,应该丢弃。

0 投票
0 回答
1397 浏览

sql-server - 使用 cURL 从 SQL Server 维护计划发布

我希望监视 SQL Server 维护计划中可能发生的各种事件。我想要的方法是让维护计划对数据进行 HTTP POST。经过一些研究,我认为我的首选方法是使用 cURL,但我知道这需要启用 xp_cmdshell,从安全角度来看这并不理想。

所以,我试图把一些 T-SQL 放在一起,它会检查 xp_cmdshell 是否启用,如果没有启用它足够长的时间来运行命令,然后再次禁用它。但是,我下面的内容不是合作的,我很确定这与所有这些 GO 的...

谢谢你的帮助。

0 投票
1 回答
6218 浏览

sql - 从 SQL 查询运行 .exe 文件

我正在尝试从 sql 查询或作业中打开 .exe 文件。

我使用 xp_cmdshell ,它在服务器上启用

当我从 Windows 资源管理器中双击 .exe 时,它​​可以正常运行

但是当我尝试使用 xp_cmdshell 打开它时,它返回给我 1 行受影响并且该行为空。

.exe 文件应该从某个表中删除所有内容。当我从 Windows 资源管理器运行该文件时,.exe 会删除上述表格的所有内容,而当我尝试使用 xp_cmdshell 时,表格的内容保持不变,这意味着 .exe 文件未打开。

有任何想法吗??这是我正在使用的代码

exec master..xp_cmdshell 'C:\inetpub\wwwroot\Digital_Library_Shamaa\ShamaaConsoleIndexer\Publish\setup.exe'

我已将“所有人”权限添加到包含上述 .exe 文件及其所有子文件夹的文件夹中!

0 投票
2 回答
9339 浏览

sql-server - SQL 2012 bcp 调用返回 SQLState = 28000。 NativeError = 18456 用户登录失败

我正在使用一个调用 xp_cmdshell 的 SQL 存储过程。xp_cmdshell 已启用,并且代理帐户设置为“vpexporter”。该存储过程旨在将数据文件写入磁盘。

该存储过程在 SQL 2005 服务器上时一直在工作。环境已升级到 SQL 2012,sproc 不再运行。拨打电话的线路是:

在 SSMS 中运行它会给我以下信息:

SQLState = 28000。NativeError = 18456 错误 = [Microsoft][SQL Server Native Client 11.0][SQL Server]用户“vpexporter”登录失败。

我已经使用 SQL 登录名和域帐户进行了尝试。两者都返回相同的错误。'vpexporter' 已添加为登录名,并已设置为主数据库的用户,对 xp_cmdshell 具有执行权限。

我觉得使用 SQL 版本 2012 调用 xp_cmdshell 的方式肯定发生了一些变化,但是在谷歌搜索时我没有发现任何东西。

我尝试运行“exec xp_cmdshell 'whoami.exe'”,它返回了“nt authority\network service”,这是 SQL Server 正在运行的帐户。

我的理解是,通过使用“sp_xp_cmdshell_proxy_account”指定命令外壳代理帐户,它会改用它。我不想授予 xp_cmdshell 对网络服务的执行访问权限。


我已经取得了一些进展,但仍然卡住了。最初的错误是由于新环境需要通过在我的查询行中添加“-S ServerName\InstanceName”来指定 SQL 实例。我现在得到错误:

无法启动“cvADPTaxCreditExp”存储过程。对象“xp_cmdshell”、数据库“mssqlsystemresource”、模式“sys”的执行权限被拒绝。

我已将 master 中的 xp_cmdshell 的执行权限授予代理帐户,但仍然收到此错误。

我已经用这个验证了它:

是否还有其他地方需要设置安全性?

0 投票
1 回答
2532 浏览

sql-server - 如何不从存储过程中的命令 shell 脚本中选择 OUTPUT 值?

我有一个 SSRS 报告使用的存储过程。

但我需要在运行查询之前运行它:

问题是首先运行它会返回 OUTPUT 单元格。这会抛出报告,因为它期待正确的查询,而不仅仅是“输出”

我该如何去省略这个输出选择?我试图添加“NO_OUTPUT”,但它仍然不起作用:

0 投票
1 回答
443 浏览

c# - 如何以编程方式为 SQL Server 会话映射驱动器

如何在 C# 中将驱动器(例如 y)映射到网络共享位置?SQL 会话需要知道映射的驱动器。这用于将 SQL 数据库从 C# 应用程序备份到映射驱动器(例如 y)。希望以编程方式进行,以便轻松更改映射的驱动器网络位置、用户和密码。

在 SSMS / SQL 会话中,我可以在查询窗口中创建映射驱动器:

然后我可以从 C# 应用程序备份 SQL Server 数据库。想知道,我如何在 C# 中做到这一点?

0 投票
1 回答
2050 浏览

sql-server - 使用 XP_CMDSHELL 将结果导出到 CSV

我是 SQL Server 的初学者。当我尝试运行代码时:

我收到此错误:

0 投票
1 回答
3414 浏览

sql - 使用 SQL 使用带有可变路径的 xp_cmdshell 将多个文件复制到一个文件中

我在 Sql Server 2008 中使用 bcp 创建了一些 csv 文件。现在我需要将这些文件合并为一个。如果我明确定义文件的路径,它会起作用,但如果我声明它,它会告诉我它找不到文件。

声明@variable_path_file1 = "c:\file.csv" 声明@variable_path_file2 = "c:\file2.csv"

它是这样工作的:

但它不是这样工作的:

也不是这样:

都不喜欢这样:

有人能帮助我吗?