Udostępnij za pośrednictwem


Obiekty bazy danych i publikowania danych

Podczas tworzenia publikacja, należy wybrać tabele i inne obiekty bazy danych, które chcesz opublikować.Można publikować następujące obiekty bazy danych przy użyciu replikacja.

Obiekt bazy danych

migawka replikacja i replikacja transakcyjnej

Scalanie replikacja

Tabele

X

X

Tabele podzielonym na partycje

X

X

Procedury przechowywane — definicja)Transact-SQL i CLR)

X

X

Procedury przechowywane — wykonanie)Transact-SQL i CLR)

X

nie

Widoki

X

X

Widoki indeksowane

X

X

Widoki indeksowane jako tabele

X

nie

Typy zdefiniowane przez użytkownika (CLR)

X

X

(Funkcje zdefiniowane przez użytkownikaTransact-SQL i CLR)

X

X

Typy danych alias

X

X

Indeksy pełnego tekstu

X

X

Obiekty schematu (bez ograniczeń, indeksów, wyzwalacze DML użytkownika, rozszerzone właściwości i sortowanie)

X

X

Tworzenie publikacji

Do tworzenia publikacja, można podać następujące informacje:

  • Dystrybutor.

  • Lokalizacja plików migawka.

  • baza danych publikacja.

  • Typ publikacja, aby utworzyć (migawka, transakcyjne, transakcyjne mogą być aktualizowane subskrypcji lub korespondencji seryjnej).

  • Dane i bazą danych obiektów (artykułów) mają zostać uwzględnione w publikacja.

  • Filtry statyczne wiersza i filtrów kolumn dla wszystkich typów publikacji i filtry parametrami wiersza i filtry łączyć dla publikacji korespondencji seryjnej.

  • Agent migawka harmonogramu.

  • Konta, na którym będzie uruchamiana następujące czynniki: Agent migawka dla wszystkich publikacji, Agent odczytywania dziennika dla wszystkich publikacji transakcyjnych, Agent Reader kolejki transakcyjnej publikacji, które umożliwiają aktualizowanie subskrypcji.

  • Nazwa i opis dla danej publikacja.

Do tworzenia publikacji i definiowania artykułów

Aby zmodyfikować publikacje i artykułów

Aby usunąć publikacje i artykułów

Uwaga

Usuwanie artykuł lub publikacja programu nie powoduje usunięcia obiektów z subskrybent.

Tabele publikacji

Najczęściej opublikowanych obiekt jest tabelą.Poniższe łącza udostępniają dodatkowe informacje na temat obszarów związanych z tabelami publikacji:

Podczas publikowania tabela dla replikacja, można określić schematu, które obiekty mają zostać skopiowane do abonenta, takie jak więzy integralność zadeklarowanej (ograniczeń klucz podstawowy, ograniczenia odwołania, unikatowe ograniczenia), indeksy, wyzwalacze DML użytkownika (nie można zreplikować wyzwalacze DDL), rozszerzone właściwości i sortowanie.Właściwości rozszerzone są replikowane tylko w wstępna synchronizacja między wydawcę i subskrybent.W przypadku dodawania lub modyfikowania właściwość rozszerzona o po wstępna synchronizacja, zmiany nie są replikowane.

Aby określić opcje schematu

Tabele podzielonym na partycje i indeksów

Replikacja obsługuje publikowanie podzielonym na partycje tabel i indeksów.Poziom wsparcia, zależy od typu replikacja, który jest używany, a opcje, które określono w publikacja i artykuły związane z tabelami już podzielony na partycje.Aby uzyskać więcej informacji zobacz Replikowanie podzielonym na partycje, tabele oraz indeksy.

Publikowanie procedur przechowywanych

Wszystkie typy replikacja zezwala na replikowanie definicje procedura przechowywana: CREATE PROCEDURE jest kopiowana do każdego subskrybent. W przypadek języka wspólnego (CLR) w czasie wykonywania procedury przechowywane, skojarzony wirtualny plik dziennika również zostanie skopiowany.Zmiany procedury są replikowane do subskrybentów; nie są skojarzone zestawy zmian.

Oprócz replikowanie definicja procedura przechowywana, replikacja transakcyjnej pozwala replikować wykonanie procedur przechowywanych.Jest to użyteczne przy replikowaniu wyniki zorientowane na obsługę procedur przechowywanych, które mają wpływ na dużych ilości danych.Aby uzyskać więcej informacji zobacz Publikowanie wykonanie procedura przechowywana w transakcji replikacja.

Widoki publikacji

