标签: sql-server-agent

SQL Server 备份过程调优

我在一家拥有 20 个全职网站的小公司工作。以及另外 20-30 个微型站点。在 SQL Server 代理备份运行后,我们每天都遇到站点冻结的问题。当备份服务停止时,我们看不到任何问题。这是常见的吗?

我们使用的是 SQL Server 2005,并且备份在星期日和星期三运行。我还将研究数据库本身中的其他内容,但这是突出的内容。

- 编辑 - 我在 5/27 到 5/31 的机器上运行了 3 天的性能:

SQLServer:SQL Statistics\Batch Requests/sec Average 355.412275 Median 306.610812 Min 108.9369962 Max 916.6332837 Std Deviation 141.7791552

SQLServer:General Statistics\User Connections Average 83.14025501 Median 77 Min 52 Max 147 Std Deviation 19.27016231

SQLServer:Buffer Manager\Page life expectancy Average 33.72386157 Median 21 Min 0 Max 246 Std Deviation 36.53737617

看起来运行的维护备份在运行时不会引起问题。它在凌晨 3 点以及周日和周三运行,并在大约 2 小时内成功完成。我运行了 SQL Server 配置文件:

我发现其中一个定期运行的 sp 需要很长时间才能执行。

大多数情况下 Duration 为 976(微秒),但有时差异很大:13922851 …

sql-server-2005 backup sql-server-agent

6
推荐指数
1
解决办法
669
查看次数

为什么 Sql Server Agent 的 Next Run Time 值可能不是我所期望的?这绝对是我下次工作的时候吗?

有时,我发现 sysjobschedules.next_run_date 和 time 字段中的 sql server 代理值存在一些不一致。

我有一个与 sql 调度系统交互的 Web 界面。

我创建了一个测试作业,该作业于 2011 年 3 月 16 日上午 9:45 开始。我已将其设置为每 4 周在星期三发生一次。

从今天开始,这应该将下一次运行日期和时间放在 1 月 18 日 9:45,但我工作的下一次运行日期/时间值是 1 月 4 日。

作业属性中的值看起来不错。
开始日期是 2011
年3 月 16 日。频率值都是正确的。
但似乎 SQL 未能正确地发生这种情况。

以下是 sp_help_jobschedule proc 中有关作业的一些相关信息

freq_type 8
freq_interval的 8
的freq_subday_type 1
freq_subday_interval 1
freq_relative_interval 0
freq_recurrence_factor 4
active_start_date的 20110316
active_end_date的99991231
active_start_time 154500
active_end_time 55959
DATE_CREATED 2011-12-29 20:37:05.737
schedule_description 周三每4周(或多个)在154500
next_run_date 20120104
next_run_time 154500

如果开始日期是 2011 年 …

sql-server sql-server-agent

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

带有自定义消息的 Sql Server 代理通知电子邮件

我已设置完成预定作业的电子邮件通知。

是否可以自定义电子邮件内容?

sql-server sql-server-agent

6
推荐指数
1
解决办法
6187
查看次数

SQL 服务器代理 SSIS 错误

当我将我的包作为 SQL 服务器代理作业执行时,出现以下错误。

它是在 SQL Server 2008 实例上运行的 SSIS 2008 包。我的包裹安全性是 DontSaveSensitive。

我什至不知道如何开始修复这个错误。

我应该先去哪里检查?

Date        a value of time
Log     Job History (MyJob)

Step ID     1
Server      PCTSQL004
Job Name        MyJob
Step Name       Job_1
Duration        00:00:00
Sql Severity        0
Sql Message ID      0
Operator Emailed        
Operator Net sent       
Operator Paged      
Retries Attempted       0

Message
Executed as user: CS\DmcSysManager. The process could not be created for step 1 of job 0x63BB5A86DB23F947866D2A806BE4CC6B (reason: A required privilege is not held by the client). …
Run Code Online (Sandbox Code Playgroud)

sql-server-2008 sql-server ssis sql-server-agent

6
推荐指数
1
解决办法
2379
查看次数

使用 Ola Hallengrens 备份脚本获取代理帐户以备份到共享

我有一个 SQL Server 2012 Standard 安装,其中引擎和代理在默认 NT 服务帐户下运行

引擎 - NT 服务\MSSQLSERVER

代理 - NT 服务\SQLSERVERAGENT

我试图让 Ola Hallengrens 备份脚本备份到网络共享,但这证明有点问题。通常我会让引擎和代理在域帐户下运行并授予这些访问网络共享的权限,它会正常工作,但是这是在我之前设置的,无法更改这些。

由于代理和引擎不在域帐户下运行,我试图使用代理来使其正常工作。

我有一个共享\\ComputerName\Folder和一个服务帐户Domain\account.svc。我可以使用该Domain\account.svc帐户浏览和创建文件和文件夹,因此访问似乎正常。但是,当通过代理运行它时,它不起作用。

我做了什么。

  • 使用创建凭据 Domain\account.svc
  • 创建操作系统 (CmdExec) 代理并将其链接到凭据
  • 在备份系统数据库作业步骤中,将“运行方式”设置为代理帐户

我在日志文件中得到的错误是

消息 50000,级别 16,状态 1,服务器 [服务器名称],过程 DatabaseBackup,第 457 行
目录 \\ComputerName\Folder 不存在。

Msg 50000, Level 16, State 1, Server [SERVER NAME], Procedure DatabaseBackup, Line 740 该文档可在https://ola.hallengren.com/sql-server-backup.html 获得

