第 9 章 SQL Server 7 的 复 制 增 强

复 制 用 于 把 数 据 从 一 个 SQL Server 上 发 布 到 其 他 位 置 的 SQL Server 上 , 复制 操 作 实 现 可 以 通 过 建 立 该 数 据 的 原 始 拷 贝 , 然 后 再 设 置 SQL Server 同 步 数 据 , 再 使 用 Publisher 和 Subscriber 使 此 后 的 数 据 从 一 个 服 务 器 转 移 到 另 一 个 服 务 器上 。 虽 然 只 有 一 个 Publisher, 但 一 个 Publisher 却 有 许 多 个 Subscribers 。在 S Q L Server 7 中 , Subscriber 可 以 更 新 Publisher 中 的 数 据 , 这 与 传 统 模 式 相 反 , 在 传统 模 式 中 , 数 据 只 能 在 Publisher 中 才 能 改 变 。 其 实 , Subscriber 也 可 以 是Publishers 。

通 过 把 两 个 新 的 Agents 加 入 SQL Server 7 , 提 高 了 它 的 复 制 能 力 。 目 前 连同 Log Reader 和 D istribution Agents 一 道 还 有 Snapshot 和 Merge Agents , 而 且在 我 们 想 要 复 制 数 据 时 , 还 有 以 下 三 个 主 要 选 择 :

  • 合 并 复 制 (Merge Replication)

  • 快 照 复 制 (Snapshot Replication)

  • 事 务 复 制 (Transaction Replication)

本 章 主 要 介 绍 的 复 制 增 强 如 下 :

  • 多 点 更 新 复 制 (Multi-site Update Replication)

  • 合 并 复 制 (Merge Replication)

  • 快 照 和 数 据 转 换 服 务 (Snapshot and Data Transformation

    Services)

  • 分 区 事 务 复 制 (Partitioned Transactional Replication)

  • 更 新 订 阅 器 (Updating Subscriber)

  • 推 、 拉 订 阅 (Push and Pull Subscriptions)

  • 匿 名 拉 回 订 阅 (Anonymous Pull Subscriptions)

  • 因 特 网 复 制 增 强 (Internet Replication Enhancements)

  • 数 据 加 密 (Data Encryption)

  • 多 机 环 境 复 制 服 务 (Heterogeneous Data-Replication Services)

  • 创 建 复 制 脚 本 (Creating Replication Scripts)

多 点 更 新 复 制 ( Mu lti-site Update Replication)

与 复 制 一 道 产 生 的 问 题 是 , 被 更 新 的 数 据 是 何 时 和 怎 样 跨 越 复 制 场 景 有 关的 所 有 的 服 务 器 的 。 多 个 站 点 如 何 同 时 更 新 数 据 , 而 且 不 用 有 一 个 站 点 是 复 制场 景 的 拥 有 者 ? 如 果 同 时 有 更 新 发 生 会 怎 样 呢 ? 谁 首 先 更 新 和 谁 必 须 等 到 解 除 锁定 ? 复 制 会 涉 及 很 多 问 题 , 例 如 进 行 二 阶 段 更 新 时 的 数 据 丢 失 和 有 用 性 、 不 确 定性 。 一 台 机 器 在 等 待 更 新 所 有 的 远 程 服 务 器 时 , 也 许 变 得 不 可 用 。 在 这 些 领 域 , 应 用 程 序 具 有 不 同 的 需 求 , 取 决 于 你 的 用 户 怎 样 观 察 和 使 用 数 据 。

为 了 解 决 允 许 多 站 点 更 新 复 制 数 据 的 问 题 , 微 软 SQL Server 已 拥 有 许 多 方法 , 以 根 据 应 用 程 序 的 需 要 实 施 多 站 点 更 新 复 制 。

应用需求

多位更新选择

自主最重要

Merge Replication

延迟时间相容性

Snapshot and Data Transformation Services

为 了 避 免 冲 突 使 用 分 区 应 用 程 序 , 时 间仅是时间问题

Partitioned Transactional Replication

订阅器必须是相容的

Updating Subscribers

  • 个 复 制 工 具 在 试 图 满 足 客 户 对 复 制 拷 贝 需 要 的 同 时 , 还 必 须 遵 循 物 理 和网 络 的 法 则 。

    1. 合 并 复 制 ( Merge Replication)

