问题标签 [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.

0 投票
1 回答
352 浏览

python - 运行从 pyinstaller 创建的 python 可执行文件时挂起 SQL 作业步骤

概括:

我设置了一个 python 脚本(在本例中进行了简化,删除了所有 ODBC/SQL 语句),它在子目录中创建了两个日志文件。然后我使用 PyInstaller 从这个名为 TestApp.exe 的文件中创建了一个 exe 文件。以 SQL 服务器代理用户的身份手动运行可执行文件。当 exe 文件在 SQL Server 中设置为作业步骤时,使用 CmdExec 函数,进程挂起,并且不会在使用任务管理器之外关闭。

我在“执行作业'TestApp'”上得到一个永久旋转的“开始工作”绿色圆圈

找出为什么批处理文件在不执行 exe 文件的情况下成功“运行”,并找出为什么直接指向时 exe 文件挂起,是我的目标。

本地虚拟盒子正在运行 Windows 10

正在使用 Windows Server 2016

SQL 服务器是版本 13.0.5292.0

正在使用 Python 3.6.6。

正在使用 PyInstaller 3.5。

我试过的东西:

我有其他几个执行 VB/shell 代码的 EXE 文件在同一目录中成功运行,设置完全相同。

我尝试使用 windows 任务调度程序来运行这个 exe 文件,并且得到了相同的结果。

我已经研究过更改路径以导致不同的错误(然后导致作业正确出错)。将用户所有者更改为具有不同权限设置的单独管理员用户会导致作业正确失败。

我试图在没有 SQL 作业的情况下手动作为单独的管理员用户运行,并且这些工作正常。

我试图将 exe 文件作为批处理文件作业运行:

启动 E:\SQLLoadFiles\TestApp\TestApp.exe

上面的批处理文件导致作业成功,但是exe文件永远不会运行。批处理文件在手动运行时(使用不同的目录指针,因为 E:\ 驱动器特定于 SQL Server 代理用户),它可以成功运行而没有问题。

我尝试将脚本简化为只创建简单的文件(将在下面看到)。

我尝试作为 SQL 服务器代理进行远程处理,并在同一 E:\ 驱动器位置手动运行可执行文件,它成功执行而没有问题。

我已确保 pyinstaller 未设置为使用 --noconsole 选项显示控制台,因为我听说在后台运行时可能会导致问题。

最后一点:当步骤挂起时,步骤/作业的历史不会显示作业正在运行。

作业/步骤的 SQL 设置:

蟒蛇代码:

我希望要么触发错误消息,要么让应用程序开始,创建日志文件,然后完成;关闭进程。

0 投票
0 回答
110 浏览

ssis - SQL Server 代理作业已执行,但日志日期显示未来时间

我有一个 SQL Server(2014) 作业计划在每天“上午 11:00”运行。

我在“2020/01/08 AM 11:40”看到了作业的日志,Windows服务器的时钟工具显示正确。

但是我发现作业的最后一条记录是在“2020/01/08 PM 06:12 ”执行的,

我不知道发生了什么,有没有人有同样的问题并且知道答案?

0 投票
1 回答
103 浏览

sql-server - 运行从 SQL Server 作业运行 2 个其他批处理文件的批处理文件

我在 sql server 作业中有这一步 在此处输入图像描述

AAA.bat内容是这样的

BBB.bat并且CCC.bat每个都运行 ETL 包。当我运行上述步骤时,它会引发错误

BBB.bat 不被识别为内部或外部命令、可运行程序或批处理文件... CCC.bat 不被识别为内部或外部命令、可运行程序或批处理文件

但是,当我替换AAA.batBBB.bat或者CCC.bat它按预期工作时。

0 投票
0 回答
598 浏览

ssis - 在 SQL Server 代理 T-SQL 作业步骤中选择哪个“运行方式”

我有一个 SSIS 包,我想使用存储过程在 SQL Server 代理 T-SQL 作业中运行,因为我在另一篇文章中描述了一个权限问题:

使用代理为 SQL Server 代理提供 Windows 凭据以访问 azure db 无法正常工作 (仍未解决)

我创建了一个测试用例,描述如下:

1.SSIS包运行:在Azure数据库中插入一行

2.执行包的脚本:

PS:这段代码没有问题。它在查询中运行时成功执行。

3.创建工作

所有者:DOMAIN\USER_NAME

步骤(仅一步):

测试用例结束。

似乎只有 3.4 方法更接近我的目标,但不知道下一步该做什么。

我应该尝试任何其他组合还是应该创建一个具有 Windows 身份验证的用户?

任何想法都有帮助

0 投票
0 回答
208 浏览

sql-server - 成功失败的 SQL Server 代理作业?- 该语句已终止。消息 3621。步骤成功

我有一个 SQL Server 作业,其中包含一些步骤,包括执行存储过程。作业成功运行。但是,根据我的理解,一些执行存储过程的步骤并没有完全运行。消息是

该语句已终止。消息 3621。该步骤成功。

在此处输入图像描述

突出显示的步骤应该比屏幕截图中运行的时间更长。因为这些存储过程包括将数百万行插入到目标表中。当我从 SSMS 运行这些存储过程时,它工作得非常好。我不明白为什么 SQL Server 作业代理会发生这种情况?

我已经配置了作业,如果任何步骤失败,它将退出作业。 在此处输入图像描述

在此处输入图像描述

0 投票
1 回答
702 浏览

sql - 从 SQL 计划作业执行时,ISServerExec.exe 崩溃

我有在 Visual Studio 2019 中运行良好的 ETL 包

当我们从 SQL Server 代理部署和运行它时,它会给出以下错误

附加信息:包设置为“使用密码加密敏感”,我们在 SQL 作业步骤设置中设置连接密码

错误应用程序名称:ISServerExec.exe,版本:14.0.1000.169,时间戳:0x599ccc42

错误模块名称:**OraOLEDB11.DLL,版本:11.2.0.1,时间戳:0x4b9a19db

异常代码:0xc0000005

故障偏移:0x000000000002c000

错误进程 ID:0x3954

错误应用程序启动时间:0x01d642753af07699

错误的应用程序路径:c:\Program Files\Microsoft SQL Server\140\DTS\Binn\ISServerExec.exe

错误模块路径:C:\oracle\oracleclient64\bin\OraOLEDB11.DLL

报告 ID:0db0c583-e4aa-4dec-89f5-509f3969595c

故障包全名:

错误的包相关应用程序 ID:


更新 尝试从 SSMS 中的集成服务目录执行包但也失败了,详细错误是“无法从连接管理器获取连接”它看起来与 oracle 数据库连接中的密码有关

0 投票
1 回答
466 浏览

sql-server - 无法从 Visual Studio 中的 SSMS 正确打开基于 SSIS 包的作业

我需要了解 SQL Server 2012 中的某个工作是做什么的。这是在我开始在这里工作之前有人创建并离开公司的工作,我团队中没有人知道这份工作的作用。

该作业不是基于 SQL 命令的,而是基于 SSIS 包(我不熟悉),该包指向与作业同名的维护计划。正如我在互联网上阅读的那样,我通过集成服务类型连接,然后是存储包 -> MSDB -> 维护计划,右键单击维护计划并将其导出到 .dtsx 文件。

我在 Visual Studio 2010 Shell 中打开它,但由于此错误,我无法编辑任何内容:

名称为“”且创建名称为“”的任务未在此计算机上注册使用。

我也没有那个包的解决方案资源管理器,如果我创建一个新项目的任务图标,任务的图标似乎有点褪色。

也许过时的 VS 版本可能是问题所在?也许还有其他方法可以查看这项工作的作用?

我以前从未与 SSIS 合作过,所以也许我遗漏了一些非常基本的东西,但我已经上网好几天了,找不到任何解决方案。

请帮忙,

提前致谢

0 投票
1 回答
185 浏览

sql-server - 我可以通过链接服务器运行 SQL Server 作业吗?

我有两台 SQL Server 机器:

  1. SqlServer-1
  2. SqlServer-2

我在SqlServer-1named上创建了一个工作RunExeFile

SqlServer-2可以SqlServer-1通过链接服务器访问。

我可以RunExeFile从存储过程开始工作SqlServer-2吗?

0 投票
0 回答
26 浏览

sql-server - 在每一步之后运行一个作业步骤,反之亦然

我在我的 SQL Server 代理中创建了一个作业,它创建了 4 个步骤。现在这些步骤应该按照如下逻辑执行:

但问题是第 4 步必须在第 1 步、第 2 步、第 3 步之后运行并在最后得到计数

所有步骤都运行 SSIS 包

有没有可能做到这一点,我怎样才能把我的逻辑放在一个 sql 脚本中

0 投票
0 回答
18 浏览

ssis - 多个 SQL Server 作业的公共属性文件

在我们的项目中,我们有很多 SQL Server 作业(本地 SSIS 包),并且在所有这些作业中,我们都有一些共同的属性。

我们没有找到将这些属性“放置”在某个地方以供所有 SQL Server 作业使用的方法。

目前,我们曾经在作业的一个步骤的“设置值”中为每个作业设置这些属性,但这有点多余,我们认为我们可以做得更好。

问题是:如何/在哪里可以将这些属性放在一个公共位置以供所有 SQL Server 作业使用?

环境:SQL Server 2019