방법: 정적 행 필터 정의 및 수정(SQL Server Management Studio)
새 게시 마법사의 테이블 행 필터 페이지 또는 게시 속성 - <Publication> 대화 상자의 행 필터 페이지에서 정적 행 필터를 정의, 수정 및 삭제합니다. 마법사를 사용하고 대화 상자에 액세스하는 방법은 방법: 게시 만들기 및 아티클 정의(SQL Server Management Studio) 및 방법: 게시 및 아티클 속성 보기 및 수정(SQL Server Management Studio)을 참조하십시오. 게시에서 피어 투 피어 트랜잭션 복제를 사용할 수 있도록 설정한 경우에는 테이블을 필터링할 수 없습니다.
[!참고]
게시에 대한 구독이 초기화된 후 게시 속성 - <Publication> 대화 상자에서 정적 행 필터를 추가, 수정 또는 삭제한 경우에는 변경 내용을 적용한 후에 새 스냅숏을 생성하고 모든 구독을 다시 초기화해야 합니다. 속성 변경 요구 사항에 대한 자세한 내용은 게시 및 아티클 속성 변경을 참조하십시오.
정적 행 필터를 정의하려면
새 게시 마법사의 테이블 행 필터 페이지 또는 게시 속성 - <Publication> 대화 상자의 행 필터 페이지에서의 사용자 동작은 게시 유형에 따라 달라집니다.
스냅숏 또는 트랜잭션 게시의 경우 추가를 클릭합니다.
병합 게시의 경우 추가를 클릭한 다음 필터 추가를 클릭합니다.
필터 추가 대화 상자의 드롭다운 목록 상자에서 필터링할 테이블을 선택합니다.
필터 문 텍스트 영역에서 필터 문을 만듭니다. 텍스트 영역에 직접 입력할 수도 있고 열 목록 상자에서 열을 끌어서 놓을 수도 있습니다.
[!참고]
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
확인을 클릭합니다.
게시 속성 - <Publication> 대화 상자에서 확인을 클릭하여 저장하고 대화 상자를 닫습니다.
정적 행 필터를 수정하려면
새 게시 마법사의 테이블 행 필터 페이지 또는 게시 속성 - <Publication> 대화 상자의 행 필터 페이지에서 필터링된 테이블 창의 필터를 선택한 다음 편집을 클릭합니다.
필터 편집 대화 상자에서 필터를 수정합니다.
확인을 클릭합니다.
정적 행 필터를 삭제하려면
- 새 게시 마법사의 테이블 행 필터 페이지 또는 게시 속성 - <Publication> 대화 상자의 행 필터 페이지에서 필터링된 테이블 창의 필터를 선택한 다음 삭제를 클릭합니다.