合 并 复 制 是 微 软 SQL Server 7 中 的 一 种 多 站 点 更 新 复 制 选 择 ,它 用 于 在 S Q L Server 的 自 主 性 是 最 重 要 的 条 件 下 。 在 这 个 进 程 中 , 当 调 度 的 合 并 发 生 时 , 数据 仅 在 成 双 地 调 解 中 移 动 。 这 种 合 并 进 程 与 Server 和 Reconclier 二 者 都 相 连 以便 在 合 并 数 据 的 同 时 解 决 出 现 的 任 何 冲 突 。 到 达 的 数 据 与 现 有 的 数 值 合 并 , 同时 又 按 照 调 解 规 则 解 决 了 冲 突 , 该 调 解 规 则 通 过 COM / OLE 能 够 扩 展 和 定 形 。另 一 方 面 , 根 据 先 前 指 定 的 优 先 次 序 解 决 各 种 冲 突 。 数 据 从 改 变 的 SQL Server 移 到 需 要 同 步 的 一 个 SQL Server 上。

就 合 并 复 制 来 说 , 调 解 数 据 并 不 使 用 日 志 读 和 事 务 , 而 是 用 实 际 数 据 。 可以 多 次 改 变 一 个 列 , 但 只 有 最 后 一 行 图 像 用 来 调 解 。 可 以 使 用 Configure Publishing and Distribution Wizard 配 置 M erge Replication 。 为 了 在 Enterprise

M anager 中 访 问 该 向 导 , 必 须 扩 展 一 个 服 务 器 并 选 择 Tools / W izatds Replication

/ Configure Publishing and Distribution Wizatd 。 该 向 导 将 使 Publishing 数 据 库 用于 M erge Replication 。

首 先 , 必 须 选 择 一 个 分 布 器 。 这 个 进 程 将 产 生 一 个 分 布 (distribution)数 据 库 。

可 以 在 将 该 distribution 数 据 库 建 立 在 Publishing Server 上 , 或 用 一 个 不 同 的 服务 器 配 置 成 分 布 器 之 后 存 放 distribution 数 据 库 。 图 9.1 给 出 了 Enable Publisher 窗 口 。 如 果 选 择 的 话 , 可 以 注 册 其 他 的 服 务 器 作 为 此 屏 的 Publishers 。

可 以 单 击 列 表 框 中 的 ... 按 键 , 来 看 Publisher 的 选 项 , 其 中 包 含 工 作 文 件 夹信 息 以 及 Replication Agents 是 怎 样 存 入 Publishing Server 的 。 下 一 个 荧 屏 给 出复 选 框 , 它 能 使 Publishing 数 据 库 用 于 M erger Replication 。

接 下 来 一 个 窗 口 给 出 允 许 Subscriber 的 程 序 。在 这 种 情 况 下 ,Publisher,Distribu tion 以及 Subscriber 都 在 相 同 的 SQL Server 上 。 接 下 来 一 个 窗 口 给 出 Subscrib

er 的 选 项 , 其 中 包 括 Replication Agents 如 何 存 入 Subscriber。 下 一 个 窗 口 显 示

的 是 Publishing 和 D istrbution Wizard 成 功 完 成 配 置 distribution 数 据 库 。

如 果 决 定 从 distribution 数 据 库 的 建 立 和 配 置 中 退 出 , 可 以 用 Disable Publishing and Distribution Wizatd 来 删 除 distribution 数 据 库 和 刚 刚 建 立 的Publisher 和 Subscribers 。 要 访 问 Enterprise Manager 的 向 导 , 扩 展 该 服 务 器 , 查阅 Tools 菜 单 并 选 择 Replication Configure Publishing and Distrbution Wizatd / D isable the Publishing and Distribution Wizard 。

就 象 为 了 合 并 复 制 M erge Replication 而 配 置 一 个 Publisher ,并 删 除 Distributor

和 Publisher 那 样 , 为 了 合 并 复 制 也 能 配 置 出 版 物 。 为 了 这 样 做 , 首 先 应 通 过 扩

展 该 服 务 器 和 选 择 Tools / W izards 访问 Enterprise M anager 中的 Publish and Push Subscription 窗 口 ( 图 9.2)。

第 9 章 SQL Server 7 的 复 制 增 强 - 图1

图 9.1Configure Publishing and Distribution Wizard 的 Enable Publishers 窗 口

