第 4 章 SQL Server Agent
SQL Executive 已 更 名 为 SQL Server Agent, 可 提 供 下 列 功 能 :
-
安 排 作 业
-
执 行 作 业
-
创 建 警 告
-
通 知 操 作 员
注 意 : 相 关 区 域 位 于 M icrosoft SQL Servers | SQL Agent 下 的 M icrosoft M anagement Console | Enterprise Manager 分 层 树 状 结 构 中 。
SQL Server Agent 是 一 种 N T 服 务 , 它 和 SQL Server 一 起 运 行 , 向 SQL Server 传 送 作 业 调 度 和 警 告 。所 有 的 调 度 信 息 都 包 含 在 msdb 系 统 数 据 库 中 ,在 安 装 SQL Server 时 该 数 据 库 会 自 动 创 建 msdb 系 统 数 据 库 。 SQL Server 的 这 种 扩 展 增 强 了许 多 性 能 , 包 括 多 重 服 务 器 作 业 的 管 理 。 图 4.1 表 示 Server Manager 服 务 列 表中 的 SQL Server Agent 项 , 图 4.2 表 示 Enterprise M anager 层 次 列 表 中 的 Create Job W izard 。
图 4.1 要查看 NT Services Manager 中的层次列表 ,可 进 入 Computer 菜单 ,并选择 Services | SQL Server Agent
注意 : 该 有 关 区 域 位 于 NT Service Control Manager| Computer 菜 单 | Services
中 。
访 问 SQL Server Agent 有 两 种 方 法 :1)Enterprise M anager, 它 允 许 创 建 作 业 、操 作 员 和 警 告 ; 2)NT Service Control Manager, 用 它 可 手 动 启 动 和 停 止 服 务 , 并提 供 了 SQL Server Agent 的 启 动 配 置 。
在 研 究 了 三 个 Enterprise M anager 类 别 后 , 将 会 看 到 NT Service Control M anager。 SQL Server Agent 下 的 三 个 类 别 分 别 是 :
-
Operators( 操 作 员 )
-
Jobs( 作 业 )
-
Alerts (警 告 )
图 4.2 在 M M C 中,选择 Enterprise Manager 、 Tools 、 Wizards ,然后选择 Create Job Wizard
定 义 操 作 员
SQL Server Agent 被 创 建 为 一 项 附 加 功 能 ,以 辅 助 大 规 模 的 数 据 库 操 作 。S Q L Server Agent 中 的 功 能 可 使 其 安 排 是 管 理 4 个 数 据 库 还 是 4000 个 数 据 库 。 数 据库 操 作 员 的 定 义 和 内 置 的 警 告 机 制 是 非 常 有 用 的 。
Database Operators 是 负 责 使 终 端 用 户 能 访 问 服 务 器 和 数 据 库 的 群 体 , 是 数据 库 操 作 的 关 键 。 当 用 户 访 问 SQL Server 数 据 库 中 的 数 据 而 发 生 中 断 时 , 就 通知 数 据 库 操 作 员 。而 且 一 旦 发 生 服 务 中 断 ,通 知 操 作 员 往 往 至 关 重 要 。SQL Server Agent 将 操 作 员 与 服 务 中 断 相 关 联 , 来 提 供 这 项 服 务 , 方 法 是 在 发 生 错 误 或 失败 时 创 建 定 制 警 告 , 该 警 告 设 法 通 过 e-mail 、 电 话 寻 呼 服 务 或 网 络 消 息 以 通 知操 作 员 。 通 常 用 计 算 机 警 告 操 作 员 而 不 是 数 据 库 用 户 , 数 据 库 用 户 通 常 只 在 匆忙 完 成 工 作 时 才 发 现 问 题 。 并 不 是 要 数 据 库 用 户 指 出 要 给 谁 打 电 话 , 并 等 操 作员 来 找 出 并 解 决 问 题 , 而 是 让 计 算 机 根 据 发 出 寻 呼 的 警 告 寻 呼 操 作 员 。 只 要 操作 员 能 访 问 网 络 连 接 , 在 许 多 情 况 下 , 甚 至 可 以 在 用 户 认 识 到 数 据 的 访 问 发 生中 断 之 前 就 找 出 并 解 决 该 问 题 。
建 立 SQL Server Agent 环 境 的 前 几 步 之 一 是 定 义 操 作 员 。 为 此 , 可 执 行 以下 步 骤 :
- 单 击 Microsoft Management Console( 也 称 为 M M C )的 Console Root 下 的
M icrosoft SQL Server 的 项 。
-
展 开 已 创 建 好 的 Complete Reference Group 服 务 器 组 。
-
展 开 希 望 使 用 的 服 务 器 。
-
展 开 M anagement 下 的 SQL Server Agen t 。
-
右 击 Operators 。
-
从 快 捷 菜 单 上 选 中 New Operator 。
-
显 示 New Operator 屏 幕 , 如 图 4.3 所 示 。
图 4.3 在 M M C 中,选择 Enterprise Manage| Microsoft SQL Serve r| SQL Agen t| Operator| New Operator| General 标签
New Operator 屏 幕 允 许 输 入 名 称 、 e-mail 名 和 寻 呼 e-mail 名 , 并 允 许 指 定 操作 员 接 收 通 知 的 时 间 顺 序 。
New Operator 对 话 框 中 的 Notification 标 签 , 用 于 确 定 应 通 知 操 作 员 错 误 的严 重 程 度 和 通 知 的 方 法 。 甚 至 还 有 这 样 的 选 择 , 允 许 在 操 作 员 度 假 、 生 病 时 取消 通 知 , 如 图 4.4 所 示 。
图 4.4 在离开办公室时取消通知
创 建 作 业
在 定 义 了 操 作 员 之 后 , 就 可 创 建 作 业 和 作 业 类 别 了 。 创 建 作 业 的 步 骤 如 下 :
-
单 击 Microsoft Management Console (MMC ) 的 Console Root 下 的 Microsoft SQL Servers 项。
-
展 开 已 创 建 好 的 Complete Reference Group 服 务 器 组 。
-
展 开 希 望 使 用 的 服 务 器 。
-
展 开 M anagement 下 的 SQL Server Agen t 。
-
右 击 Jobs。
-
从 快 捷 菜 单 上 选 择 New Job , 显 示 New Job 屏 幕 。
New Job 屏 幕 上 有 4 个 不 同 的 标 签 , 每 个 标 签 都 等 同 于 新 作 业 的 全 屏 幕 功能 , 下 面 将 对 每 个 标 签 作 详 细 介 绍 , 这 4 个 标 签 是 :
-
General( 通 用 )
-
Steps( 步 骤 )
-
Schedules (调 度 )
-
Notifications( 通 知 )
General 标 签 下 的 面 板 有 新 作 业 的 输 入 域 , 包 括 Nam e、 Category、 Owner 和Description 。 这 些 输 入 域 允 许 描 述 作 业 、 命 名 作 业 、 指 定 作 业 的 拥 有 者 , 把 作业 放 到 作 业 类 别 中 。 这 个 屏 幕 包 含 的 选 项 可 确 定 该 作 业 是 用 于 本 地 服 务 器 , 还是 用 于 多 个 服 务 器 , 以 便 在 多 重 服 务 器 环 境 下 的 每 个 服 务 器 上 运 行 相 同 的 作 业 。
Steps 标 签 下 的 面 板 如 下 图 所 示 , 该 面 板 具 有 创 建 作 业 步 骤 的 强 大 功 能 。 它模 拟 了 大 型 计 算 机 用 户 熟 悉 的 作 业 流 环 境 , 并 提 供 一 个 受 欢 迎 的 功 能 。 系 统 管理 员 不 必 再 编 写 和 编 译 在 IBM 大 型 计 算 机 环 境 下 使 用 该 作 业 步 骤 功 能 时 所 需 的代 码 。 采 用 Enterprise Manager, 可 以 填 写 屏 幕 上 的 区 域 , 从 下 拉 列 表 框 选 择 项目 或 单 击 选 项 , 再 按 下 O K 按 钮 , 这 是 我 们 习 惯 使 用 的 标 准 W indows 控 件 。 这是 比 过 去 的 大 型 机 Job Control Language(JCL )更 柔 和 的 用 户 界 面 。
Steps 面 板 上 有 一 个 New 按 钮 , 可 为 作 业 添 加 步 骤 。 按 下 New 按 钮 可 展 示New Job Step 屏 幕 , 这 正 是 引 人 注 意 的 地 方 。 New Job Step 屏 幕 的 General 面 板上 有 Step Name 和 Type 两 个 下 拉 列 表 框 , 其 中 包 含 以 下 选 项 :
-
Active Scripting
-
CmdExec
-
Distribution
-
Logreader
-
Merge
-
Snapshot
-
TSQL
Type 下 拉 列 表 框 有 些 很 有 趣 的 功 能 , 就 是 对 于 每 一 种 选 择 General 面 板 都不同,就像 Advanced 标签下的面板一样。图 4.5 表 示 TSQL 类 型 ( 顶 部 ) 和 Active Scripting 类 型 ( 底部 ) 的 General 标 签 。 每 个 屏 幕 都 是 专 为 选 中 的 类 型 制 作 的 。 图
- 表 示 TSQL 类型 ( 顶 部 ) 和 Active Scripting 类 型 ( 底部 ) 的 Advanced 屏 幕 。 由 图可 见 , 每 个 屏 幕 都 根 据 类 型 的 不 同 而 不 同 。 以 上 列 出 的 所 有 类 型 都 是 这 样 的 。
图 4.5TSQL 类型 ( 上图 ) 和 ActiveScripting( 下图 ) 的 General 面 板
图 4.6TSQL 类型 ( 上图 ) 和 ActiveScripting (下图 ) 的 Advanced 面板
注 意 , Open 和 Parse 按 钮 与 TSQL 类 型 相 关 联 。 Open 按 钮 允 许 选 择 文 件 , 位 置 很 恰 当 的 Parse 按 钮 可 检 查 TSQL 代 码 的 错 误 。
ActiveScripting 的 General 面 板 上 的 单 选 按 钮 指 明 Command 窗 口 中 设 置 的语 言 , 可 选 择 Visual Basic 脚 本 、 Java 脚 本 , 或 在 其 他 语 言 名 中 填 上 O ther。
TSQL 类 型 的 Advanced 面 板 有 一 个 域 用 于 输 入 输 出 文 件 , 还 有 一 个 选 项 指明 是 否 想 追 加 到 指 定 的 文 件 中 。 该 面 板 上 有 一 个 Run as User 输 入 域 , 以 及 O n Success 或 Failure action 下 拉 列 表 框 形 式 的 On Success / Failure Flow 逻 辑 , 该下 拉 列 表 框 中 有 几 个 选 项 , 包 括 退 出 记 录 成 功 的 作 业 、 退 出 记 录 失 败 的 作 业 和进 入 下 一 步 。 在 On Success 的 背 后 , 有 一 个 真 实 的 逻 辑 集 记 录 失 败 , 或 在 O n Failure 背 后 有 一 个 真 实 的 逻 辑 集 记 录 成 功 。
ActiveScripting 的 Advanced 面 板 与 前 面 TSQL 类 型 的 Advanced 面 板 一 样 , 屏 幕 上 都 内 置 了 相 同 的 On Success / Failure 流 逻 辑 。它 与 TSQL 类 型 的 Advanced 面 板 具 有 相 同 的 Retry Attempts 和 Retry Interval 设 置 。
New Job 屏 幕 上 的 Schedules 标 签 允 许 安 排 运 行 作 业 的 时 间 。 它 有 以 下 几 个 调 度选 项 :
-
在 SQL Server Agent 启 动 时 自 动 启 动
-
只 要 CPU 空 闲 就 启 动
-
一 次 启 动
-
循 环 启 动
删 除 行 的 作 业 实 例 可 以 很 好 地 说 明 只 要 CPU 空 闲 便 运 行 该 作 业 。
循 环 作 业 选 项 还 有 另 一 个 与 Edit Recurring Job Schedule 屏 幕 相 关 联 的 屏 幕 。
该 屏 幕 可 通 过 New Job Schedules 标 签 下 的 Changes 按 钮 来 访 问 , 它 允 许 确 定 循环 作 业 是 每 日 、 每 周 还 是 每 月 运 行 。 如 果 该 作 业 每 日 运 行 , 还 可 进 一 步 确 定 该作 业 每 天 运 行 多 少 次 。
New Job 对 话 屏 幕 的 Notifications 面 板 如 下 图 所 示 :
该 面 板 指 明 了 在 作 业 完 成 时 要 执 行 的 操 作 , 包 括 是 谁 , 用 什 么 方 法 通 知 以
前 定 义 的 操 作 员 。 该 屏 幕 还 有 一 个 选 项 , 用 来 指 明 是 否 写 入 NT Event 日 志 。 所有 的 操 作 都 有 一 个 关 联 的 下 拉 列 表 框 , 该 列 表 框 描 述 了 这 些 操 作 应 执 行 哪 些 事件 。 该 下 拉 列 表 框 中 的 选 项 如 下 :
-
成 功 完 成
-
未 成 功 完 成
-
一 旦 作 业 完 成
创 建 警 告
在 创 建 作 业 后 , 就 可 以 创 建 警 告 。 创 建 警 告 的 步 骤 如 下 :
-
单 击 M icrosoft M anagement Console(MMC ) 的 Console Root 下 的 M icrosoft SQL Servers 项。
-
展 开 已 创 建 好 的 Complete Reference Group 服 务 器 组 。
-
展 开 希 望 使 用 的 服 务 器 。
-
展 开 M anagement 下 的 SQL Server Agen t 。
-
右 击 A lerts 。
-
从 快 捷 菜 单 上 选 择 New Alert 。
-
显 示 New Alert 屏 幕 。
New Alert 屏 幕 上 有 两 个 标 签 : General 和 Response , 每 个 标 签 都 相 当 于 新警 告 的 全 屏 幕 功 能 。 在 此 详 细 介 绍 General 面 板 , 在 本 章 的 后 面 再 解 释 Response
面 板 。
New Alert 对 话 框 的 General 面 板 上 有 名 称 、 类 型 以 及 事 件 警 告 定 义 和 历 史 。可 以 在 区 域 中 输 入 名 称 , 从 下 拉 列 表 框 中 选 择 类 型 , 但 事 件 警 告 定 义 需 详
细 介 绍 。
该 面 板 上 有 两 个 单 选 按 钮 : Error 号 和 Serverity( 严 重 程 度 )。 由 于 SQL Server 所 生 成 的 错 误 给 定 了 严 重 等 级 , 所 以 可 以 在 某 个 特 殊 错 误 或 在 具 有 某 个 严 重 程度 的 一 组 错 误 上 生 成 警 告 。 如 果 选 择 Error number 单 选 按 钮 , 就 可 按 下 ... 按 钮 , 搜 索 有 效 的 SQL Server 错 误 。 该 按 钮 符 号 表 示 可 查 找 更 详 细 的 内 容 , 在 这 种 情况 下 , 可 搜 索 有 效 的 错 误 号 。 这 种 访 问 ( 以 前 需 编 程 才 可 访 问 ) 深 度 错 误 信 息 深度 的 能 力 , 提 供 了 极 其 有 用 的 特 性 , 它 使 各 地 的 SQL Server 操 作 员 使 用 起 来 都非 常 方 便 。
由 于 所 有 的 信 息 都 保 存 在 sysmessages 表 中 , 所 以 在 企 业 运 作 警 告 策 略 的 设
计 中 作 为 辅 助 手 段 对 此 进 行 查 询 是 非 常 方 便 的 。 前 面 已 经 介 绍 了 实 例 的 查 询 , 其 查 询 结 果 如 表 4.1 所 示 , 表 中 列 出 了 SQL Server 本 身 包 含 的 某 些 错 误 信 息 。在 主 数 据 库 中 的 Query Analyzer 下 执 行 该 查 询 , 可 查 看 SQL Server 使 用 的 所 有错 误 消 息 :
SELECT severity, error, description FROM sysmessages G O
表 4.1 显 示 了 可 用 于 警 告 的 错 误 样 本 。 严 重 等 级 为 21 的 错 误 所 示 的 结 果 集
如 表 4.1 所 示 。
表 4.1 错 误 严 重 等 级 21 的 sysmessages 系统表的输出
严重等级 |
错误号 |
描述 |
---|---|---|
21 |
601 |
不 在 描 述 符 杂 凑 表 中 的 数 据 库 ′ % d ′ 中 的 系 统 表 ′ % ld ′ 的 描述符 |
21 |
602 |
在 dbid ′ % d ′ 、 对 象 ′ % ld ′ 、 索 引 ′ % d ′ 的 Sysindexes 中找不到行。运行 Sysindexes 上的 DBCC CHECKTABLE |
21 |
604 |
在数据库′% .*ls ′ 中 对 象 ′ % ld ′的 Sysobjects 中找不到行。运行 Sysobjects 上的 DBCC 检查表 |
21 |
605 |
试 图 提 取 属 于 对 象 ′ % .*ls′ , 但 不 属 于 对 象 ′ % .*ls ′的数据库′% .*ls ′中的逻辑页面% S_PGID |
21 |
607 |
在 用 于 搜 索 自 变 量 的 对 象 ′ % .*ls ′ 的 对 话 描 述 符 中 , 分 配 的空间不足。只预料到有% d 个搜索自变量严重等级错误号描述 |
21 |
608 |
包 含 数 据 库 ′ % .*ls ′ 中 对 象 ′ % .*ls ′ 的 逻 辑 页 面 % S_PGID 的 缓 冲 区 , 在 扫 描 期 间 不 能 保 存 于 该 对 象 的 第 一 或 第 二 个 对 话 描述符的插槽中 |
续 表
21 |
611 |
试图结束空闲事务或处于更新之中的事务 |
---|---|---|
21 |
613 |
请 求 从 数 据 库 ′ % .*ls′ 中 对 对 象 ′ % .*ls′ 已 进 行 完 的 扫 描 中 检索多行 |
21 |
615 |
无法找到数据库表 id= % d, 名称 = ′% .*ls ′ |
21 |
618 |
将 % d 的 varno 传送给打开表——最大的有效值为% d |
21 |
623 |
不能通过 RID 在页面中检索行,因为逻辑页% S_PGID 不是数 据页 .% S_RID .% S_PAGE |
21 |
624 |
由于被请求的 RID 编号比页面上最后一个 RID 更高,试图通 过 RID 从页面获取行失败。 %S_RID.%S_PAGE 。 |
21 |
625 |
不能通过 RID 在逻辑页% S_PGID 中检索行 ,因 为 该 RID(= % d) 的偏移表 (= % d )中的条目小于或等于 0 |
21 |
629 |
不 能 删 除 页 面 % S_PGID 的 成 簇 索 引 项 — — 索 引 行 包 含 页 面 % S_PGID |
21 |
639 |
不能提取逻辑页% S_PGID dbid % d ,该页当前未分配 |
21 |
644 |
在索引页% S_PGID indexid % d 数据库′% .*ls ′中未找到 RID ′% .*hs′的索引项 |
21 |
649 |
无 法 找 到 Page % S_PGID Objid % ld 状态 O x % x 的成簇索引 项。在索引页% S_PGID 中搜索数据库′% .*ls ′中的该项 |
21 |
805 |
在标记缓冲区杂质或刷新 Syslogs 时,找不到杂凑表中数据库 ′% .*ls ′中的对象′% .*ls ′的描述符 |
21 |
806 |
找不到数据库′% .*ls ′中逻辑页% S_PGID 的虚拟页 |
21 |
811 |
试图抓取位于描述符链上的缓冲区 |
21 |
812 |
试图抓取固定的缓冲区 |
续 表
21 |
815 |
无法找到高速缓存中的含有 Sysindexes 页的缓冲区—— pageno= % S_PGID dbid= % d |
---|---|---|
21 |
820 |
试图弄脏位于 I/ O 中的非日志缓冲区% S_BUF |
21P |
822 |
不能启动请求% S_BLKIOPTR 的 I / O |
21 |
824 |
试图在数据库 ( Sysdatabases 中没有项)的缓冲区中写入页面, % S_BUF |
21 |
825 |
试 图 在 无 DBTABLE 结 构 的 数 据 库 中 的 缓 冲 区 中 写 入 页 面 , Sysdatabases 行标记为过程% d .% S_BUF 所使用 |
21 |
834 |
在 含 有 杂 质 的 缓 冲 区 上 调 用 缓 冲 区 清 理 ( 页 面 % S_PGID,stat% #x /% #x,objid % #x,sstat% #x) |
21 |
901 |
在 杂 凑 后 , 无 法 找 到 杂 凑 表 中 的 数 据 库 ′ % d ′ 对 象 ′ % ld ′ 的描述符 |
21 |
909 |
多 于 % d 个 的 项 目 需 要 建 立 数 据 库 ′ % .*ls ′ 的 逻 辑 虚 拟 转 换表,该数据库的碎片太多 |
21 |
912 |
找不到假定已打开的数据库′% .*ls′的 DBTABLE 描述符 |
21 |
915 |
在数据库′ %.*ls ′的 DBTABLE 链 中 找 不 到 系 统 类 别 ′ %.*ls ′的描述符——所有的系统类别都应永久驻留在该链中 |
21 |
919 |
数 据 库 ′ % .*ls ′ 已 由 恢 复 程 序 标 记 为 ′ suspect ′ 。 请 运 行 DBCC 卸掉该数据库严重等级错误号描述 |
21 |
931 |
因 为 不 能 初 始 化 全 局 时 间 戳 , 所 以 不 能 打 开 数 据 库 “% .*ls ′。这表明当前数据库的记录有问题。请与 Technical Support 联系 以请求帮助 |
21 |
1103 |
数据库′% .*ls ′ 的 分 配 页 % S_PGID 中的分段 id 不同于我们 正分配的对象分段。请运行 DBCC CHECKALLOC |
续 表
21 |
1108 |
不 能 再 分 配 范 围 % S_PGID 、 数 据 库 % d 。 范 围 中 的 对 象 % ld 、索引 id % d 、状态% d 与再分配的对象中的对象 id % ld 、索引 id % d 、状态% d 不匹配。请运行 DBCC CHECKALLOC |
---|---|---|
21 |
1109 |
不能读取分配页% S_PGID ,因对象 ID 不正确 ( % ld)或页面 ID 不正确% S_PGID |
21 |
1117 |
对象% ld 的范围链的链接不正确 |
21 |
1514 |
要排序的分配页正忙。页面号% S_PGID .% S_BUF |
21 |
1525 |
分 类 失 败 。 分 类 向 前 滚 动 时 遇 到 序 列 之 外 的 分 类 描 述 符 时 间戳 。 记 录 中 的 旧 时 间 戳 为 % 04x % 081x , 新 的 时 间 戳 为 % 04x % 081x 。 分 类 描 述 符 中 的 时 间 戳 为 % 04x % 081x211528 字符数据 比 较 失 败 。 在 SMEL 项 [% d ]的用于服务器的缺省分类表中有无法识别的 Sort-Map-Element 类型 ( % d) |
21 |
1529 |
字 符 数 据 比 较 失 败 。 用 于 服 务 器 的 缺 省 分 类 表 的 Sort-Map- Elements 列表没有正确结束。此列表开始于 SMEL 项 [% d ] |
21 |
1601 |
没 有 可 用 的 资 源 以 启 动 ′ % ls ′ 进 程 。 使 用 sp_configure 可增加用户连接数 |
21 |
1602 |
不能初始化网络% d |
21 |
1603 |
进程优先级无效,或无可用的进程插槽 |
21 |
1604 |
进程不可运行,或 kpid % d 不在范围之内 |
21 |
1605 |
打开新连接的虚拟插槽失败 |
21 |
1606 |
初始化网络接收缓冲器失败 |
21 |
1607 |
初始化网络发送缓冲器失败 |
21 |
1608 |
在 向 前 端 发 送 结 果 时 遇 到 网 络 错 误 。 详 细 信 息 请 查 看 SQL Server 错误记录 |
续 表
21 |
1609 |
Kpid % d 超出范围 |
---|---|---|
21 |
1610 |
不能删除进程% d |
21 |
1611 |
不能安装退出功能 |
21 |
1612 |
不能安装注意功能 |
21 |
1613 |
不能关闭服务器进程% d 的网络% d 连接 |
21 |
1614 |
不能产生进程 |
21 |
1615 |
进程不能休眠 |
21 |
1616 |
刷新接收流缓冲区失败 |
21 |
1617 |
不能影响进程 % d |
21 |
1619 |
不能打开 TEMPDB ,不能继续 |
21 |
1620 |
第一次打开主 db 失 败 |
21 |
1808 |
不支持缺省设备 |
21 |
1905 |
在 Sysindexes 中找不到索引′% .*ls ′表的′ zero ′行严重等级 错误号描述 |
21 |
2202 |
不能把虚拟读出地址转换到设备,不能搜索 vaddr=0x % x |
21 |
2205 |
不能将虚拟写入地址转换到设备,不能搜索 vaddr=0x % x |
21 |
2208 |
试图读取未打开的设备 vaddr=0x % x |
21 |
2209 |
试图写入未打开的设备 vaddr=0x % x |
21 |
2603 |
在 索 引 页 上 插 入 行 时 , 对 象 ′ % .*ls ′ 的 索 引 % d 的 逻 辑 页 % S_PGID 未留有空间,这种情况应在转换索引时考虑 |
21 |
2620 |
行 号 在 偏 移 % d 处 的 偏 移 与 %S_PAGE 页 的 偏 移 表 中 的 项 目 不匹配 |
21 |
2622 |
在插入长度为% d.% S_PAGE 的行时该页空间不足 |
续 表
21 |
2623 |
运行时 PG_DEALLOC 位在该页上,应由恢复程序中的取消分 配页 .% S_PAGE 关闭它 |
---|---|---|
21 |
2624 |
因为行长度% d 小于最小长度% d ,所以插入表% S_DES 失败 |
21 |
2626 |
试 图 在 数 据 库 ′ % .*ls′ 中 的 对 象 ′ % .*ls′ 的 成 簇 索 引 中 非 法 插入重复的关键行 |
21 |
2728 |
找不到表′% .*ls ′的 Sysobjects 行 |
21 |
3001 |
内 部 错 误 。 找 不 到 系 统 分 类 ′ % .*ls ′ 的 索 引 , 不 能 清 空 数 据库 |
21 |
3113 |
数据库′% .*ls ′在 DBO 的 SYSUSERS 中没有项目 |
21 |
3114 |
数据库′% .*ls ′在 Sysdatabases 中无项目 |
21 |
3301 |
在 Syslogs(log.p % d) 中找到无效的日志记录 |
21 |
3303 |
在 xact %S_RID 的日志中找不到 SAVEPT ,当前号为 % d ,查找 %d |
21 |
3305 |
数 据 库 ′ % .*ls ′ 中 的 页 面 % S_PGID 在 运 行 期 间 读 取 或 装 载 xact 未初始化 |
21 |
3306 |
期望过程% d 包含页面% S_PGID 上的逻辑锁,而不是过程% d |
21 |
3307 |
期望过程% d 包含页面 %S_PGID 上的逻辑锁 |
21 |
3308 |
期望页面 %S_PGID 带有 %ls 锁 |
21 |
3309 |
放弃时过程% d 被 选 作 死 锁 牺 牲 品 , 同 时 等 待 过 程 % d 释 放 页 面% S_PGID 上的锁 |
21 |
3310 |
找不到带有 RID:( % ld ,% d )的日志记录 |
21 |
3313 |
在数据库% .*ls 中 重 新 记 录 操 作 时 发 生 的 错 误 。 该 错 误 位 于 日志记录 ID % S_LSN 处 |
续 表
21 |
3314 |
在数据库% .*ls 中 撤 消 记 录 操 作 时 发 生 的 错 误 。 该 错 误 位 于 日 志记录 ID % S_LSN 处 |
---|---|---|
21 |
3401 |
Rec_init: 在 Sysdatabases 中 Rid 上的最后一个检测点的 getnext SCAN_RID 失败 .% S_RID |
21 |
3404 |
Rec_complete: 打 不 开 多 数 据 库 事 务 中 控 制 数 据 库 的 控 制 数 据 库 (id % d) |
21 |
3412 |
数据库% d 、表% ld 。试图将表标记为可疑。 Sysobjects.objid 上的 Getnext SCAN_CLUST 失败 |
21 |
3413 |
数 据 库 % d 。 试 图 将 数 据 库 标 记 为 可 疑 失 败 。 Sysdatabases.dbid 上的 Getnext NC 扫描失败 |
21 |
3417 |
不能恢复主数据库,退出 |
21 |
3418 |
打开模型的描述符不够 |
21 |
3421 |
因 为 不 能 初 始 化 全 局 时 间 戳 记 , 所 以 不 能 恢 复 数 据 库 ′ % .*ls ′ 。 这 表 明 当 前 数 据 库 的 记 录 有 问 题 。 请 与 Technical Support 联系请求帮助严重等级错误号描述 |
21 |
3423 |
恢 复 数 据 库 ′ % .*ls ′ 错 误 , 在 位 置 % S_RID 处 找 不 到 期 望 的 BEGIN TRANSACTION 记录 |
21 |
3424 |
用于事务 ( % ld ,% d )的事务表中空间不足 |
21 |
3425 |
在事务表中找不到事务 (% ld ,% d) |
21 |
3429 |
恢 复 数 据 库 ′ % .*ls ′ 错 误 , 不 能 连 接 以 提 交 服 务 , 检 查 xact: % S_RID 的完整状态 |
21 |
3437 |
恢复数据库′% .*ls ′错误,不能连接到 DTC ,以检查 xact:% S_RID 的完整状态 |
续 表
21 |
3440 |
数 据 库 ′ % .*ls ′ (dbid % d):RECOVERDB 命 令 只 能 在 使 用 WITH NORECOVERY 选项的 RESTORE 命令后运行 |
---|---|---|
21 |
3441 |
数据库′% .*ls ′ (dbid % d):访问文件′% ls ′时 RECOVERDB 命令失败。错误是′% .ls″ |
21 |
3442 |
数据库′% .*ls ′ (dbid % d):撤消文件的尺寸不够 |
21 |
3443 |
数 据 库 ′ % .*ls ′ (dbid % d): 因用于备用/只读而标记,但已经 被修改。不能执行 RESTORE LOG |
21 |
3444 |
数 据 库 ′ % .*ls ′ (dbid % d): 找不到以前恢复操作的起始点。不 能执行 RESTORE LOG |
21 |
3445 |
数据库′% .*ls ′ (dbid % d):文 件 ′ % ls ′为无效的撤消文件 |
21 |
3501 |
在 检 查 点 时 间 % S_RID 得 不 到 数 据 库 ′ % d ′ 的 Sysdatabases 行 |
21 |
3502 |
在数据库′% .*ls ′的 Syslogs 中找不到检查点记录 |
21 |
3504 |
数据库′% .*ls ′中的 Sysindexes 页 # % S_PGID 在调用 getindex 后不在检查点处的缓冲区高速缓存中 |
21 |
3904 |
不 能 合 并 数 据 库 ′ % .*ls ′ 的 对 象 ′ %.*ls ′ 中 的 逻 辑 页 % S_PGID ,两个页面合在一起比一个页面包含的数据多 |
21 |
3905 |
不 能 合 并 数 据 库 ′ % .*ls ′ 中 对 象 ′ % .*ls ′ 中 的 逻 辑 页 % S_PGID 其行号% d 可用于两个页面 |
21 |
3907 |
从 PROBE 接收结果失败。尚未提交名为% .*ls 的分布式事务, 数据库中的数据可能不一致 |
21 |
4003 |
O D S 错误。服务器正在中止该连接 |
21 |
4202 |
清 空 数 据 库 ′ % .*ls ′ 中 的 事 务 期 间 , 在 查 找 事 务 页 时 找 不 到 日志中的 BEGINXACT 记录 |
续 表
21 |
4203 |
在 清 空 数 据 库 ′ % .*ls ′ 中 的 事 务 时 , 裁 减 页 面 后 找 不 到 检 查 点记录 |
---|---|---|
21 |
4802 |
Bulk_main :在 BULK INSERT 表上,主索引行的 getindex 失败 |
21 |
4803 |
从 bcp 客户机接收了无效的行长度% d 。最大行长度为% d |
21 |
4804 |
从 主 机 上 读 取 当 前 行 时 过 早 地 到 达 消 息 的 结 尾 。 主 机 程 序 可 能已死机 |
21 |
4807 |
从 bcp 客户机上接收了无效的行长度% d 。最小行长度为% d |
21 |
4815 |
从 bcp 客户机接收了无效的列长度 |
21 |
4816 |
无效的 bcp 对象 |
21 |
4905 |
ALTER TABLE 失 败 , 因 为 数 据 库 ′ % .*ls ′ 中 系 统 类 别 Sysindexes 的页% S_PGID 不在高速缓存中 |
21 |
6501 |
数据库′% .*ls ′ 中 的 逻 辑 页 % S_PGID 在提取索引行之后从高 速缓存中丢失 |
21 |
6901 |
数据库 % d 中 时 间 戳 的 High 组件发生溢出。数据库表可能损坏 |
21 |
6902 |
页 面 时 间 戳 记 值 在 日 志 中 的 新 旧 时 间 戳 记 之 间 。 Page#= % S_PGID , 对 象 id= % ld , 页 面 时 间 戳 记 = % 04x % 081x 。 Log :旧时间戳记 = % 04x % 081x ,新时间戳记 = % 04x % 081x |
21 |
6903 |
时间戳记的高序号指明时间戳记结构可能不正确 |
21 |
6904 |
请 求 新 的 数 据 库 时 间 戳 记 时 , 传 递 的 数 据 库 表 和 系 统 结 构 中 的 数据库表不匹配。传递的数据库 id :% d 。系统数据库 id :% d |
21 |
8646 |
在数据库′% .*ls ′中的表% d 的 indexid % d 中找不到 RID ′ % .*hs′的索引项 |
21 |
9004 |
数据库 " % *ls" 的记录受损 |
在 Severity 下 拉 列 表 框 中 , 错 误 严 重 等 级 的 某 些 实 例 可 用 于 警 告 , 这 些 错 误
严 重 等 级 如下表所示 :
错误等级 |
描述 |
---|---|
010 |
信息 |
011 |
未找到指定的数据库对象 |
012 |
未用 |
013 |
用户事务句法错误 |
014 |
许可不足错误 |
015 |
SQL 语句中的句法错误 |
016 |
其他用户错误 |
017 |
资 源 不 足 |
018 |
非致命的内部错误 |
019 |
资源致命错误 |
020 |
当前进程中的致命错误 |
021 |
数据库进程中的致命错误 |
022 |
致 命 错 误 :表的完整性可疑 |
023 |
致 命 错 误 :数据库的完整性可疑 |
024 |
致 命 错 误 :硬件错误 |
025 |
致 命 错 误 |
110 |
非系统消息,服务器信息 |
120 |
非系统消息,服务器警告 |
130 |
非系统消息,服务器错误 |
140 |
非系统消息,服务器异常中止 |
如 错 误 严 重 等 级 的 说 明 所 示 , 17 级 和 17 级 以 上 的 错 误 严 重 等 级 应 引 起 系 统管 理 员 的 注 意 , 应 向 SQL Server 操 作 员 发 出 自 动 警 告 。 如 果 SQL Server 包 含 重
要 任 务 的 应 用 程 序 , 就 应 寻 呼 操 作 员 ; 否 则 , 发 出 e-mail 消 息 就 足 够 了 。
New Alert 对 话 框 中 的 Response 标 签 能 确 定 在 发 出 警 告 时 执 行 什 么 操 作 。
Response 标 签 下 的 面 板 如 下 图 所 示 :
用 户 可 以 通 知 操 作 员 或 执 行 某 项 作 业 。 有 些 选 项 包 含 寻 呼 或 e-mail 通 知 消
息 中 的 错 误 消 息 。 可 以 向 操 作 员 发 送 附 加 通 知 消 息 , 也 可 以 按 下 New Operator 按 钮 并 创 建 新 的 操 作 员 , 也 可 以 指 定 定 期 警 告 响 应 之 间 的 延 迟 时 间 ( 如 果 每 秒 发出 一 次 警 告 , 应 防 止 发 出 连 续 寻 呼 或 连 续 消 息 ), 甚 至 在 发 生 警 告 时 产 生 相 应 的SQL 陷 阱 。
至 此 , 用 户 已 了 解 了 如 何 在 Enterprise M anager 中 访 问 SQL Server Agent , 下 面 是 在 NT Service Control 中 访 问 SQL Server Agent 的 步 骤 :
-
在 命 令 行 提 示 下 ,键 入 srvmgr\ \ servernam e。显 示 Server Manager 屏 幕 。
-
从 菜 单 栏 中 选 择 Computer 。
-
选 择 Service s。
-
向 下 滚 动 , 单 击 SQLServerAgent 服 务 , 如 图 4.7 所 示 。
图 4.7NT Service Control Manager | Compute r| Services
现 在 就 可 以 停 止 和 启 动 SQLServerAgent 服 务 , 或 改 变 启 动 参 数 了 。 单 击
Startup 按 钮 可 进 入 启 动 参 数 屏 幕 。
启 动 参 数 屏 幕 包 含 Startup Type 和 Logon As 两 部 分 。 Startup 类 型 由 下 列 内容 组 成 :
启动类型 |
描述 |
---|---|
Automatic( 自 动 ) |
重新引导 N T 时, SQLServerAgent 服务自动启动 |
Manual( 手动 ) |
重新引导 N T 时, SQLServerAgent 服务必须手动启动 |
Disabled( 无效 ) |
SQLServerAgent 服务无效,不能启动 |
Log On As 选 项 由 以 下 内 容 组 成 :
Log On As |
描述 |
---|---|
系统帐户 |
由于必须具有网络访问许可,所以在 Local System 帐户中,不能指定运行 MSSQLServer 和 SQLServerAgent 服务。若没有此许可,服务器对服 务器的远程过程调用 (RPC )、复制作业和备份都将失败 |
本 帐 户 |
指定已特别设置的帐户 ,以 运 行 SQL Server Agen t。如果要运行 SQL Mail 和 SQL Server Agen t,该帐户应有网络访问权和相应的许可 |
在 NT Service Control Manager 中 启 动 和 停 止 SQL Server Agent 是 很 简 单 的 , 只 需 单 击 SQLServerAgent 服 务 , 并 按 下 Start 或 Stop 按 钮 即 可 , 至 于 选 择 哪 一项 合 适 , 取 决 于 SQLServerAgent 服 务 当 前 是 处 于 停 止 状 态 还 是 启 动 状 态 。
多 任 务 和 多 方 案 作 业
SQL Server Agent 允 许 通 过 创 建 作 业 步 骤 来 创 建 多 任 务 作 业 , 而 作 业 步 骤 又允 许 用 多 个 步 骤 创 建 一 个 作 业 , 也 允 许 每 个 步 骤 运 行 一 个 任 务 。 该 逻 辑 内 置 于定 义 步 骤 的 屏 幕 上 , 以 确 定 作 业 步 骤 成 功 和 失 败 时 各 进 行 什 么 操 作 ( 请 参 阅 本 章前 面 的 “ 创 建 作 业 ” )。
SQL Server Agent 还 允 许 为 同 一 作 业 创 建 多 种 方 案 , 可 以 决 定 用 每 日 、 每 周和 每 月 的 方 案 运 行 作 业 。 每 种 方 案 都 可 以 为 同 一 作 业 而 设 置 , 该 作 业 会 在 每 个预 定 的 时 间 运 行 。
M icrosoft SQL Server Agent 在 M icrosoft 寻 求 “ lights ou t( 无 光 )” 管 理 和 数据 库 中 , 是 一 个 强 有 力 的 工 具 , 它 可 以 在 晚 上 没 有 数 据 库 管 理 员 干 预 的 情 况 下自 动 运 行 任 务 。 关 于 多 服 务 器 作 业 的 详 细 情 况 , 请 参 阅 第 3 章 中 “ 配 置 多 服 务器 环 境 ” 一 节 。