修改 SQL 复制的快照初始化选项

本文讨论在使用 快照初始化订阅时如何修改多个选项。

快照格式

“发布属性 - <发布>”对话框的“快照”页上指定快照格式。 有关访问此对话框的详细信息,请参阅 “查看和修改发布属性”。

  1. “发布属性 - <发布>”对话框的“快照”页上,选择“本机 SQL Server - 所有订阅者必须是运行 SQL Server 的服务器”或“字符 - 如果发布服务器或订阅服务器未运行 SQL Server,则必须选择此项”。

    注释

    建议选择本机格式,除非此发布必须支持对 SQL Server Compact 数据库或非 SQL Server 数据库的订阅。

  2. 单击 “确定”

快照文件夹位置

默认快照位置

指定默认快照位置 (SQL Server Management Studio) 在“配置分发向导”的 “快照文件夹” 页上指定默认快照位置。 有关使用此向导的详细信息,请参阅 “配置发布和分发”。 如果在未配置为分发服务器的服务器上创建发布,请在新建发布向导的 “快照文件夹” 页上指定默认快照位置。 有关使用此向导的详细信息,请参阅 “创建发布”。

修改“分发服务器属性 - <分发服务器>”对话框的“发布服务器”页上的默认快照位置。 有关详细信息,请参阅 “查看和修改分发服务器”和“发布服务器属性”。 在 “发布属性 - <发布> ”对话框中设置每个发布的快照文件夹。 有关详细信息,请参阅 “查看和修改发布属性”。

修改默认快照位置

  1. “分发服务器属性 - <分发服务器>”对话框的“发布服务器”页上,单击要为其更改默认快照位置的发布服务器的属性按钮(...)。

  2. “发布服务器属性 - <发布者> ”对话框中,输入 默认快照文件夹 属性的值。

    注释

    快照代理必须具有指定的目录的写入权限,分发代理或合并代理必须具有读取权限。 如果使用拉取订阅,则必须将共享目录指定为通用命名约定 (UNC) 路径,例如 \\computername\snapshot。 有关详细信息,请参阅 “保护快照文件夹”。

  3. 单击 “确定”

备用快照位置

“发布属性 - <发布>”对话框的“快照”页上指定备用快照位置。 有关访问此对话框的详细信息,请参阅 “查看和修改发布属性”。

指定备用快照位置

  1. “发布属性 - <发布>”对话框的“快照”页上:
    1. 选择 “将文件放在以下文件夹中”,然后单击“ 浏览 ”导航到目录,或输入存储快照文件的目录的路径。

      注释

      快照代理必须具有指定的目录的写入权限,分发代理或合并代理必须具有读取权限。 如果使用拉取订阅,则必须将共享目录指定为通用命名约定 (UNC) 路径,例如 \\computername\snapshot。 有关详细信息,请参阅 “保护快照文件夹”。
      a。 清除 默认文件夹中的文件 ,除非需要将快照文件写入这两个位置。
      若要压缩快照文件,请选择 此位置中的“压缩快照文件”。 压缩通常用于可移动媒体(例如 CD-ROM)上的低带宽连接和备用快照位置。

  2. 单击 “确定”

压缩快照文件

指定应在“发布属性 - <发布>”对话框的“快照”页上压缩文件。 有关访问此对话框的详细信息,请参阅 “查看和修改发布属性”。

  1. “发布属性 - <发布>”对话框的“快照”页上:

    1. 选择 “将文件放在以下文件夹中”,然后单击“ 浏览 ”导航到目录,或输入存储快照文件的目录的路径。

      注释

      快照代理必须具有指定的目录的写入权限,分发代理或合并代理必须具有读取权限。 如果使用拉取订阅,则必须将共享目录指定为通用命名约定 (UNC) 路径,例如 \\computername\snapshot。 有关详细信息,请参阅 保护快照文件夹

    2. 清理并将文件放入默认文件夹,除非需要在两个位置写入快照文件。

      注释

      如果选中此复选框,则不会压缩存储在默认文件夹中的文件。 压缩文件只能存储在上一步中指定的备用位置。

  2. 选择此文件夹中的压缩快照文件

  3. 单击 “确定”

在应用快照之前和之后执行脚本

可以在应用快照之前或之后指定要在订阅服务器上执行的脚本。 脚本可用于各种原因,例如在每个订阅服务器上创建登录名和架构(对象所有者)。

为每个脚本指定文件位置,每次发生快照处理时,快照代理都会将脚本文件复制到当前快照文件夹。 分发代理或合并代理在应用快照时在任何复制的对象脚本之前运行预快照脚本。 分发代理或合并代理在应用所有其他复制的对象脚本和数据后运行快照后脚本。 快照应用程序完成后,脚本文件成功运行后,脚本文件将从订阅服务器上的工作目录中删除。

该脚本通过启动 sqlcmd 实用工具来运行。 在部署脚本之前,请使用 sqlcmd 运行该脚本,以确保其按预期执行。 应用快照之前和之后执行的脚本的内容必须可重复。 例如,如果在脚本中创建表,则应首先检查其是否存在,并在存在时采取适当的措施。 该脚本必须可重复,因为如果需要重新初始化已应用脚本的订阅,则在重新初始化期间应用新快照时,该脚本将再次应用。

如果要压缩快照文件(通过将快照文件置于Microsoft CAB 文件格式),脚本也会压缩并放置在 CAB 文件中。 将压缩快照文件传输到订阅服务器并解压缩到订阅服务器上的工作目录后,将执行指示为快照前脚本的任何脚本。 同样,任何快照后脚本都会在订阅服务器上被解压缩并执行,作为应用快照的最后一步。

在应用快照之前或之后执行脚本

指定要在“发布属性 - <发布>”对话框的“快照”页上应用快照之前或之后执行的可选脚本。 有关访问此对话框的详细信息,请参阅 “查看和修改发布属性”。

  1. “发布属性 - <发布>”对话框的“快照”页上:
    • 若要指定要在应用快照之前执行的脚本,请单击“ 浏览 ”导航到脚本,或在 应用快照之前输入脚本的路径,请执行此脚本 文本框。

      注释

      分发代理或合并代理必须具有指定的目录的读取权限。 如果使用拉取订阅,则必须将共享目录指定为通用命名约定 (UNC) 路径,例如 \\computername\scripts\myscript.sql。

    • 若要指定要在应用快照后执行的脚本,请单击“ 浏览 ”导航到脚本,或在 应用快照后输入脚本的 UNC 路径,请执行此脚本 文本框。

  2. 单击 “确定”