第 9 章 SQL Server 7 的 复 制 增 强 - 图2

图 9.2Create Publication Wizard

接 下 来 , 选 择 W izards , 双 击 Replication 并 选 择 Create Publication Wizard 。

该 W izard 将 让 你 选 择 出 版 物 的 类 型 : 快 照 、 事 物 或 合 并 。 The Create Publication W izard 请 求 确 定 出 版 物 的 名 称 和 说 明 。 再 下 一 个 窗 口 就 显 示 成 功 完 成 Create Publication Wizard 。 在 该 Create Publication Wizard 窗 口 关 闭 之 后 , 新 的 出 版 物就 出 现 在 Enterprise M anager 中的 Replication Monitor 层 次 树 下 , 如 图 9.3 所 示 。

第 9 章 SQL Server 7 的 复 制 增 强 - 图3

图 9.3 新的出版物出现在 Replication Monitor 之 下

现 在 必 须 建 立 Subscription 作 为 一 个 Merge Subscription 。 对 这 个 例 子 来 说 ,

我 们 将 使 用 Pull Subscription Wizard 从 该 订 阅 器 中 拉 回 出 版 物 , 与 从 出 版 器 那 里推 出 版 物 相 反 。 选 择 Pull New Subscription 按 钮 , 则 Pull Subscription Wizard 在荧 屏 上 出 现 。

必 须 为 订 阅 器 选 择 一 个 出 版 物 。 从 Choose Publication 窗 口 中 选 择Publication 。 下 一 个 窗 口 给 出 是 现 在 初 始 化 订 阅 物 还 是 等 待 调 度 代 理 时 进 行 合并 , 再 下 一 个 窗 口 允 许 创 建 Merge Agent 调 度 。

在 Set Merge Schedule 荧 屏 上 单 击 Change 按 键 , 调 度 窗 口 , 现 在 叫 做 Edit Recurring Tob 窗 口 出 现 。 这 与 先 前 微 软 SQL Server 提 供 的 调 度 窗 口 是 相 同 的 , 并 且 与 老 的 Task Schedule 荧 屏 非 常 相 似 。

接 下 来 出 现 的 窗 口 如 图 9.4 让 你 设 定 订 阅 优 先 级 , 多 位 更 新 就 是 这 样 解 决 更新 冲 突 。 如 果 两 个 订 阅 器 同 时 更 新 一 行 数 据 中 相 同 的 列 , 该 列 将 显 示 谁 拥 有 更优 先 的 权 力 。

第 9 章 SQL Server 7 的 复 制 增 强 - 图4

图 9.4 设置订阅优先级

最 后 一 个 窗 口 完 成 建 立 一 个 M erge Replication Pull Subscription 的 进 程 。

快 照 和 数 据 转 换 服 务

快 照 多 站 点 更 新 复 制 选 择 在 指 定 的 时 间 拍 摄 一 张 该 数 据 库 的 结 构 和 数 据 。这 就 是 第 一 步 的 同 步 基 础 。 BCP 实 用 程 序 是 用 来 移 动 该 结 构 和 数 据 的 。 这 之 后更 新 的 数 据 施 加 于 预 定 的 目 标 服 务 器 上 。 在 调 度 复 制 配 置 的 同 时 , 一 个 新 的 快照 被 拍 摄 并 按 照 一 定 的 周 期 施 加 在 服 务 器 上 。

这 个 选 择 在 处 理 日 志 读 和 事 务 日 志 时 有 利 于 减 少 管 理 费 用 。 有 一 个 时 间 延

迟 包 含 在 其 中 , 但 数 据 保 留 在 连 续 状 态 , 对 管 理 和 配 置 来 说 , 这 是 最 容 易 的 复制 方 案 。

注 意 : Create Publication Wizard 是 通 过 扩 展 Enterprise Manager 选 择

Tools|Wizards 来 实 现 的 。

The Choose Publication Type 窗 口 在 Create Publication Wizard 中 有 代 表 了 三种 主 要 复 制 类 型 的 三 种 选 择 即 :

  • 快 照 复 制

  • 事 务 复 制

  • 合 并 复 制

The Choose Publication Type 屏 幕 简 要 地 描 述 了 每 一 种 复 制 类 型 的 情 况 , 如图 9.5 所 示 。

第 9 章 SQL Server 7 的 复 制 增 强 - 图5

