标签: scheduled-tasks

如何在没有外部类似 cron 的工具的情况下在 Postgresql 上运行重复任务?

我想定期调用存储过程。在 Oracle 上,我会为此创建一个工作。我发现 Postgresql 可以通过使用外部工具(cron 等)和 PgAgent 很好地模拟这一点。

您是否知道不涉及外部工具的“内部”替代方案?

  • 我想避免存储在 pgAgent 命令行上的密码的安全问题。
  • 我想避免任何用于隐藏密码 ( ~/.pgpass) 的额外系统配置。

Postgresql 8.3
Linux RedHat 64 位

postgresql jobs scheduled-tasks

48
推荐指数
3
解决办法
9万
查看次数

我正在使用 SQL Server 代理来安排非数据库任务 - 这是一个坏主意吗?

由于我是一名 DBA(并且在许多情况下,事实上的系统管理员),SQL Server 安装在我必须定期使用的几乎每台服务器上。我最近意识到我在几乎所有情况下都使用 SQL 代理作为作业调度程序,而不是本机 Windows 任务调度程序。

从我的角度来看,SQL Agent 比原生的 Windows 任务计划程序有很多优势:

  • 远程(从我的工作站)启动/停止/监控任务
  • 共享计划(而不是每个任务单独执行)
  • 多个步骤和控制流程
  • 不同类型的任务
  • 失败/完成警报
  • 可以配置为不同的用户
  • (适度)描述性错误消息,而不仅仅是错误代码

但是,我无法逃避这是一种不好的做法 - SQL 代理应该只保留用于与数据库相关的任务,并且我应该让操作系统级别的任务在 Windows 任务计划程序中运行,尽管我不喜欢它的可用性。

这样依赖SQL Agent可以吗?如果没有,我是否应该考虑使用第三方 Windows 任务调度程序来获得我正在寻找的某些功能?

sql-server sql-server-agent windows-server scheduled-tasks

13
推荐指数
2
解决办法
3911
查看次数

每小时在 MS SQL Studio 中自动执行查询

我在一家大企业中支持一个应用程序,我的职责之一是清理数据。我需要每小时执行一个查询,我想自动化它。由于组织政策,我无法创建 SQL Server 代理作业或修改架构,我只能操作数据。

无尽的

WHILE(1=1)
BEGIN 
WAITFOR DELAY '01:00';
--do work
END
Run Code Online (Sandbox Code Playgroud)

为我完成这项工作,但我对永久开放连接的想法不屑一顾。

理想情况下,我会编写 MS SS 本身的脚本以每小时执行一段给定的代码,但我不确定这是否可行。

这个问题有什么解决办法吗?

sql-server scheduled-tasks

13
推荐指数
2
解决办法
2万
查看次数

这个 SQL 请求什么时候产生结果?

我正在开发一个 SQL Server 数据库,其中包含订单和执行这些订单的机器。一台机器不能同时分配多个有效订单。换句话说:这个 SQL 请求永远不会产生结果:

SELECT MachineId
  FROM Orders
  WHERE (Orders.Status=1)
  GROUP BY MachineId
  HAVING COUNT(Id)>1
Run Code Online (Sandbox Code Playgroud)

我在 Microsoft SQL Server Management Studio 环境中打开此 SQL 请求,每次按 时F5,我确实看不到任何结果。

但是,我确信 SQL 查询有时确实会产生结果,并且我对那些时间以及当时查询的结果很感兴趣。

有人知道我如何找到这个吗?(“archive-log”标签只是一个想法)

提前致谢

sql-server scheduled-tasks archive-log

7
推荐指数
2
解决办法
1632
查看次数

如何安排PostgreSQL复制?

我正在阅读 postgresql 复制解决方案,但是,即使我刚刚开始了解它是如何工作的,另一个疑问也出现了。我将使用 postgres 内部复制解决方案,但据我所知,每个事件都将在实现时复制;例如,如果我将一些数据插入主站,它会自动复制到从站......我对吗?