Wszystkie typy replikacja pozwalają replikować widoków.W widoku (i jego towarzyszący indeksu, jeśli jest utworzony widok indeksowany) mogą być kopiowane do subskrybent, ale również musi być replikowany w tabela bazowa.

Dla widoków indeksowanych replikacja transakcyjnej umożliwia również replikowane jako tabeli, a nie widoku, eliminując konieczność także replikować tabela bazowa widok indeksowany.W tym celu należy określić jedną z opcji „ logbased widok indeksowany, „ @type Parametr sp_addarticle (języka Transact-SQL). Aby uzyskać więcej informacji o korzystaniu z sp_addarticle, see Jak Definiowanie artykułu (Programowanie replikacja języka Transact-SQL).

Funkcje zdefiniowane przez użytkownika do publikacji

Instrukcje CREATE funkcja dla funkcja środowiska CLR i Transact-SQL funkcje są kopiowane do poszczególnych subskrybent. W przypadek funkcji środowiska CLR skojarzony wirtualny plik dziennika również zostanie skopiowany.Zmiany w funkcji są replikowane do subskrybentów; nie są skojarzone zestawy zmian.

Publikowanie alias typy danych i typy definiowane przez użytkownika

Kolumny, które typy zdefiniowane przez użytkownika lub alias typy danych są replikowane do subskrybentów podobnie jak inne kolumny.Typ CREATEinstrukcja dla każdego typu replikowanych jest wykonywany przez subskrybent, przed utworzeniem w tabela. przypadek typów zdefiniowanych przez użytkownika z wirtualny plik dziennika skojarzonego również zostanie skopiowany do każdej subskrybent.Zmiany typów zdefiniowanych przez użytkownika i alias typy danych nie są replikowane do subskrybentów.

Jeśli typem jest zdefiniowana w bazie danych, ale nie są wywoływane w żadnych kolumn, podczas tworzenia publikacja, typ nie jest kopiowane do subskrybentów.Jeśli następnie utworzyć kolumna tego typu w bazie danych i chcesz replikować go, należy najpierw ręcznie skopiować typu (i skojarzona wirtualny plik dziennika dla typ zdefiniowany przez użytkownika) do poszczególnych subskrybent.

Publikowanie indeksy pełnego tekstu

instrukcja CREATE INDEX więcej jest kopiowana do każdego subskrybent i tworzony jest indeks pełny tekst przez subskrybent.Zmiany wprowadzone przy użyciu instrukcji ALTER indeks więcej indeksów pełnego tekstu nie są replikowane.

Tworzenie schematu zmiany do opublikowanych obiektów

Replikacja obsługuje szeroki zakres zmian schematu do opublikowanych obiektów.Po dokonaniu zmiany schematu na odpowiednie opublikowane obiektu w SQL Server Wydawca, że zmiany są propagowane przy domyślne do wszystkich SQL Server Subskrybenci:

  • ALTER tabela

  • ZMIENIANIE WIDOKU

  • ZMIENIANIE PROCEDURY

  • ZMIENIANIE funkcja

  • ZMIENIANIE WYZWALACZA

Aby uzyskać więcej informacji zobacz Wprowadzanie zmian schematu na bazy danych w publikacja.

Zagadnienia dotyczące publikowania

Podczas publikowania obiektów bazy danych, należy pamiętać o następujących kwestiach:

  • Baza danych jest dostępna dla użytkowników podczas tworzenia publikacja i migawka początkowa, ale zaleca się tworzenie publikacja w czasie, kiedy niższe aktywność Wydawca.

  • Nie można zmienić nazwy bazy danych, po utworzeniu publikacja w nim.Aby zmienić jego nazwę, musisz najpierw usunąć replikacja z bazy danych.Aby uzyskać więcej informacji zobacz Usuwanie replikacja.

  • W przypadku publikowania obiektu bazy danych, który opiera się na jednym lub kilkoma innymi obiektami bazy danych, należy opublikować wszystkie obiekty do którego istnieje odwołanie.Na przykład po opublikowaniu widok, który zależy od tabela, należy również opublikować w tabela.

    Uwaga

    Jeśli artykuł zostaną dodane do publikacja korespondencji seryjnej i istniejących artykuł zależy od nowego artykułu, należy określić kolejność przetwarzania dla obu artykułów przy użyciu @ processing_order parametrsp_addmergearticle and sp_changemergearticle.Rozważmy następujący scenariusz: Publikowanie tabela, ale publikujesz funkcja, która odwołuje się do tabela. Jeśli funkcja nie opublikować, w tabela nie można utworzyć przez subskrybent.Podczas dodawania funkcja do publikacja: należy określić wartość 1 for the @ processing_order parametrsp_addmergearticle; i określ wartość 2 for the @ processing_order parametrsp_changemergearticle, określając nazwę tabela dla parametru @ artykuł.Ta kolejność przetwarzania zapewnia Utwórz funkcja, subskrybent przed tabelą, zależny od niego.Tak długo, jak numer funkcja jest niższa niż ilość w tabela, można użyć różnych numerów dla każdego artykuł.

  • Nazwy publikacja nie mogą zawierać następujących znaków: % * [ ] | : " ?\ / < >.