图 9.5 选择出版物类型屏幕

分 区 事 务 复 制

当 应 用 程 序 需 要 在 出 版 器 和 订 阅 器 之 间 在 一 个 事 务 的 片 刻 之 内 具 有 相 容 性时 使 用 分 区 事 务 复 制 是 最 好 的 。 在 分 区 应 用 时 更 好 的 办 法 是 避 免 更 新 冲 突 , 而不 是 在 他 们 发 生 时 试 图 解 决 它 们 。 冲 突 的 消 除 必 定 有 一 个 胜 者 和 一 个 失 败 者 , 而 且 任 何 时 候 都 有 一 个 失 败 者 , 总 有 一 个 事 务 不 能 得 以 应 用 。 通 过 分 区 数 据 使用 事 务 复 制 可 以 避 免 这 种 情 况 。

事 务 复 制 有 一 个 出 版 器 和 一 个 或 多 个 订 阅 器 。 一 个 出 版 器 将 数 据 以 Articles 的 形 式 送 到 该 订 阅 器 。 该 事 务 日 志 用 于 存 入 对 数 据 的 改 变 , 然 后 将 这 些 改 变 放在 一 个 distribution 数 据 库 上 , 在 那 里 他 们 被 送 到 用 户 , 与 出 版 器 订 制 的 次 序 相同 的 。 这 个 进 程 需 要 在 出 版 器 和 订 阅 器 之 间 有 一 个 连 络 并 且 复 制 只 需 数 秒 的 延迟 时 间 。

The Snapshot Agen t, Log Reader Agent 以 及 D istribution Agent 共 享 事 务 复制 。 你 可 以 与 可 更 新 的 订 阅 器 和 拉 回 阅 或 匿 名 的 拉 回 订 阅 来 配 置 事 务 复 制 。

更 新 订 阅 器

更 新 Subscriber 是 在 该 Subscriber 上 更 新 数 据 的 同 时 , 对 该 出 版 器 执 行 更 新的 一 种 复 制 Subscriber , 这 是 借 助 于 两 阶 段 提 交 和 D istributed Transaction

Coordinator 来 完 成 的 。 这 个 叫 做 同 步 事 务 的 特 征 是 一 个 新 的 复 制 特 征 — — 首 次在 SQL Server 7 中 可 以 获 得 , 它 对 事 务 复 制 是 可 以 利 用 的 , 对 快 照 复 制 也 是 可以 利 用 的 。 两 者 都 能 在 Create Publication Wizard 中 通 过 检 查 复 选 框 设 定 。 为 了能 更 新 Subscribers , 必 须 在 Enterprise M anager 中 扩 展 该 服 务 器 并 选 择 Tools / Replication / Publish and Push Subscriptions / Create Publication / Create Publication Wizard / Choose Publication Type, Snapshot( 或 Transaction)Publication

/ Allow Updatable Subscription 。 在 A llow Updatable Subscriptions 窗 口 中 选 择 Yes

单 选 按 钮 , 如 图 9.6 所 示 。

第 9 章 SQL Server 7 的 复 制 增 强 - 图6

图 9.6 允 许 更 新 订 户 选 Yes

SQL Server 的 各 个 不 同 部 分 为 创 建 “ Immediate Updating Subscriber 而 协 同工 作 。 M icriosoft Distributed Transaction Coordinator 负 责 两 阶 段 提 交 , 而 触 发 器在 该 Subscriber 捕 获 更 新 的 资 料 并 把 它 们 送 到 该 Publisher 。 更 新 资 料 是 通 过 使

用 NOT FOR REPLICATION 子 句 在 触 发 器 生 成 时 , 将 该 Subscriber 处 那 些 实 际地 变 化 和 那 些 在 正 常 的 复 制 程 序 中 用 Publisher 施 加 到 该 Subscriber 的 资 料 区 分开 来 。 这 意 味 Update,Insert 或 Delete 触 发 器 仅 在 用 户 更 新 Subscribing 数 据 库 时调 用 , 而 在 复 制 事 务 发 生 时 不 调 用 , 该 触 发 器 用 一 个 远 程 存 储 过 程 , 叫 做 该Publisher 上 的 一 个 存 储 过 程 , 如 果 它 成 功 返 回 , 该 事 务 被 提 交 。

