问题标签 [sql-agent-job]
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 - SQL Server 管理工作室作业列表下未列出 SQL Server 作业
我为我创建的 SQL Server 代理作业生成了一个脚本。
但是,当我运行脚本时,即使作业已成功创建(能够通过 sysjobs_view 系统视图对其进行验证),但它并未列在 SQL Server 代理作业列表下。
有谁知道问题可能是什么?
谢谢!
c# - 如何从 sql 代理或作业执行 exe 文件?
我不想根据页面请求频繁访问数据库,所以我计划使用单独的 C# 编码 [exe 文件] 创建一个 xml 文件并放入公共路径以从不同的页面/项目访问,这将完成每天早上的东西,所以你能解释一下我如何按计划的方式从 sql 作业或代理执行 exe 文件吗?
我的场景:数据库表只会更新一次,所以我要一个 XML/txt 文件。
谢谢, S.Venkatesh
ssis - 批处理文件通过 SQL Server 代理失败
全部。
我编写了一个 SSIS 包,它从定义的数据库中查询数据并将它们放入特定位置的 CSV 文件中。然后,在 SSIS 包中,我调用了一个预先编写的批处理文件,它在指定目录中创建一个文件夹,将文件夹重命名为“yyyy-mm-dd”格式的日期,然后将创建的 CSV 文件移动到新的创建的文件夹。
批处理文件代码如下:
从我的 SSIS 包运行它时,一切正常。
触发代理作业的服务帐户具有完全的管理控制权。使用 SQL Server 代理将其安排为自动作业时,该文件夹未正确创建。我的想法是 SQL 代理要么无法触发批处理文件,要么它们不兼容。
有没有其他人遇到过这个或知道解决方法?
sql-server - SQL 维护计划在未配置邮件时发送邮件
我在 SQL Server 2008 R2 下有一个维护计划,该计划在午夜运行。在此维护任务中,没有通知操作员任务。在执行维护计划的 SQL 代理作业中,没有电子邮件警报。但是,每次运行此作业时,我都会收到来自 SQL Server 的电子邮件,主题为“SQL Server Message”。我不明白为什么这封邮件一直在发送。以下是邮件正文的开头:
Microsoft(R) 服务器维护实用程序 (Unicode) 版本 10.50.1617 报告在“SERVERNAME”上生成。维护计划:我的维护计划持续时间:00:01:02 状态:成功。细节:
有什么想法为什么要发送此邮件,以及我应该在哪里更新配置以使其仅在失败时发送或根本不发送?
sql - 我需要 T-SQL 中的最佳实践将数据导出到 CSV(带标题)
我需要做的是使用 T-SQL 将数据导出到 CSV 文件中。
而且我很困惑有很多方法可以做到,我不知道选择哪一种,请帮我确认一下:
据我所知,大约有 3 种方法,我希望您帮我确认一下:
使用 Microsoft.Jet.OLEDB.4.0,如下所示:
但这需要 csv 文件存在,并且带有标题
使用 SQLCMD
命令行。
使用 BCP
使用联合,获取数据和它的列标题。
这就是我对 T-SQL 导出为 CSV 的所有理解,请帮我确认。
还有其他方法可以导出到 CSV 吗?
谢谢!
sql - SQL xp_cmdshell 在服务器之间复制文件
我正在尝试将特定文件夹中的所有 .zip 移动到另一个文件夹。源文件夹位于另一台服务器上,目前我正在使用
如果我登录到两台服务器,这将起作用,但目标是通过 sql server 作业代理自动化此过程。我试过了
但我收到以下错误;
sp_xp_cmdshell_proxy_account 执行过程中出错。可能的原因:提供的帐户无效或无法创建“##xp_cmdshell_proxy_account##”凭据。错误代码:“0”。
而且也不确定这是否是我的解决方案。请帮助我如何实现这一目标。server1 上的文件名每天都在更改名称和数量。
asp.net - 将参数传递给 sp_startjob 运行的包
我们有一个通过 SQLAgent 作业运行的 SSIS 包。我们正在从 ASP.NET 网页中启动作业(通过 sp_startjob)。登录到 UI 的用户需要使用用户启动的 SSIS 包登录 - 因此我们需要将 userId 传递给 SSIS 包。问题是我们无法将参数传递给 sp_startjob。
有谁知道如何实现和/或知道上述方法的替代方法
sql-agent-job - 无法在 SQL 代理作业中运行 CmdExec
我在命令提示符中编写了一个命令,该命令旨在使用 psftp.exe 连接到远程服务器并在删除文件之前从中检索文件。当我在命令提示符下运行它时,它可以完美运行。当我尝试将其放入 SQL 代理作业的命令窗口然后运行该作业时,它只是挂起。查看命令有什么会导致这种情况吗?
我听说如果可执行文件显示提示,那么它会导致这种行为,但当然 psftp.exe 不会,所以我认为这不是问题。
我正在我的本地用户下运行该作业,该用户也具有完全的管理员权限。
我应该补充一点,作业中的命令将打开一个文本文件,以便读出 psftp.exe 的命令。我也包含了这个命令。
主要 CmdExec 命令:
文本文件 psftp.exe 命令
c# - 关于跨多个服务器从 Code Behind 执行 SQL 作业代理的建议
所以我有一份在全国 7 个不同服务器上的 7 个不同数据库上运行的工作。该作业不是计划作业,因为我们无法预测每月或每隔一个月何时需要运行它,或者在哪个月的哪一天等。过去,客户端 VPN 连接到每个服务器,然后登录到每个数据库,然后手动启动作业。每个作业有 7 个步骤,每个步骤都将大量数据导出到 excel 文件中,以便稍后导入到仅接受 excel 数据的专有软件中。有点糟糕,但这就是它一直以来的做法。工作开始后我无法更改任何步骤,但我可以通过消除 7 个不同 VPN 连接和另外 7 个服务器登录等的一些初始压力来帮助使事情变得更容易。
我在 C#/.Net 中创建了一个简单的 Web 应用程序,它允许用户选择哪个服务器,然后点击开始按钮,然后这会以某种方式从后面的代码启动 sql 作业。由于我可以将此应用程序放在中央服务器上,因此不需要单独的 VPN 登录或数据库登录。用户所要做的就是登录到网络应用程序来触发一切。我找到了我尝试过的引用,这些引用让我触发了将登录到服务器并通过从 C# 直接访问来启动作业的代码。然而,在所有权限问题和其他错误之间,我觉得这是一个可怕的方向。我发现一些参考资料说我可以执行一些存储过程来触发每台服务器上的作业,这似乎是最简单的方向。
我正在寻找有关完成此任务的最佳方法的建议。我可以只编写一个 proc,然后将其放在每台服务器上,然后根据 web 应用程序下拉列表中选择的服务器,然后它会在该服务器上触发 proc 以开始工作吗?这似乎很容易,而且几乎可以解决一些权限问题。
任何建议表示赞赏。
c# - 调用 SQL 代理作业
我正在尝试从我的 C# 应用程序调用 SQL 代理作业。
我希望能够。
- 按下按钮即可执行作业。
但我也想在作业完成运行或失败时收到某种消息。
来自另一个答案的以下代码示例对我不起作用,因为我需要访问本地 MSDB 数据库。