嗯,是这样吗,我正在寻找将此复制安排为被动备份的方法,但问题是,例如,我需要在每个星期一晚上将数据库与当天插入的所有数据一起复制到Amazon EC2 虚拟服务器中的从数据库。我正在考虑使用 cron 作为第一种方法,但阅读 postgres 文档我意识到实际上只配置必要的文件,postgres 为你做...

那么,我怎样才能在需要的时刻安排复制呢?

PD.-时间表可能会有所不同,因此它需要完全通用,而且...我正在使用 Ubuntu 12.04 和 PostgreSQL 9.1,就像在主从中一样。谢谢

postgresql replication scripting scheduled-tasks amazon-rds

5
推荐指数
1
解决办法
1025
查看次数

如何每天在特定时间自动执行存储过程?

你能帮我如何在 SQL 数据库中自动执行存储过程而不在 SQL 中进行任何事务吗?我想在特定的修复时间执行。

sql-server sql-server-2008-r2 sql-server-express scheduled-tasks

5
推荐指数
2
解决办法
6万
查看次数

pg_cron crontab 日志问题

我们正在尝试在 PostgreSQL 中配置定期作业。为此,我们在运行 Postgres 9.6 的 Linux 机器上安装了citusdata pg_cron项目。

系统信息:

按照pg_cron存储库中的说明,我们在postgresql.conf以下配置中进行设置:

shared_preload_libraries = 'pg_cron'   
cron.database_name = 'our db_name'
Run Code Online (Sandbox Code Playgroud)

然后,db_name我们创建了 EXTENSION pg_cron

CREATE EXTENSION pg_cron;
Run Code Online (Sandbox Code Playgroud)

我们安排了我们的第一个 Postgres 工作:

SELECT cron.schedule('45 12 * * *', $$CREATE TABLE testCron AS Select 'Test Cron' as Cron$$);
Run Code Online (Sandbox Code Playgroud)

因此,jobid 1 被创建并列在表中cron.job

我们预计在 12:45 将启动计划作业的命令。但什么也没有发生。

testCron表未创建,我们在任何日志中都没有踪迹。

我们还定义了 LOG_FILE/usr/src/pg_cron/include/pathnames.h …

postgresql scheduled-tasks cron

5
推荐指数
1
解决办法
2426
查看次数

文件组中的磁盘空间不足

我的一项工作失败了,它显示以下消息。

Error:

Could not allocate a new page for database 'Reporting' because 
of insufficient disk space in Filegroup ‘PRIMARY’.  
Create the necessary space by dropping objects in the filegroup, 
or setting autogrowth on for existing files in the filegroup. 
[SQLSTATE 42000] (Error 1101) The step failed.
Run Code Online (Sandbox Code Playgroud)

任何想法如何解决这个问题。

谢谢,阿

sql-server-2008-r2 jobs errors scheduled-tasks

4
推荐指数
2
解决办法
3万
查看次数

为什么作业的 next_run_time 是错误的?

我有一个关于工作统计的问题。因此,我有一份具有以下时间表的工作:每天在上午 12:00:00 到晚上 11:59:59 之间每 5 分钟发生一次。时间表将于 2017 年 12 月 13 日开始使用。

在 2019-10-20 上午 11:27 我运行了两个脚本来获取 last_run_time 和 next_run_time,下面是脚本及其对应的结果:

USE msdb
GO
SELECT J.Name                     AS 'Job Name'
         ,'Job Enabled' =        
          CASE J.Enabled
                 WHEN 1 THEN 'Yes'
                 WHEN 0 THEN 'No'
          END
         ,STUFF(
          STUFF(CAST([active_start_date] AS VARCHAR(8)), 5, 0, '-')
          , 8, 0, '-')                   AS 'Job Schedule Start Date'
         ,STUFF(
          STUFF(CAST([active_end_date] AS VARCHAR(8)), 5, 0, '-')
          , 8, 0, '-')                   AS 'Job Schedule End Date'
         ,'Job Frequency' =
          CASE …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-agent jobs scheduled-tasks sql-server-2014

4
推荐指数
1
解决办法
606
查看次数