在 事 务 提 交 之 前 , 它 必 须 通 过 一 系 列 的 检 测 来 看 Publisher 上 的 那 个 数 据 会发 生 什 么 。 在 Publisher 上 如 果 在 来 自 Subscriber 的 事 务 被 应 用 之 前 数 据 被 更 新 , 那 么 该 事 务 退 回 重 来 。 SQL Server 查 看 在 文 章 上 是 否 有 时 间 戳 。 如 果 有 , 它 比较 时 间 戳 , 如 果 相 同 的 数 据 在 Publisher 上 被 改 变 过 就 不 应 用 事 务 。 如 果 没 有 时间 戳 , 一 行 比 较 便 发 生 。 在 Subscriber 上 数 据 被 改 变 之 前 , 用 数 据 观 察 , 如 果在 Publisher 和 Subscriber 各 行 是 相 同 的 , 那 么 该 事 务 在 Subscriber 试 图 更 新 数据 之 前 , Publisher 曾 经 被 更 新 过 , 该 Subscriber 的 更 新 资 料 将 不 被 应 用 。 这 种情 况 下 Publisher 是 胜 利 者 。 只 有 当 文 章 有 时 间 戳 的 情 况 下 , 在 Publisher 复 制 期间 ,一 个 叫 做 Loopback detection 的 进 程 保 存 从 复 制 返 回 到 Subscriber 的 Subscriber 更 新 资 料 。

推 、 拉 订 阅

将 数 据 移 到 一 个 Subscriber 有 两 种 选 择 : 一 种 是 Publisher 将 数 据 推 到

Subscriber, 另 一 种 是 Subscriber 从 Publisher 拉 回 数 据 。 一 个 出 版 物 可 用 这 两 种

方 法 移 动 数 据 。

第 9 章 SQL Server 7 的 复 制 增 强 - 图7

图 9.7Push Subscriber Wizard

第 9 章 SQL Server 7 的 复 制 增 强 - 图8

图 9.8Pull Subscription Wizard

当 Publisher 推 数 据 到 Subscriber 时 , 当 数 据 到 来 时 , Subscriber 与 找 数 据 或确 定 数 据 无 关 。 当 Publisher 准 备 好 时 , Subscriber 便 获 得 数 据 , 只 要 该 数 据 被

改 变 或 Publisher 调 度 将 要 推 到 Subscriber 的 数 据 , 这 一 过 程 随 时 会 发 生 , 为 了实 现 这 种 复 制 ,可从 Enterprise M anager 中 Tools / Wizards 中 选 择 Push Subscriber W izard 。 Push Subscriber Wizard 如 图 9.7 所 示 。 推 式 订 阅 最 好 用 在 变 化 必 须 在Subscriber 上 能 看 见 的 情 况 下 , 只 要 它 们 发 生 在 Publisher 上 , 并 且 应 用 要 求 安全 。 在 一 个 调 度 的 基 础 上 , 变 化 也 能 被 推 到 Subscribers 。

在 Internet 网 上 有 许 多 Subscribers 时 , Subscriber 从 Publisher 上 拉 回 数 据 是最 好 的 方 法 。使 用 这 种 方 法 ,可 在 Enterprise Manager 上 从 Tools 菜 单 中 选 择 PULL Subscription Wizard ,如图 9.8 所 示 。Subscriber 能 在 方 便 的 时 候 , 在 由 Subscriber 设 置 的 调 度 上 从 Publisher 处 接 收 变 化 。 这 种 方 法 没 有 推 式 方 法 安 全 。

因 特 网 复 制 增 强

M icrosoft SQL Server 使 用 因 特 网 已 使 从 Publisher 到 Subscriber 获 得 数 据 变得 容 易 了 。 有 几 个 应 用 规 则 。 如 果 有 防 火 墙 , Publisher 和 D istributor 必 须 在 防火 墙 的 同 一 端 。 如 果 没 有 防 火 壁 , Publisher 和 D istributor 必 须 有 一 个 直 接 的 网络 连 接 。

从 因 特 网 连 接 到 M icrosoft SQL Server 是 容 易 的 。 它 能 从 SQL Server Query Analyzer 实 用 程 序 中 完 成 或 从 使 用 ODBC 或 DB Library 委 托 的 应 用 中 完 成 。 为了 完 成 这 个 任 务 , 该 委 托 和 该 服 务 器 计 算 机 必 须 与 Internet 相 连 并 且 需 要 使 用TCP / IP 或 Mulit-Protocol Network Librarie s 。 使 用 Multi-Protocol Network Library

