问题标签 [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-server - xp_cmdShell 在 SQL Server 2000 中不起作用
我尝试在 SQL Server 2000 中的一个表中的“插入触发器之后”在服务器中运行控制台应用程序。我使用了以下行
其中“C:\temp\SendEmailConsole”是我的应用程序的测试位置。
它适用于 2000 年以后的其他 SQL Server 版本,我使用以下命令激活了它们:
我的第一个问题是为什么master..sp_configure 'xp_cmdshell', 1
不能在 SQL Server 2000 中工作?什么是替代命令?
第二个问题是我的“插入后”触发器中的失败是什么?
最后,是否有任何替代解决方案?
谢谢你的帮助。
更新 :
现在,当我在该表中插入记录时,服务器进程被锁定!!!!我的错误是什么?
sql - xp_cmdshell 在存储过程中重复启用和禁用任何性能?
我在我的 sql server 存储过程中使用一些 dos 命令来执行文件操作和 bcp 命令。所以我多次打开和关闭 xp_cmdshell。我多次这样做是因为,如果我只在 SP 开始时启用一次并在 SP 结束时禁用,很多时候我会收到错误说 xp_cmdshell 未启用。
所以我在我的 SP 中的每个 dos 命令上启用和禁用。通过这样做,sql server 上是否有任何负载或任何性能问题?
我还想要一种方法来设置这个 xp_cmdshell 始终启用。有没有办法做到这一点?
c# - 从 SQL Server 中的触发器执行 .exe 时出现问题 (master..xp_cmdshell)
我有一个与表关联的触发器:
定义是这样的:
当我进行更新时,这个过程永远不会结束,我必须手动停止 SQL Server 服务。
我的日志文件打印出这一行:
当前命令发生严重错误。结果,如果有的话,应该丢弃。
sql-server - 使用 cURL 从 SQL Server 维护计划发布
我希望监视 SQL Server 维护计划中可能发生的各种事件。我想要的方法是让维护计划对数据进行 HTTP POST。经过一些研究,我认为我的首选方法是使用 cURL,但我知道这需要启用 xp_cmdshell,从安全角度来看这并不理想。
所以,我试图把一些 T-SQL 放在一起,它会检查 xp_cmdshell 是否启用,如果没有启用它足够长的时间来运行命令,然后再次禁用它。但是,我下面的内容不是合作的,我很确定这与所有这些 GO 的...
谢谢你的帮助。
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 文件及其所有子文件夹的文件夹中!
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 的执行权限授予代理帐户,但仍然收到此错误。
我已经用这个验证了它:
是否还有其他地方需要设置安全性?
sql-server - 如何不从存储过程中的命令 shell 脚本中选择 OUTPUT 值?
我有一个 SSRS 报告使用的存储过程。
但我需要在运行查询之前运行它:
问题是首先运行它会返回 OUTPUT 单元格。这会抛出报告,因为它期待正确的查询,而不仅仅是“输出”
我该如何去省略这个输出选择?我试图添加“NO_OUTPUT”,但它仍然不起作用:
c# - 如何以编程方式为 SQL Server 会话映射驱动器
如何在 C# 中将驱动器(例如 y)映射到网络共享位置?SQL 会话需要知道映射的驱动器。这用于将 SQL 数据库从 C# 应用程序备份到映射驱动器(例如 y)。希望以编程方式进行,以便轻松更改映射的驱动器网络位置、用户和密码。
在 SSMS / SQL 会话中,我可以在查询窗口中创建映射驱动器:
然后我可以从 C# 应用程序备份 SQL Server 数据库。想知道,我如何在 C# 中做到这一点?
sql-server - 使用 XP_CMDSHELL 将结果导出到 CSV
我是 SQL Server 的初学者。当我尝试运行代码时:
我收到此错误:
sql - 使用 SQL 使用带有可变路径的 xp_cmdshell 将多个文件复制到一个文件中
我在 Sql Server 2008 中使用 bcp 创建了一些 csv 文件。现在我需要将这些文件合并为一个。如果我明确定义文件的路径,它会起作用,但如果我声明它,它会告诉我它找不到文件。
声明@variable_path_file1 = "c:\file.csv" 声明@variable_path_file2 = "c:\file2.csv"
它是这样工作的:
但它不是这样工作的:
也不是这样:
都不喜欢这样:
有人能帮助我吗?