Udostępnij za pośrednictwem


Jak Definiowanie i modyfikowanie statyczny filtr wierszy (Programowanie replikacja języka Transact-SQL)

Podczas tworzenia tabela artykułów, można zdefiniować klauzula WHERE, aby odfiltrować wiersze z artykuł.Można również zmienić filtr wiersza po został zdefiniowany.Filtry statyczne wiersza można tworzyć i modyfikować programowo przy użyciu procedury przechowywane replikacja.Ze względu na te filtry są statyczne, wszystkich subskrybentów otrzymają te same podzbiór danych.Jeśli konieczne jest dynamicznie filtrowanie wierszy w tabela artykule należące do publikacja korespondencji seryjnej, dzięki czemu każdy subskrybent odbiera innej partycji danych, zobacz Jak Definiowanie i modyfikowanie filtru sparametryzowana wiersz artykuł korespondencji seryjnej (Programowanie replikacja języka Transact-SQL). replikacja łączenia umożliwia również filtrować powiązane wiersze, w oparciu o istniejący filtr wiersza.Aby uzyskać więcej informacji zobacz Jak Definiowanie i modyfikowanie filtr łączenia między artykułów korespondencji seryjnej (Programowanie replikacja języka Transact-SQL).

Aby zdefiniować statyczny filtr wierszy migawka lub transakcyjnych publikacja

  1. Umożliwia zdefiniowanie artykuł do filtrowania.Aby uzyskać więcej informacji zobacz Jak Definiowanie artykułu (Programowanie replikacja języka Transact-SQL).

  2. Wydawca publikacja bazy danych wykonać sp_articlefilter (języka Transact-SQL). Określ nazwę artykuł dla @ artykuł, nazwę publikacja, aby @ publikacja, nazwę filtru, @ nazwa_filtrui filtrowania klauzula @ filter_clause (nie włączając WHERE).

  3. Jeśli kolumna filtr nadal musi być zdefiniowana, zobacz Jak Definiowanie i modyfikowanie filtr kolumn (Programowanie replikacja języka Transact-SQL). W przeciwnym wypadku wykonać sp_articleview (Transact-SQL). Określ nazwę publikacja @ publikacja, nazwę artykuł filtrowane @ artykułi klauzulę filtru określonego w kroku 2 dla @ filter_clause.Spowoduje to utworzenie obiektów synchronizacji dla filtrowanych artykuł.

Aby zmodyfikować statyczny filtr wierszy migawka lub transakcyjnych publikacja

  1. Wydawca publikacja bazy danych wykonać sp_articlefilter (języka Transact-SQL). Określ nazwę artykuł dla @ artykuł, nazwę publikacja, aby @ publikacja, nazwę nowego filtru dla @ nazwa_filtru, a Nowa klauzula filtrowania dla @ filter_clause (nie włączając WHERE). Ponieważ ta zmiana spowoduje unieważnienia dane w istniejących subskrypcji, podaj wartość 1 for @ force_reinit_subscription.

  2. Wydawca publikacja bazy danych wykonać sp_articleview (Transact-SQL). Określ nazwę publikacja @ publikacja, nazwę artykuł filtrowane @ artykułi klauzulę filtru określonego w kroku 1 dla @ filter_clause.Odtwarza to widok, który definiuje filtrowane artykuł.

  3. Uruchom ponownie zadanie migawka Agent dla publikacja w celu wygenerowania migawka zaktualizowane.Aby uzyskać więcej informacji zobacz Jak Tworzenie migawka początkowy (Programowanie replikacja języka Transact-SQL).

  4. Ponownie zainicjować subskrypcji.Aby uzyskać więcej informacji zobacz Jak Ponownie zainicjować subskrypcja (Programowanie replikacja języka Transact-SQL).

Aby usunąć statyczny filtr wierszy migawka lub transakcyjnych publikacja

  1. Wydawca publikacja bazy danych wykonać sp_articlefilter (języka Transact-SQL). Określ nazwę artykuł dla @ artykuł, nazwę publikacja, aby @ publikacja, wartość NULL dla @ nazwa_filtru, a wartość NULL dla @ filter_clause.Ponieważ ta zmiana spowoduje unieważnienia dane w istniejących subskrypcji, podaj wartość 1 for @ force_reinit_subscription.

  2. Uruchom ponownie zadanie migawka Agent dla publikacja w celu wygenerowania migawka zaktualizowane.Aby uzyskać więcej informacji zobacz Jak Tworzenie migawka początkowy (Programowanie replikacja języka Transact-SQL).

  3. Ponownie zainicjować subskrypcji.Aby uzyskać więcej informacji zobacz Jak Ponownie zainicjować subskrypcja (Programowanie replikacja języka Transact-SQL).

Aby zdefiniować statyczny filtr wierszy publikacja seryjnej

  1. Wydawca publikacja bazy danych wykonać sp_addmergearticle (Transact-SQL). Określ klauzula filtrowania @ subset_filterclause (nie włączając WHERE). Aby uzyskać więcej informacji zobacz Jak Definiowanie artykułu (Programowanie replikacja języka Transact-SQL).

  2. Jeśli nadal filtr kolumn musi być zdefiniowana, zobacz Jak Definiowanie i modyfikowanie filtr kolumn (Programowanie replikacja języka Transact-SQL).

Aby zmodyfikować filtr wiersz statycznego do publikacja seryjnej

  1. Wydawca publikacja bazy danych wykonać sp_changemergearticle (języka Transact-SQL). Określ nazwę publikacja @ publikacja, nazwę artykuł filtrowane @ artykuł, wartość subset_filterclause for @ Właściwość, a Nowa klauzula filtrowania dla wartość @ (nie włączając WHERE). Ponieważ ta zmiana spowoduje unieważnienia dane w istniejących subskrypcji, należy określić wartość 1 dla @ force_reinit_subscription.

  2. Uruchom ponownie zadanie migawka Agent dla publikacja w celu wygenerowania migawka zaktualizowane.Aby uzyskać więcej informacji zobacz Jak Tworzenie migawka początkowy (Programowanie replikacja języka Transact-SQL).

  3. Ponownie zainicjować subskrypcji.Aby uzyskać więcej informacji zobacz Jak Ponownie zainicjować subskrypcja (Programowanie replikacja języka Transact-SQL).

Example

W tym przykładzie replikacja transakcyjnej artykuł jest filtrowana poziomo w ten sposób, aby usunąć wszystkie zaniechanej produkty.

W tym przykładzie replikacja łączenia artykuły są filtrowane poziomo do zwracania tylko te wiersze, które należą do określonego sprzedawcy.filtr łączenia jest również używany.Aby uzyskać więcej informacji zobacz Jak Definiowanie i modyfikowanie filtr łączenia między artykułów korespondencji seryjnej (Programowanie replikacja języka Transact-SQL).