需 要 TCP / IP 支 持 。管理者能用 M ulti-Protocol 网 络 库 与 一 个 或 所 有 用 户 的 SQL Server 建 立 一 个 加 密 连 接 。 TCP / IP Windows Sockets,NWLink IPX / SPX 以 及Named Pipes 在 Multi-Protocol Net-Library 之 下 是 受 到 支 持 的 。 在 一 个 或 多 个Interprocess Communication 之 间 的 通 讯 受 到 W indows NT 的 支 持 。 Multi-Protocol Net-Library 利 用 W indows NT 的 Remote Procedure Call, 提 供 了 完 整 的 安 全 性 。对 Multi-Protocol 网 络 库 来 说 , 简 单 地 使 用 服 务 器 的 名 字 来 确 定 服 务 器 的 地 址 。

匿 名 拉 回 订 阅

匿 名 拉 回 订 阅 就 是 在 出 版 器 和 分 配 器 上 没 有 储 存 关 于 每 个 订 阅 器 的 信 息 的一 次 订 购 。 如 果 服 务 器 对 出 版 器 不 是 一 个 订 阅 器 , 并 且 该 出 版 器 被 设 置 为 无 记名 订 购 , 则 拉 购 向 导 将 为 订 户 创 造 一 次 无 记 名 的 订 购 , 该 订 购 需 要 订 户 发 出 订购 并 从 出 版 器 处 拉 回 数 据 。 这 能 由 Internet 的 订 户 使 用 。

用 复 制 分 配 代 理 程 序 已 经 使 Internet 出 版 物 的 复 制 增 强 了 , 并 且 便 于 从 源 服务 器 ( 出 版 者 ) 到 目 标 服 务 器 ( 订 户 ) 数 据 拷 贝 的 分 配 。 这 是 开 始 设 置 在 一 个 或 更 多的 服 务 器 上 , 然 后 在 调 度 或 实 时 或 者 要 求 对 远 程 服 务 器 分 配 数 据 。 这 个 特 性 的优 点 是 订 户 在 一 个 远 程 区 域 内 能 被 物 理 定 位 , 任 何 数 据 的 改 变 都 能 象 在 源 服 务器 上 所 做 的 一 样 到 达 订 户 。 为 了 让 许 多 Internet 数 据 定 阅 器 , 一 个 匿 名 订 购 的 想法 提 出 了 。 这 是 一 种 新 建 的 功 能 性 的 特 殊 的 拉 回 订 购 。 过 去 , 数 据 是 从 源 服 务器 上 推 出 ; 现 在 它 能 从 订 户 服 务 器 拉 回 。 匿 名 订 户 的 信 息 是 不 存 储 在 出 版 者 处

的 , 订 户 为 了 保 持 无 记 名 订 购 同 步 , 成 为 有 责 任 的 一 方 。 然 而 对 大 量 的 订 户 存储 信 息 的 开 销 是 不 希 望 的 。

用 于 创 造 一 次 匿 名 订 购 的 步 骤 与 用 于 创 造 一 次 拉 式 订 购 的 步 骤 一 样 。 另 外 , 因 为 匿 名 的 订 购 和 服 务 器 不 能 作 为 订 户 在 出 版 者 处 登 记 , 出 版 物 必 是 激 活 的 。使 用 Replication Distribution Aqent Utility 增 加 一 次 匿 名 订 购 。

注 意 : 复 制 分 配 代 理 实 用 程 序 是 一 个 向 导 , 意 味 着 它 是 帮 助 用 户 执 行 以 前 需要 编 程 的 任 务 的 一 个 用 户 界 面 。 该 向 导 建 立 并 且 开 始 将 保 留 在 数 据 库 事 务 和 快照 作 业 表 格 中 移 动 到 订 购 服 务 器 的 复 制 任 务 。

数 据 加 密

多 协 议 网 络 库 有 能 力 从 SQL Server 服 务 器 中 加 密 数 据 并 送 到 SQL Server , 这 在 Internet 环 境 中 显 然 有 用 。 加 密 能 为 一 个 或 所 有 用 户 设 置 。 这 是 一 个 使 用M icrosoft SQL Server 客 户 网 络 实 用 程 序 所 需 的 进 程 。

