问题标签 [sql-server-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-server - SQL Server 作业依赖性
我在 SQL Server 2000 中有一个工作,它每晚运行并刷新数据,我有另一个工作在数据刷新并更新一些记录后运行。这两个工作没有相互关联。如果数据刷新作业失败,我需要知道如何停止或禁用更新作业。
sql-server - 如何从存储过程启动 SQL Server 作业?
如何创建存储过程来启动 SQL Server 作业?
sql-server - 从 sql server 作业写入 Windows 事件查看器
我正在使用 sql server 2012 并在其上设置了一些作业以在一天中的不同时间运行。如果工作失败,我想收到这样的提醒。
在服务器上,我有一些软件可以监控事件查看器。如果作业失败,我想设置我的作业以写入服务器事件查看器。我想用事件 id 999 和错误级别来写。
我该如何设置我的工作来做到这一点?
sql - 获取在 UPDATE 触发器上运行 SQL 查询的作业
我正在尝试为在 Web 应用程序、SQL Server 代理作业和手动运行对数据库的查询中执行的操作创建审计跟踪。我正在尝试使用触发器来捕获某些表上的更新、插入和删除。
总的来说,这个过程是有效的。例如,用户在 Web 应用程序中执行更新,触发器将更新的数据写入我定义的审计跟踪表,包括执行操作的人的用户名。从 Web 应用程序或手动查询的角度来看,这工作得很好,但我们也有几十个 SQL Server 代理作业,我想捕获哪个运行了特定的查询。每个代理作业都使用相同的用户名运行。这也可以正常工作并将用户名正确输入到表中,但我找不到哪个作业调用此查询。
我当前的“解决方案”是找出触发时当前正在运行的作业,因为其中之一必须是正确的。使用:
我运行了一个特定的作业来测试它似乎可以工作,因为任何正在运行的 OTHER 作业都将列在 中@runningJobs
,但它不会记录运行它的作业。我假设当触发器运行时,作业已经完成。
有没有办法我可以找出什么工作调用了触发触发器的查询?
编辑:我尝试更改SELECT
上面的查询以获取在过去 2 分钟内运行或当前正在运行的任何作业。SQL 查询现在是:
当我运行作业时,然后在作业运行时运行上述查询,将返回正确的作业。但是,当 SSIS 包运行时,无论是通过 SQL Server 代理作业还是在 SSIS 中手动运行,@runningJobs
都不会填充并仅返回NULL
.
所以我现在认为这是 SSIS 和master.dbo.xp_sqlagent_enum_jobs
. 还有其他想法吗?
编辑#2:实际上不要认为这是权限错误。此代码下方有一条INSERT
语句,如果它是权限错误,则该INSERT
语句不会运行,因此审核行不会添加到数据库中。因此,由于数据库中添加了一行,只是没有runningJobs
填充该字段。奇怪的时代。
编辑#3:我只是想澄清一下,我正在寻找一个不需要我进入每项工作并改变任何东西的解决方案。有太多的工作使这成为一个可行的解决方案。
sql-server-2008-r2 - 来自 SQL Server 作业的电子邮件通知
我们希望在 SQL Server 2008 R2 上的数据库邮件中为我们团队中的所有开发人员设置一个配置文件,以便在通宵工作完成后接收通知。
不幸的是,在作业的通知属性中,它只允许我们选择一个运算符(数据管理开发人员),使用运算符的问题是有多少个字符(因此有多少个电子邮件地址)有 100 个 nvarchar 限制) 可以添加。
我们如何为通知选择新的配置文件?我们必须删除操作员吗?
sql-server-2008-r2 - SQL Server - 在作业失败时发送电子邮件任务
我们有一项每天运行数次的工作进行增量备份。
我们添加了一个步骤“在作业失败时发送电子邮件”,如果第一步(增量备份)失败,它会使用 T-SQL 向管理员团队发送电子邮件。
不幸的是,我们必须在第二步中错误地配置了高级选项,因为即使第一步成功,我们也会收到一封电子邮件。
第二步,邮件发送成功。
我们为第一步配置了如下选项:
- 成功退出报告成功
- 失败时转到第 2 步 - 发送电子邮件
我们为第二步配置了如下选项:
- 成功退出报告成功
- 失败时转到第 2 步 - 发送电子邮件
现在,当第 1 步的任务成功时,我们不希望收到电子邮件。当第 1 步失败时,我们会收到一封电子邮件。
那么我们做错了什么?
php - Linux 服务器:向我的用户发送邮件
我对创建服务器每天运行的服务器脚本和作业相当陌生。
我的问题如下:
我想向我的用户发送一封电子邮件,提醒他们必须完成的特定工作。
我的想法:
数据库 -> 收集所有需要通知的用户并将他们插入到表中notify_user
脚本 -> 查找所有用户并向他们发送邮件
脚本 -> 从表中删除所有
然后,此脚本将在每天的特定时间运行,例如每 24 小时运行一次。
正如我之前所说,我并不热衷于如何设置这样的脚本。
我的服务器是 Ubuntu 服务器,我的应用程序是 PHP 程序。
有谁知道我如何实现这一点,或者知道我在哪里可以找到关于这个主题的一些文档,因为我找不到任何可以解决这个问题的东西。
sql-server-2012 - sp_send_dbmail 在 SQL Server 代理作业中失败
有人可以解释并解决以下问题。谢谢。
我在 Windows Server 2012 上的 SQL Server 2012 中运行它时遇到了这个查询问题。
查询 (@query) 在单独运行时运行得很好,但在放入 SQL Server 代理作业时没有显示任何结果(见下文)。
有趣的是,当我在 Windows Server 2008 上运行的 Sql Server 2012 中对其进行测试时,它无论是独立运行还是在 SQL Server 代理作业中都完美运行!!?
sql-server - 数据库备份失败 SQL Server 2012 Enterprise
我正在运行拆分磁盘备份,例如:
它失败并出现以下错误:
以用户身份执行:DOMAIN\sqlserviceaccount。为数据库“At”、文件 1 上的文件“At”处理了 257856 页。[SQLSTATE 01000](消息 4035)已处理 10%。[SQLSTATE 01000](消息 3211)已处理 20%。[SQLSTATE 01000](消息 3211)已处理 30%。[SQLSTATE 01000](消息 3211)40% 已处理。[SQLSTATE 01000](消息 3211)已处理 50%。[SQLSTATE 01000](消息 3211)已处理 60%。[SQLSTATE 01000](消息 3211)已处理 70%。[SQLSTATE 01000](消息 3211)80% 已处理。[SQLSTATE 01000](消息 3211)写入“O:\sql_bak\At_full1.bak”失败:112(磁盘上没有足够的空间。)[SQLSTATE 42000](错误 3202)备份数据库异常终止。[SQLSTATE 42000](错误 3013)。步骤失败。
数据库 At 的大小为 4TB,驱动器 L、M 和 O 的大小分别为 2TB。这些驱动器是完全免费的。它成功运行了一次,从那以后一直失败。请建议。
sql-server - 无法从 SQL Server 代理运行批处理文件(拒绝访问)
我正在尝试从 SQL Server 代理执行批处理文件(因为它需要在运行某些 SSIS 包之前完成)。当我执行作业时,它会在几秒钟内失败,说“访问被拒绝”。
运行 SQL Server 代理的帐户对包含批处理文件的文件夹具有完全控制权。批处理的结果将是删除文件夹中的一些文件,调用 web 服务并从 web 服务中取回这些相同的文件。当我使用自己的(管理员)帐户启动批处理文件时,我可以运行它。
我用谷歌搜索并找到了其他几个问题和答案,但没有一个涵盖我的问题。我希望你能指出其他选择。
谢谢你的帮助。
约翰
批处理文件内容:
来自 SQL Server 代理作业的批处理文件执行语句(类型为操作系统 (CmdExec)):