如何定义和修改静态行筛选器 (SQL Server Management Studio)

可在新建发布向导的**“筛选表行”页或“发布属性 - <发布>”对话框的“筛选行”**页上定义、修改和删除静态行筛选器。有关使用向导和访问对话框的详细信息,请参阅如何创建发布和定义项目 (SQL Server Management Studio)如何查看和修改发布属性以及项目属性 (SQL Server Management Studio)。如果为对等事务性复制启用了发布,则不能筛选表。

ms152524.note(zh-cn,SQL.90).gif注意:
如果在初始化了对发布的订阅后,在“发布属性 - <发布>”对话框中添加、修改或删除静态行筛选器,则必须在更改后生成新的快照并重新初始化所有订阅。有关属性更改要求的详细信息,请参阅更改发布和项目属性

定义静态行筛选器

  1. 在新建发布向导的**“筛选表行”页上或“发布属性 - <发布>”对话框的“筛选行”**页上,根据发布类型进行操作:

    • 对于快照或事务性发布,请单击**“添加”**。
    • 对于合并发布,请单击**“添加”,再单击“添加筛选器”**。
  2. 在**“添加筛选器”**对话框中,从下拉列表框中选择要筛选的表。

  3. 在**“筛选语句”文本区域创建筛选语句。您可以在文本区域中直接键入,也可以从“列”**列表框中拖放列。

    ms152524.note(zh-cn,SQL.90).gif注意:
    WHERE 子句应使用由两部分构成的命名方式;不支持由三部分构成的命名方式和由四部分构成的命名方式。如果发布来自 Oracle 发布服务器,则 WHERE 子句必须符合 Oracle 语法。
    • **“筛选语句”**文本区域包括默认的文本,其格式为:

      SELECT <published_columns> FROM [schema].[tablename] WHERE
      
    • 默认文本无法更改;请使用标准的 SQL 语法在 WHERE 关键字后键入筛选子句。完整筛选子句如下所示:

      SELECT <published_columns> FROM [HumanResources].[Employee] WHERE [LoginID] = 'adventure-works\ranjit0'
      
    • 静态行筛选器可以包含用户定义函数。包含用户定义函数的静态行筛选器的完整筛选子句如下所示:

      SELECT <published_columns> FROM [Sales].[SalesOrderHeader] WHERE MyFunction([Freight]) > 100
      
  4. 单击“确定”。

  5. 如果是在**“发布属性 - <发布>”对话框中,请单击“确定”**保存并关闭此对话框。

修改静态行筛选器

  1. 在新建发布向导的**“筛选表行”页上或“发布属性 - <发布>”对话框的“筛选行”页上的“筛选的表”窗格中选择筛选器,再单击“编辑”**。

  2. 在**“编辑筛选器”**对话框中,修改筛选器。

  3. 单击“确定”。

删除静态行筛选器

  1. 在新建发布向导的**“筛选表行”页上或“发布属性 - <发布>”对话框的“筛选行”页上的“筛选的表”窗格中选择筛选器,再单击“删除”**。

请参阅

任务

如何定义和修改合并项目的参数化行筛选器 (SQL Server Management Studio)

概念

筛选已发布数据

其他资源

How to: Define and Modify a Static Row Filter (Replication Transact-SQL Programming)

帮助和信息

获取 SQL Server 2005 帮助