注 意 : 使 用 客 户 网 络 实 用 程 序 和 服 务 器 网 络 实 用 程 序 ( 定 位 在 SQL 服 务 器 7

程 序 组 )。

在 计 算 机 上 运 行 客 户 ( 运 行 客 户 网 络 实 用 程 序 ) 和 SQL Server( 运 行 服 务 器 网络 实 用 程 序 ), 在 客 户 和 在 SQL 服 务 器 上 运 行 , 有 以 下 一 些 操 作 步 骤 :

  1. 在 M icrosoft SQL Server 程 序 组 中 , 启 动 S Q L 客 户 网 络 实 用 程 序 ( 或 者 如果 你 在 SQL Server 上 , 启 动 Server Network Utility) 。

  2. 单 击 Genral 标 签 。

  3. 在 Genral 标 签 中 按 下 Add 按 钮 , 选 择 Multi-Protoco l, 在 服 务 器 别 名 中输 入 其 名 字 , 如 图 9.9 所 示 。

第 9 章 SQL Server 7 的 复 制 增 强 - 图9

图 9.9Client Network Utility | Add New Network Protocol

  1. 选 择 确 定 按 钮 。

  2. 在 Server Network Utility 中 , 在 SQL Server Network Utility 上 有 一 个 附 加的 步 骤 。 编 辑 Multi-Protocol 选 项 并 选 择 Enable Multi-Protocol 加 密 复 选 框 。

    1. 在 因 特 网 上 的 保 密 : 微 软 代 理 服 务 器

为 在 因 特 网 上 确 保 秘 密 , Microsoft SQL Server 是 通 过 微 软 代 理 服 务 器 连 接的 , 该 代 理 服 务 器 与 用 户 确 认 的 W indows NT 服 务 器 紧 密 结 合 。 代 理 服 务 器 是一 种 程 序 , 提 供 在 Microsoft SQL Server 数 据 库 上 存 储 的 数 据 的 安 全 的 访 问 。 代理 服 务 器 是 由 控 制 监 听 端 口 提 供 安 全 的 访 问 的 独 立 程 序 , 可 通 过 锁 定 访 问 IP 地址 、 域 或 用 户 的 范 围 , 让 不 需 要 的 用 户 不 能 访 问 该 端 口 。 TC P / IP Sockets 也 能与 M icrosoft 代 理 服 务 器 一 起 组 合 。 这 允 许 SQL Server 使 用 标 准 的 W indows Sockets 作 为 IPC 方 法 通 过 TCP / IP 协 议 通 讯 。 W indows 95 默 认 使 用 TC P / IP Sockets 。 如 果 设 置 SQL Server 在 TC P / IP 上 监 听 , 你 必 须 在 端 口 数 字 框 中 输 入TCP / IP 端 口 数 。当从 TC P / IP Sockets 委 托 方 接 受 连 接 时 ,在 默 认 情 况 下 ,S Q L Server 使 用 1433 , 官 方 的 因 特 网 分 配 数 字 协 会 (IANA )插 口 数 字 为 M icrosoft SQL Server, 此 时 接 受 来 自 TCP / IP 的 插 口 客 户 。 当 SQL Server 被 设 置 安 装 到 代 理服 务 器 上 监 听 , 在 TCP/IP 插 口 之 上 使 用 M icrosoft 代 理 服 务 器 , 当 你 设 置 TCP

/ IP Sockets 联 网 库 时 , 你 必 须 在 Remote Winsock 代 理 地 址 方 框 中 输 入 代 理 服务 器 地 址 。下 列 步 骤 描 述 如 何 使 用 M icrosoft Proxy Server 连 接 SQL Server 与 TCP

/ IP :

第 9 章 SQL Server 7 的 复 制 增 强 - 图10

图 9.10Server Network Utility|Edit

注意 : 在 SQL Server 程 序 组 中 使 用 微 软 SQL Server Setup 。

  1. 在 M icrosoft SQL Server Setup 中 , 用 现 有 的 SQL Server 选择 Work , 然

后 选 择 Next 。

  1. 选 择 Change Network Support 选 项 并 选 择 Next 按 钮 。

  2. 单 击 TCP / IP Sockets 方 框 。

  3. 在 Port Number 方 框 中 , 输 入 端 口 数 (SQL Server 默 认 值 是 1433)。

  4. 在 Remote Winsock 代 理 地 址 方 框 中 , 输 入 节 点 名 或 代 理 服

    务 器 的 IP 地址 。

  5. 选 Finish , 然 后 选 Install Now 。

  6. 停 止 和 启 动 SQL Server。

