필터 추가 또는 편집

적용 대상:SQL ServerAzure SQL Managed Instance

필터 추가 및 필터 편집 대화 상자를 사용하면 정적 행 필터 및 매개 변수가 있는 행 필터를 추가하고 편집할 수 있습니다.

참고 항목

기존 게시에서 필터를 편집하려면 게시에 대한 새 스냅샷이 필요합니다. 게시에 구독이 있는 경우 구독을 다시 초기화해야 합니다. 속성 변경에 대한 자세한 내용은 게시 변경 및 아티클 속성을 참조 하세요.

모든 게시 형식에는 정적 필터가 포함될 수 있습니다. 병합 게시에는 매개 변수가 있는 필터도 포함될 수 있습니다. 정적 필터는 게시가 생성될 때 평가됩니다. 즉, 해당 게시에 대한 모든 구독자는 같은 데이터를 받습니다. 복제 동기화 중에 매개 변수가 있는 필터가 평가됩니다. 각 구독자는 각 구독자의 로그인 또는 컴퓨터 이름에 따라 서로 다른 데이터 파티션을 받을 수 있습니다. 대화 상자에서 예문 링크를 클릭하여 필터의 각 유형에 대한 예를 볼 수 있습니다. 필터링 옵션에 대한 자세한 내용은 게시된 데이터 필터링을 참조 하세요.

행 필터를 사용하여 테이블에서 게시할 행의 하위 집합을 지정할 수 있습니다. 행 필터를 사용하여 사용자가 볼 필요가 없는 행(예: 중요한 정보 또는 기밀 정보가 포함된 행)을 제거하거나 다른 구독자에게 전송되는 다양한 데이터 파티션을 만들 수 있습니다. 다른 구독자에 서로 다른 데이터 파티션을 게시하면 여러 구독자가 동일한 데이터를 업데이트하여 발생하는 충돌을 방지할 수도 있습니다.

옵션

이 대화 상자에는 트랜잭션 및 스냅샷 게시에 대한 2단계 프로세스와 병합 게시에 대한 3단계 프로세스가 포함됩니다. 모든 게시 유형을 사용하려면 필터링할 테이블과 필터에 포함할 하나 이상의 열을 선택해야 합니다. 필터는 표준 WHERE 절로 정의됩니다.

  1. 필터링할 테이블을 선택하십시오.

    기존 필터를 편집하는 경우 테이블을 변경할 수 없습니다. 새 필터를 추가하는 경우 드롭다운 목록 상자에서 테이블을 선택합니다. 테이블은 문서 페이지에서 선택되어 있고 행 필터가 아직 없는 경우에만 목록 상자에 표시됩니다. 테이블에 행 필터가 있지만 새 필터를 정의하려면 다음을 수행하십시오.

    1. 필터 추가 대화 상자에서 취소를 클릭합니다.

    2. 테이블 행 필터 페이지의 필터 창에서 테이블을 선택하고 편집을 클릭합니다.

    3. 필터 편집 대화 상자에서 기존 필터편집합니다.

  2. 구독자가 받을 테이블 행을 식별하는 필터 문을 작성하십시오.

    새 필터 문을 정의하거나 기존 필터 문을 편집합니다. 목록 상자는 필터링할 테이블을 선택하십시오에서 선택한 테이블에서 게시 중인 열을 모두 나열합니다. 필터 문 텍스트 영역에는 다음 형식의 기본 텍스트가 포함됩니다.

    SELECT <published_columns> FROM [schema].[tablename] WHERE

    이 텍스트는 변경할 수 없습니다. 표준 Transact-SQL 구문을 사용하여 WHERE 키워드 뒤의 필터 절을 입력합니다. 게시자가 Oracle 게시자인 경우 WHERE 절은 Oracle 쿼리 구문을 준수해야 합니다. 가능하면 복잡한 필터를 사용하지 마세요. 정적 필터 및 매개 변수가 있는 필터는 모두 게시 처리 시간을 증가시키므로 필터 문을 최대한 단순하게 유지해야 합니다.

    Important

    성능상의 이유로 병합 게시 LEFT([MyColumn]) = SUSER_SNAME()에 대해 매개 변수가 있는 행 필터 절의 열 이름에 함수를 적용하지 않는 것이 좋습니다. 필터 절에서 HOST_NAME 사용하고 HOST_NAME 값을 재정의하는 경우 CONVERT를 사용하여 데이터 형식을 변환해야 할 수 있습니다. 이를 위한 최선의 구현 방법은 Parameterized Row Filters항목의 "HOST_NAME() 값 재정의" 섹션을 참조하십시오.

  3. 이 테이블에서 데이터를 받을 구독 수 지정

    Microsoft SQL Server 2005(9.x) 이상 버전만 해당; 병합 복제에만 해당합니다. 병합 복제를 사용하면 데이터 및 애플리케이션에 가장 적합한 파티션 유형을 지정할 수 있습니다. 이 테이블에서 행을 선택하면 하나의 구독으로만 이동하게 되며 병합 복제는 오버랩되지 않는 파티션 옵션을 설정합니다. 겹치지 않는 파티션을 사전 계산 파티션과 함께 사용하면 겹치지 않는 파티션이 사전 계산 파티션과 연관된 업로드 비용을 최소화하므로 성능을 향상시킬 수 있습니다. 매개 변수가 있는 필터 및 사용된 조인 필터가 더 복잡할 때 비오버랩 파티션의 성능 이점이 더 두드러집니다. 이 옵션을 선택하면 행을 둘 이상의 구독자에 복제할 수 없는 방식으로 데이터를 분할해야 합니다. 자세한 내용은 매개 변수가 있는 행 필터 항목 의 "파티션 옵션 설정" 섹션을 참조하세요.

필터를 추가 또는 편집한 후에는 확인 을 클릭하여 변경 내용을 저장하고 대화 상자를 닫습니다. 지정한 필터가 구문 분석되어 SELECT 절의 테이블에 대해 실행됩니다. 필터 문에 구문 오류 또는 기타 문제가 포함된 경우 알림을 받고 필터 문을 편집할 수 있습니다.

참고 항목

게시 만들기
게시 속성 보기 및 수정
게시된 데이터 필터링
조인 필터
매개 변수가 있는 행 필터
데이터 및 데이터베이스 개체 게시