这与您通常在代理域帐户无权访问共享时遇到的错误相同。

问题 - 有人可以解释为什么这不起作用。

谢谢。

编辑 1:Domain\account.svc 对共享具有完全控制权,是机器上的本地管理员以及 SQL 中的系统管理员。

编辑 2:在我的桌面上安装了 SQL 的测试实例,并且能够复制该问题。当我将引擎和代理服务帐户更改为在 Domain\account.svc 下运行时,备份成功完成到共享。 …

sql-server permissions sql-server-2012 sql-server-agent ola-hallengren

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

SQL Server 代理无法启动

当我尝试启动 SQL Server 代理时,出现以下错误:

标题:Microsoft SQL Server Management Studio
无法在服务器 NAGA 上启动服务 SQLAGENT$SQL_NAGA。(mscorlib)
附加信息:
NAGA 上的 SQLAGENT$SQL_NAGA 服务启动然后停止。(对象浏览器)

你们能帮我解决这个问题吗?我使用的是 2014 企业版。

使用@@version我得到了这个:

Microsoft SQL Server 2014 - 12.0.4213.0 (X64) 
Jun  9 2015 12:06:16 
Copyright (c) Microsoft Corporation
Enterprise Edition (64-bit) on Windows NT 6.3 <X64> (Build 10586: )
Run Code Online (Sandbox Code Playgroud)

我还在 Windows 事件日志中发现了这个与 SQL Server 代理相关的错误事件

Log Name:      Application
Source:        SQLAgent$SQL_NAGA
Date:          1/31/2016 6:17:24 PM
Event ID:      103
Task Category: Service Control
Level:         Error
Keywords:      Classic
User:          N/A
Computer:      Naga …
Run Code Online (Sandbox Code Playgroud)

sql-server installation configuration sql-server-agent

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

在 SQL Always On HA 群集上调度作业

当使用 AOHA 集群的 SQL Server 代理调度作业时,是否像您将服务器分开一样使用主目标配置?或者是否有更好的方法将作业分发到所有服务器,以便在主服务器出现故障时其中一个副本可以获取它们?

sql-server-agent

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

将 SSIS 包作为 SQL Server 代理作业运行的问题

在尝试在两个 SQL Server 上运行 SSIS 包 SQL Server 代理作业时,我遇到了一些非常顽固的困难,一个在域中,一个不在域中。我在几十个不同的论坛上阅读了数百个帖子,可惜无济于事。应用我发现的修复程序和解决方案(例如,使用代理)只会导致(略微)不同的错误消息。从 Visual Studio 或直接从 SQL Server Management Studio 运行包时,它们按预期执行。

这是我到目前为止所得到的:

机器A

  • 名为APP-TEST-SERVER
  • 不在域中
  • 运行 SQL Server 2016
  • SQL Server Agent 由NT Service\SQLSERVERAGENT运行,在 SQL Server 中是 sysadmin
  • Integration Services 由NT Service\MsDtsServer130运行(不在 SQL Server 中,也不能添加)
  • 有一个名为ssis_proxy的代理,它是运行 SQL Server 的机器中的本地登录名,并且是 SQL Server 中的系统管理员(当然,暂时看看它是否是导致权限/登录问题的代理)

运行其步骤作为SQL Server 代理服务帐户运行的作业时,我收到以下错误消息:

以用户身份执行:NT Service\SQLSERVERAGENT。适用于 32 位的 Microsoft (R) SQL Server 执行包实用程序版本 13.0.1601.5 版权所有 (C) 2016 Microsoft。版权所有。开始时间:下午 2:59:44 由于错误 0x80131904,无法执行 IS 服务器包。服务器:172.16.2.107,包路径:\SSISDB\test\test sp …

ssis sql-server-agent jobs

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

一次性将所有代理作业的 SQL 代理输出添加到文本文件中

作为最佳实践,我正在尝试安排一个活动,其中所有 SQL 代理作业都应将输出记录到文本文件中。

手动我可以为单个工作执行此操作。但是我正在通过脚本或任何好的方法寻找更好的方法,我可以为每个服务器大约 80-90 个作业的多个作业进行此更改。

此外,我必须在 QA、UAT 和 prod 中执行此操作,涵盖 100 多台服务器。

请分享您的经验或任何有用的链接,这是如何以最佳方式实现的,因为生成输出的日志文件的路径应该在服务器/作业之间通用。

sql-server sql-server-2012 sql-server-agent jobs

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

SQL Server 2016 SQL 代理令牌不起作用

我在整个企业的许多 SQL 代理作业步骤中都有这个,并且它按预期工作:

sqlcmd -E -S $(ESCAPE_SQUOTE(SRVR)) -d master -Q "EXECUTE MyStoredProc etc..."
Run Code Online (Sandbox Code Playgroud)

但是在我的新 SQL Server 2016 实例上,它只会产生一个命名管道连接错误(这是一个完全的红鲱鱼)。

另一方面,这在我的新服务器上运行良好:

sqlcmd -E -S MyExplicitServerName -d master -Q "EXECUTE MyStoredProc etc..."
Run Code Online (Sandbox Code Playgroud)

为什么 SRVR 令牌不起作用?
如果我在命令提示符下启动 sqlcmd 并告诉它打印$(ESCAPE_SQUOTE(SRVR))它说:

'SRVR' scripting vaiable not defined.
Run Code Online (Sandbox Code Playgroud)

这是一个非常基本的、简单的安装,只有默认实例。

sql-server sqlcmd sql-server-agent sql-server-2016

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