我 知 道 人 们 在 使 用 了 代 理 服 务 器 和 TCP / IP 网 络 库 的 远 程 W insock 代 理 客户 部 分 后 , 对 结 果 是 满 意 的 , 说 性 能 与 慢 速 WAN 相 似 , 他 们 在 网 上 处 于 从 新西 兰 到 华 盛 顿 。 通 过 Remote Winsock 远 程 监 听 , 为 代 理 服 务 器 定 义 局 部 地 址 表格 (LAT ), 以 便 听 的 节 点 地 址 在 LAT 输 入 项 的 范 围 外 面 。

个 人 也 能 使 用 M icrosoft SAN 服 务 器 , 与 PC 系 统 和 Microsoft SQL Server 一起 组 装 IBM 主 机 和 SA / 400 计 算 机 和 数 据 。 M icrosoft SNA Server 支 持 Internet 和 Internet 访 问 。每 台 PC 使 用 一 个 局 域 网 (LAN )协 议 ,例 如 TC P / IP ,IPX / SPX , NetBEUI,Banyan VINES 或 Apple Talk 连 接 到 M icrosoft SNA Server 计 算 机 , 然后 用 IMB SNA 协 议 连 接 到 主 机 。

SQL Server Data Transformation Service 提 供 引 入 引 出 功 能 和 利 用 OLE DB- based 体 系 结 构 , 从 多 种 不 同 种 类 源 中 转 换 数 据 。 OLE DB 是 Internet 图 像 的 一个 重 要 的 部 分 , 并 且 为 在 因 特 网 上 转 换 和 发 表 H T M L 数 据 提 供 支 持 。

多 机 种 环 境 数 据 复 制 服 务

非 Microsoft SQL Server 第 三 方 数 据 库 和 数 据 源 能 成 为 出 版 者 。 SQL- D M O ,Visual Basic,C 和 C + + 程 序 设 计 能 用 来 使 M icrosoft SQL Server 复 制 服 务对 第 三 方 产 品 可 用 。 SQL-DMO 是 用 来 创 建 出 版 物 、 文 章 和 订 购 的 。 另 外 的 程序 语 言 被 用 来 在 SQL 分 配 器 上 存 储 事 务 处 理 。 在 这 完 成 以 后 , SQL 分 配 代 理 程序 、企 业 管 理 器 能 被 用 来 提 交 事 务 处 理 和 监 视 复 制 。你 能 够 在 你 的 M icrosoft SQL Server 上 找 到 Visual Basic SQL-DMO 的 样 本 , 在 \ samples \ sqlrep l\ samppub

\ sqldmo 目 录 中 , 用 Samples \ Sqdred \ Samppub \ repdist 目 录 中 一 个 样 本 C 程序 安 装 CD 。复 制 分 配 界 面 是 允 许 SQL-DMO 和 编 程 语 言 与 M icrosoft SQL Server 复 制 结 构 交 互 的 界 面 。 复 制 分 配 器 界 面 在 分 配 数 据 库 中 存 储 该 复 制 的 事 务 。 复制 分 配 器 界 面 使 用 OLE DB 连 接 和 对 象 。 使 用 Visual C + + 和 OLE 库 可 以 访 问这 些 对 象 。

创 建 复 制 脚 本

  • 旦 在 你 选 择 Enterprise Manager 中 的 Tools|Replication|Generate Replication Scripts 完 成 复 制 方 案 后 , 如 果 不 得 不 从 头 重 建 复 制 方 案 , 你 可 创 建 一 个Transact-SQL 脚 本 以 便 使 用 ( 参 阅 图 9.11)。 从 Enterprise Manager 简 单 运 行 重 建

复 制 方 案 后 创 建 的 脚 本 。

有 了 Microsoft SQL Server 7 , 使 用 因 特 网 复 制 数 据 是 从 未 有 过 的 容 易 了 。从 加 密 技 术 提 供 复 制 脚 本 的 每 一 步 骤 都 简 化 了 。

第 9 章 SQL Server 7 的 复 制 增 强 - 图11

图 9.11 为重建复制方案创建脚本