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
Microsoft SQL Server Management Studio: Jak Utwórz publikacja i definiowanie artykułów (SQL Server Management Studio)
Replikacja programowania języka Transact-SQL: Jak Tworzenie publikacja (Programowanie replikacja języka Transact-SQL) i Jak Definiowanie artykułu (Programowanie replikacja języka Transact-SQL)
Replikacja programowania RMO (Management Objects): Jak Tworzenie publikacja (Programowanie RMO) i Jak Definiowanie artykułu (Programowanie RMO)
Aby zmodyfikować publikacje i artykułów
SQL Server Management Studio: Jak Umożliwia wyświetlanie i modyfikowanie publikacja i właściwości artykułu (SQL Server Management Studio)
Replikacja programowania języka Transact-SQL: Jak Umożliwia wyświetlanie i modyfikowanie właściwości publikacja (Programowanie replikacja języka Transact-SQL) i Jak Umożliwia wyświetlanie i modyfikowanie właściwości artykułu (Programowanie replikacja języka Transact-SQL)
Replikacja programowania RMO (Management Objects): Jak Umożliwia wyświetlanie i modyfikowanie właściwości publikacja (Programowanie RMO) i Jak Umożliwia wyświetlanie i modyfikowanie właściwości artykułu (Programowanie RMO)
Aby usunąć publikacje i artykułów
SQL Server Management Studio: Jak Usuwanie publikacja (SQL Server Management Studio)
Replikacja programowania języka Transact-SQL: Jak Usuwanie publikacja (Programowanie replikacja języka Transact-SQL) i Jak Usuwanie artykułu (Programowanie replikacja języka Transact-SQL)
Replikacja programowania RMO (Management Objects): Jak Usuwanie artykułu (Programowanie RMO)
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
SQL Server Management Studio: Jak Określ opcje schematu (SQL Server Management Studio)
Replikacja Transact-SQL programowania: Jak Określ opcje schematu (Programowanie replikacja języka Transact-SQL)
Programowanie RMO: SchemaOption()
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.
See Also