问题标签 [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-2005 - Microsoft SQL xp_cmdshell 不喜欢带有空格的文件名。我可以用其他东西代替空间吗?
我有这个 TSQL 代码,它使用 BCP 从表中转储数据。它看起来很复杂,但它只是为每个表创建了一个要执行一次的@command 字符串,然后 BCP 将表记录转储到磁盘。这是快速备份所有表数据的好方法。下面我展示了更易于阅读的已解决版本。
是@bcppath
有C:\Program Files\Microsoft SQL Server\90\Tools\Binn\bcp.exe
空间的。
如果在 path 周围不使用双引号""
,则会出现错误'C:\Program' is not recognized...
With using double quotes,它会给出相同的错误。使用双双引号"" ""
,它说The filename, directory name, or volume label syntax is incorrect.
@command 在打印时会解决这个问题:
编辑:
奇怪的是,我ECHO ? &&
在“路径”前面放了一个,它起作用了(用双引号括起来。)....为什么?
sql-server - xp_cmdshell 将文件目录写入文本文件
如何将我的文件目录写入文本文件?我要使用的目录是 C:\
我现在的代码是
虽然它没有写入文件。我需要说这个吗...
sql-server - 在 sql server agent 代理下使用 xp_cmdshell 执行时,控制台应用程序不打印
每当将新行插入数据库表时,我需要自动将 ssrs 报告打印到网络上的特定打印机。数据库表上有一个触发器,它使用 xp_cmdshell 调用控制台应用程序,该应用程序呈现和打印报告。当我从命令提示符执行控制台应用程序时,它可以工作。此外,当我更改 sql server 以管理员身份运行的帐户时,xp_cmdshell 会按预期工作并打印报告。但是,我不想让 sql server 以管理员身份运行,所以我设置了一个代理帐户,使用 sp_xp_cmdshell_proxy_account。我使用管理员作为 SQL Server 执行 xp_cmdshell 的帐户,并将 SQL Server 设置为本地系统运行。然而,
RPC 服务器不可用 - Source:System.Drawing - Stack Trace: at System.Drawing.Printing.StandardPrintController.OnStartPrint(PrintDocument document, PrintEventArgs e) at System.Windows.Forms.PrintControllerWithStatusDialog.OnStartPrint(PrintDocument document, PrintEventArgs e) at System.Windows.Forms.PrintControllerWithStatusDialog.OnStartPrint(PrintDocument document, PrintEventArgs e) at System.Drawing.Printing.PrintController.Print(PrintDocument 文档) 在 System.Drawing.Printing.PrintDocument.Print() 在 PrintQCChecklist.Program.Main(String[] args)
然后我用 xp_cmdshell 调用 whoami.exe,它返回“管理员”。为什么当 sql server 以管理员身份运行时会打印文档,但在代理下以管理员身份运行时会崩溃???(请不要因为使用 xp_cmdshell 而咬我的头。我知道安全风险。谢谢。)
sql-server-2005 - 如何以系统管理员身份运行存储过程?
我不想授予用户 Sysadmin 角色。有没有办法以系统管理员或系统管理员用户的身份运行特定的存储过程?存储过程在 MSSQL 2005 中并具有 xp_cmdshell 下面是代码:
sql-server-2008-r2 - 尝试使用 SQL Server 2008 R2 删除文件夹内容
我正在xp_cmdshell
从 SQL 查询编辑器执行以删除文件夹中的文件,但结果是两行;第一行包含一条消息"The system cannot find the file specified."
,第二行包含"NULL"
我尝试了以下命令:
sql-server - 可以使用 xp_cmdshell 调用的 SSIS 包在 SQL Server 事务中登记吗?
我有一个非常基本的 SSIS 包,其中包含一个数据流任务(从 OLE DB 源到平面文件)。
TransactionOption 属性设置为Required,我尝试将IsolationLevel 选项设置为ReadCommitted、ReadUncommitted 和Serializable。
该包将表 [TestTable] 中的所有行导出到平面文件。
我有以下 SQL 脚本(我目前正在 Management Studio 中运行):
请注意,我在运行包之前从表中删除了所有行,因此理论上包应该将零行导出到文件中,但实际发生的是包挂起(我认为是因为未提交的删除测试表)。问题是:以这种方式调用的 SSIS 包是否真的加入了从 SQL 块顶部开始的事务中,如果没有,可以吗?
sql - 如何通过 sql server 2008 中的 XP_CMDSHELL 通过网络访问文件/文件夹?
我正在尝试使用“EXEC MASTER..XP_CMDSHELL”访问文件夹/目录,它适用于本地文件/文件夹,但它无法通过网络访问文件夹。
请注意,我可以访问网络位置,但不能使用 sql server。
Sql server 在 Windows 身份验证模式下运行。Sql server 正在使用 'nt authority\network service' 帐户访问远程文件夹。
问候
sql - 对象 xp_cmdshell 的权限被拒绝
我在对象“xp_cmdshell”上获得执行权限被拒绝。
这是这种情况,我有一个名为 ExportFile 的存储过程。我正在从虚拟 PC 的 Web 应用程序中通过 SqlCommand 调用存储过程。在执行此命令期间,我收到权限错误
然后我通过 SQL 探查器对其进行调试,并将探查器的结果执行到查询窗口(这意味着我使用从探查器到查询窗口的必要参数运行 StoredProcedure),令人惊讶的是它工作得很好。文件已成功导出。
考虑到我在连接字符串中的登录名是所有者和管理员用户,我想知道这有什么问题。
sql - 表更新触发器异步后从 SQL Server 运行控制台应用程序?
我无法找到解决问题的最佳方法,请记住,我愿意接受更好的方法来完成这项任务。
我需要做的是,在我的表中的一行值更新后,我需要使用该表中的 2 个字段作为控制台应用程序的参数。现在我可以通过在表上设置触发器然后使用xp_cmdshell
参数运行应用程序来完成此操作。但是我需要异步执行此操作,以便我的存储过程在等待控制台应用程序完成时不会挂起。
也许我正在以错误的方式解决这个问题。
我正在使用 SQL Server 2008
编辑 - Andriy M 的答案似乎是目前最好的,但正如评论中所述,我需要一种方法来“立即”实现这一点。是否可以从 SP 或触发器调用作业?或者也许是另一种实现类似结果的方法?
感谢大家的帮助。
编辑 - 我在下面选择他的答案,因为它帮助我找到了更好的解决方案。我最终要做的是创建一个作业,它只针对另一个跟踪更新行的表查询我的表。然后当我有我需要更新的行时,我使用 xp_cmdshell 以指定的参数运行我的应用程序。到目前为止,该解决方案似乎运行顺利。
sql-server - SQL Server 2000 xp_cmdshell
使用 SQL Server 2000 我正在尝试在查询分析器中使用此命令
我收到了这个错误:
服务器:消息 2812,级别 16,状态 62,第 1 行
找不到存储过程“xp_cmdshell”。
基本上我想从系统中删除这个文件......我需要运行什么命令来做到这一点?