Ograniczenia dotyczące publikowania obiektów

  • Maksymalna liczba artykułów i kolumn, które mogą być publikowane różni się od typu publikacja.Aby uzyskać więcej informacji zobacz część "replikacja Objects" Maximum Capacity Specifications for SQL Server.

  • Procedury przechowywane, widoki, wyzwalaczy i funkcji zdefiniowanych przez użytkownika są definiowane jako WITH szyfrowanie nie mogą być publikowane w ramach SQL Server replikacja.

  • Kolekcje schematu XML mogą być replikowane, ale zmiany nie są replikowane po początkowym migawka.

  • Opublikowane dla replikacja transakcyjnej tabel musi mieć klucz podstawowy.Jeśli tabela znajduje się w publikacja replikacja transakcyjnej, nie można wyłączyć żadnych indeksów, które są skojarzone z kolumny klucz podstawowy.Indeksy te są wymagane przez replikację.Aby wyłączyć indeks, użytkownik musi najpierw usunąć tabela z publikacja.

  • Wartości domyślne związane utworzone za pomocą sp_bindefault (Transact-SQL) nie są replikowane (wartości domyślne związane są zastąpiona domyślne ustawienia utworzone za pomocą słowa kluczowego DEFAULT instrukcji ALTER tabela lub CREATE tabela).

Schematy i własność obiektów

Replikacja zawiera następujące domyślne zachowanie w Kreatora nowej publikacja w odniesieniu do schematów i własności obiektu:

  • Artykuły w publikacji seryjnej zgodności, poziom 90 lub nowszej, migawka publikacji i publikacjach transakcyjne: Domyślnie właścicielem obiektu przez subskrybent jest taka sama, jak właściciel odpowiedniego obiektu na Wydawca. Jeśli nie istnieją schematów, których właścicielem obiektów przez subskrybent, są one tworzone automatycznie.

  • Artykuły w publikacji seryjnej o niższej niż 90 poziom zgodności: Domyślnie właścicielem jest pusty i jest określona jako dbo podczas tworzenia obiektu na subskrybent.

  • Artykuły w publikacjach Oracle: Domyślnie właścicielem jest określony jako dbo.

  • Artykuły w publikacji, których należy użyć znaku tryb migawki (które są używane do innych niż-SQL Server Subskrybenci i SQL Server Compact 3.5 SP1 Subskrybenci): Domyślnie właścicielem jest puste. Domyślnie właścicielem do właściciela, skojarzony z kontem, używana przez agenta dystrybucji lub Scal Agent do łączenia się z subskrybent.

Właściciel obiektu można zmieniać za pomocą Właściwości artykułu- <Artykuł>, okno dialogowe i do następnej procedury przechowywane: sp_addarticle, sp_addmergearticle, sp_changearticle, and sp_changemergearticle.Aby uzyskać więcej informacji zobacz Jak Umożliwia wyświetlanie i modyfikowanie publikacja i właściwości artykułu (SQL Server Management Studio), Jak Definiowanie artykułu (Programowanie replikacja języka Transact-SQL), a Jak Umożliwia wyświetlanie i modyfikowanie właściwości artykułu (Programowanie replikacja języka Transact-SQL).

Publikowanie danych do subskrybentów działają poprzednie wersje programu SQL Server

  • Jeśli publikujesz subskrybent z poprzednią wersją SQL Server, jest ograniczona do funkcji wersja, zarówno jeśli chodzi o funkcjach specyficznych dla replikacja i funkcje produktu jako całości. Na przykład nie będzie można opublikować typów danych zdefiniowanych przez użytkownika lub funkcji środowiska CLR subskrybentów uruchomiony SQL Server 2000.

  • Scalanie publikacja użycia poziom zgodności, który określa, jakie funkcje mogą być używane w publikacja i służy do obsługi subskrybentów, na których działają poprzednie wersje SQL Server.

Aby uzyskać więcej informacji zobacz Using Multiple Versions of SQL Server in a Replication Topology.

Publikowanie tabele w więcej niż jednym publikacja

