다음을 통해 공유


방법: 정적 행 필터 정의 및 수정(SQL Server Management Studio)

새 게시 마법사의 테이블 행 필터 페이지 또는 게시 속성 - <Publication> 대화 상자의 행 필터 페이지에서 정적 행 필터를 정의, 수정 및 삭제합니다. 마법사를 사용하고 대화 상자에 액세스하는 방법은 방법: 게시 만들기 및 아티클 정의(SQL Server Management Studio)방법: 게시 및 아티클 속성 보기 및 수정(SQL Server Management Studio)을 참조하십시오. 게시에서 피어 투 피어 트랜잭션 복제를 사용할 수 있도록 설정한 경우에는 테이블을 필터링할 수 없습니다.

[!참고]

게시에 대한 구독이 초기화된 후 게시 속성 - <Publication> 대화 상자에서 정적 행 필터를 추가, 수정 또는 삭제한 경우에는 변경 내용을 적용한 후에 새 스냅숏을 생성하고 모든 구독을 다시 초기화해야 합니다. 속성 변경 요구 사항에 대한 자세한 내용은 게시 및 아티클 속성 변경을 참조하십시오.

정적 행 필터를 정의하려면

  1. 새 게시 마법사의 테이블 행 필터 페이지 또는 게시 속성 - <Publication> 대화 상자의 행 필터 페이지에서의 사용자 동작은 게시 유형에 따라 달라집니다.

    • 스냅숏 또는 트랜잭션 게시의 경우 추가를 클릭합니다.

    • 병합 게시의 경우 추가를 클릭한 다음 필터 추가를 클릭합니다.

  2. 필터 추가 대화 상자의 드롭다운 목록 상자에서 필터링할 테이블을 선택합니다.

  3. 필터 문 텍스트 영역에서 필터 문을 만듭니다. 텍스트 영역에 직접 입력할 수도 있고 목록 상자에서 열을 끌어서 놓을 수도 있습니다.

    [!참고]

    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. 게시 속성 - <Publication> 대화 상자에서 확인을 클릭하여 저장하고 대화 상자를 닫습니다.

정적 행 필터를 수정하려면

  1. 새 게시 마법사의 테이블 행 필터 페이지 또는 게시 속성 - <Publication> 대화 상자의 행 필터 페이지에서 필터링된 테이블 창의 필터를 선택한 다음 편집을 클릭합니다.

  2. 필터 편집 대화 상자에서 필터를 수정합니다.

  3. 확인을 클릭합니다.

정적 행 필터를 삭제하려면

  • 새 게시 마법사의 테이블 행 필터 페이지 또는 게시 속성 - <Publication> 대화 상자의 행 필터 페이지에서 필터링된 테이블 창의 필터를 선택한 다음 삭제를 클릭합니다.