常见问题 - SQL Server 7.0 - 复制

文章翻译 文章翻译
文章编号: 195757 - 查看本文应用于的产品
本文已归档。它按“原样”提供,并且不再更新。
展开全部 | 关闭全部

概要

本文旨在解决与 SQL Server 7.0 的复制功能有关的常见问题。

更多信息

  1. 问:何时在订阅服务器上创建 MSreplication_subscriptions 表?

    答:分发代理将在启动时创建 MSreplication_subscriptions 表(如果该表尚不存在)。此外,如果订阅服务器上不存在 MSreplication_subscriptions 表,则 sp_addpullsubscription 存储过程也会创建该表。
  2. 问:每个代理将调用哪个 .exe 或 .dll 文件?

    答:下表显示了代理的名称及关联的文件:

    收起该表格展开该表格
    代理名文件名
    日志读取器代理Logread.exe
    快照代理Snapshot.exe
    分发代理Distrib.exe
    合并代理Replmerg.exe

    注意:分发代理和合并代理也可以通过 Sqldistx.dll 和 Sqlmergx.dll ActiveX 接口调用。
  3. 问:是否需要多个分发数据库?

    答:大多数情况下,只需要一个。此功能针对那些要集中进行复制操作和管理工作,并希望用一个分发服务器来承载多个发布服务器的用户。您可以在一个分发数据库中支持多个发布服务器,但有时您可能希望将逻辑复制应用程序分到不同的数据库中,以便于管理。在一些情况下,使用多个分发数据库还可能带来性能优势,这是可能是因为减少了争夺情况(在写入和读取分发数据库方面)。
  4. 问:在合并设置中,所有服务器能否具有相同优先级?

    答:发布服务器和订阅服务器绝不能具有相同的优先级,这是 SQL Server 在添加订阅时强制指定的。不过,如果两个订阅(如 S1 和 S2)具有同样的优先级,则第一个获得发布服务器更改的订阅将取得成功。也就是说,如果 S1 和 S2 以伪同时的方式进行更改,那个第一个与发布服务器合并更改的订阅将成功。该规则也适用于优先级实质上为 0 的本地订阅(第一个连接到集线器的订阅将获得成功)。
  5. 问:同步 Internet 发布失败,同时显示错误“Couldn't deliver schema information”。为什么?

    答:可能是由于文件复制操作失败。默认情况下,请求代理使用分发服务器/发布服务器的通用命名约定 (UNC) 路径集来打开文件。如果计算机没有位于局域网 (LAN) 上,则 UNC 无效。您可以在分发服务器上设置 FTP 服务器,并设置合并代理命令行以包括 FTP 地址。在为 Internet 启用的发布应用于订阅服务器之前,该发布的初始快照会由合并代理通过 FTP 下载到客户端计算机。有关详细信息,请参阅 SQL Server 联机丛书。
  6. 问:能否进行从 SQL Server 7.0 到 Microsoft Access 97 数据库的合并复制?

    答:只有下一版本的 Access 才支持到 Access 97 数据库的合并复制。要使用此功能,还需要具备 JET 复制提供程序,该程序包括在 SQL Server 7.0 和下一版本的 Microsoft Office 中。
  7. 问:能否使用复制 ActiveX 控件请求从 Access 97 数据库的合并发布?

    答:可以使用 ActiveX 控件将 Access .mdb 文件的请求订阅合并到 SQL Server 7.0 合并发布。有关展示此功能的代码示例,请参阅 SQL Server 联机丛书。
  8. 问:能否从 SQL Server 7.0 合并复制到 ODBC 订阅服务器?

    答:可以强制异类 ODBC 订阅服务器的快照,但不能合并发布。
  9. 问:能否从 SQL Server 7.0 使用复制 ActiveX 控件请求从任何 ODBC 订阅服务器的合并发布?

    答:不行。只有 SQL Server 7.0 和 Jet 4.0 支持合并复制。
  10. 问:“受限”发布有何变化?

    答:不再支持 SQL Server 6.5 中所实现的受限发布。不过,SQL Server 7.0 提供了一项更好的功能:发布访问列表 (PAL)。通过 PAL,您可以指定能订阅特定发布的 Windows NT 组或标准登录。有关详细信息,请参阅 SQL Server 联机丛书中的“发布访问列表”主题。
  11. 问:我使用了“卸载发布和分发向导”,而分发数据库的物理文件保留在硬盘上。这是设计使然吗?如果重新安装复制,将发生什么情况?

    答:在删除分发时,SQL Server 会尝试删除物理文件。但是,如果分发数据库为其他客户端所用,或者在删除文件时存在共享冲突,那么文件实际上不会从硬盘上删除。如果物理文件未删除,而您尝试再次安装分发,则分发数据库将使用新的名称。
  12. 问:如果用项目中的一个表创建快照发布,然后更改已发布表的架构(例如,向表中添加一列),那么新的架构是否会应用于订阅服务器?

    答:在 SQL Server 7.0 中不会复制对已发布表的架构所做的更改。如果要复制新的列,则必须创建新的发布,然后订阅该发布。
  13. 问:有什么好的方式可以查看 MSRepl_Commands 中命令的含义?

    答:在分发数据库中,执行 sp_browsereplcmds 存储过程。
  14. 问:当分发代理启动时,如果快照代理尚未完成,会怎样?

    答:分发代理是否与快照代理同时运行并不是问题。如果分发代理运行时没有可用的快照,那么分发代理会等待(如果连续)或者关闭,同时显示一条消息表明快照尚不可用。
  15. 问:在 Windows NT Server 上,事务复制功能不可用。为什么?

    答:当您运行 SQL Server 的桌面版时,此功能不可用。请注意,桌面版可以安装在任何平台上。
  16. 问:使用 ALTER TABLE 语句之后,校验值验证会失败,即使在重新同步之后也是如此。为什么?

    答:要使 Checksum() 正常工作,页面上两个表的二进制结构必须完全相同,但如果您在发布服务器上执行 ALTER TABLE,而在订阅服务器上创建表,则表的二进制结构将不一样。
  17. 问:使用更新订阅服务器,已发布的表发生了更改。为什么?

    答:参与发布或订阅的表必须包含 SQL Server 时间戳列。在创建发布时,如果时间戳列不存在,则 SQL Server 7.0 将自动添加该列。如果停止发布表,可以很容易地删除时间戳列。由于限定的 INSERT、UPDATE 或 DELETE 语句中无需包含时间戳列,所以对于包含该列的表,应用程序的工作方式不变。
  18. 问:主机数据复制器 (HDR) 能否在 SQL Server 7.0 上运行?

    答:不能。只有 SQL Server 6.5 支持 HDR。如果要使用 SQL Server 7.0,可以使用数据转换服务 (DTS) 来替代。

如果您没有看到您问题的答案,请通过以下 Microsoft 网站访问 Microsoft SQL Server 新闻组:
http://www.microsoft.com/technet/community/newsgroups/server/sql.mspx
Microsoft 技术社区为您提供了与 Microsoft 员工、专家以及同行进行交流的机会,以共享与 Microsoft 产品及相关技术有关的知识和新闻。这些技术社区提供了多种方式来获取问题的答案、获取难题的解决方案并共享您的专业知识。这些技术社区位于以下 Microsoft 网站:
http://www.microsoft.com/china/community/default.mspx

属性

文章编号: 195757 - 最后修改: 2013年10月11日 - 修订: 3.1
这篇文章中的信息适用于:
  • Microsoft SQL Server 7.0 标准版
关键字:?
kbnosurvey kbarchive kbinfo kbfaq KB195757
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com