Replikacja obsługuje publikowania artykułów w wiele publikacji (w tym ponowne publikowanie danych), z następującymi ograniczeniami:

  • Jeśli artykuł jest publikowany w publikacja transakcyjnych i publikacja korespondencji seryjnej, zapewnić, że @published\_in\_tran\_pub Właściwość jest zestaw na wartość TRUE dla artykuł korespondencji seryjnej. Aby uzyskać więcej informacji na temat ustawiania właściwości Zobacz Jak Umożliwia wyświetlanie i modyfikowanie publikacja i właściwości artykułu (SQL Server Management Studio) i Jak Umożliwia wyświetlanie i modyfikowanie właściwości artykułu (Programowanie replikacja języka Transact-SQL).

    Należy również zestaw @published\_in\_tran\_pub Właściwość, jeżeli artykuł jest częścią transakcji subskrypcja i znajduje się w publikacja korespondencji seryjnej. Jeśli tak jest, należy pamiętać, że domyślnie replikacja transakcyjnej oczekuje tabel subskrybent powinien być traktowany jako tylko do odczytu; Jeśli replikacja łączenia zmian danych do tabela w transakcyjnych subskrypcja, może wystąpić brak zbieżności danych.Aby uniknąć takiej możliwości, zaleca się, że takiej tabela określane jako pobrania tylko w publikacja seryjnej.Uniemożliwia to przesyłanie zmian danych do tabela scalania subskrybent.Aby uzyskać więcej informacji zobacz Optymalizowanie wydajności replikacja łączenia z artykułami tylko do pobierania.

  • Nie można opublikować artykuł w publikacja seryjnej i publikacja transakcyjnych w kolejce subskrypcji aktualizacji.

  • Artykuły w publikacji transakcyjnych, które obsługują aktualizowania subskrypcji nie może być ponownie opublikowana.

  • Jeśli artykuł jest publikowany w więcej niż jednej kolejce transakcyjnych publikacja, która obsługuje aktualizowanie subskrypcji, następujące właściwości musi mieć taką samą wartość artykułu we wszystkich publikacja:

    Właściwość

    Parametr w sp_addarticle

    Tożsamość zakres zarządzania

    @ auto_identity_range (zastąpiona) i @ identityrangemangementoption

    Zakres tożsamość Wydawca

    @ pub_identity_range

    Zakres tożsamości

    @ identity_range

    Próg zakres tożsamości

    próg @

    Aby uzyskać więcej informacji na temat tych parametrów zobacz sp_addarticle (języka Transact-SQL).

  • Jeśli artykuł jest publikowany w więcej niż jednej publikacja do korespondencji seryjnej, następujące właściwości musi mieć taką samą wartość artykułu we wszystkich publikacja:

    Właściwość

    Parametr w sp_addmergearticle

    kolumna śledzenia

    @ column_tracking

    Opcje schematu

    @ schema_option

    Filtrowanie kolumn

    @ vertical_partition

    Opcje wysyłania subskrybent

    @ subscriber_upload_options

    Usuwanie warunkowego śledzenia

    @ delete_tracking

    Błąd rekompensaty

    @ compensate_for_errors

    Tożsamość zakres zarządzania

    @ auto_identity_range (zastąpiona) i @ identityrangemangementoption

    Zakres tożsamość Wydawca

    @ pub_identity_range

    Zakres tożsamości

    @ identity_range

    Próg zakres tożsamości

    próg @

    Opcje partycji

    @ partition_options

    Obiekt blob kolumna przesyłania strumieniowego

    @ stream_blob_columns

    Znajduje następne wystąpienie zaznaczonego tekstu

    @ filter_type(parametr w sp_addmergefilter)

    Aby uzyskać więcej informacji na temat tych parametrów zobacz sp_addmergearticle (Transact-SQL) i sp_addmergefilter (języka Transact-SQL).

  • replikacja transakcyjnej i niefiltrowanym replikacja łączenia obsługuje publikowania tabela w wiele publikacji, a następnie subskrypcja w jednej tabela w bazie danych subskrypcja (potocznie zwane rolki zapasowej scenariusz).Rolki aż jest często używany do agregowania podzbiory danych z wielu lokalizacji w jednej tabela na centralnym subskrybent.Publikacje filtrowane korespondencji seryjnej nie obsługują centralnego scenariusz subskrybent.Do replikacja łączenia rolki aż jest zazwyczaj implementowane poprzez pojedynczej publikacja, z filtrami parametrami wiersza.Aby uzyskać więcej informacji zobacz Sparametryzowana filtry wierszy.