Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Managed Instance
W tym temacie opisano sposób ustawiania metody propagacji zmian danych w artykułach transakcyjnych w SQL Server przy użyciu SQL Server Management Studio lub Transact-SQL.
Domyślnie replikacja transakcyjna propaguje zmiany do subskrybentów za pomocą zestawu procedur składowanych dla każdego artykułu. Te procedury można zastąpić niestandardowymi procedurami. Aby uzyskać więcej informacji, zobacz Określanie sposobu propagacji zmian w artykułach transakcyjnych.
Limity i ograniczenia
- Podczas edytowania dowolnych plików migawek generowanych przez replikację należy zachować ostrożność. Testuj i obsługuj logikę niestandardową w niestandardowych procedurach składowanych. Microsoft nie zapewnia obsługi logiki niestandardowej.
Korzystanie z programu SQL Server Management Studio
Określ metodę propagacji na karcie Właściwości w oknie dialogowym Właściwości artykułu — <Artykuł>, dostępnym w Kreatorze nowej publikacji, oraz w oknie dialogowym Właściwości publikacji — <Publikacja>. Aby uzyskać więcej informacji na temat korzystania z kreatora i uzyskiwania dostępu do okna dialogowego, zobacz Tworzenie publikacji i Wyświetlanie i modyfikowanie właściwości publikacji.
Aby określić metodę propagacji
Na stronie Artykuły Kreatora nowej publikacji lub w oknie dialogowym Właściwości publikacji - <Publikacja> wybierz tabelę, a następnie wybierz pozycję Właściwości artykułu.
Wybierz Ustaw właściwości wyróżnionego artykułu tabeli.
Na karcie Właściwości okna dialogowego Właściwości artykułu — <Artykuł>, w sekcji Dostarczanie instrukcji określ metodę propagacji dla każdej operacji, korzystając z menu INSERT format dostarczania, UPDATE format dostarczania i DELETE format dostarczania.
Kliknij przycisk OK.
Jeśli jesteś w oknie dialogowym Właściwości publikacji — <publikacja> , wybierz przycisk OK , aby zapisać i zamknąć okno dialogowe.
Generowanie niestandardowych procedur składowanych i korzystanie z nich
Na stronie Artykuły Kreatora nowej publikacji lub w oknie dialogowym Właściwości publikacji - <Publikacja> wybierz tabelę, a następnie wybierz pozycję Właściwości artykułu.
Wybierz Ustaw właściwości wyróżnionego artykułu tabeli.
Na karcie Właściwości w oknie dialogowym Właściwości artykułu — <Artykuł>, w sekcji Dostarczanie instrukcji wybierz składnię CALL z odpowiedniego menu formatu dostarczania (INSERT format dostarczania, UPDATE format dostarczania lub DELETE format dostarczania), a następnie wpisz nazwę procedury, która ma być używana w polu INSERT procedura składowana, DELETE procedura składowana lub UPDATE procedura składowana. Aby uzyskać więcej informacji na temat składni instrukcji CALL, zobacz sekcję „Składnia wywołania procedur składowanych” w temacie Określanie sposobu propagacji zmian dla artykułów transakcyjnych.
Kliknij przycisk OK.
Jeśli jesteś w oknie dialogowym Właściwości publikacji — <publikacja> , wybierz przycisk OK , aby zapisać i zamknąć okno dialogowe.
Po wygenerowaniu migawki publikacji będzie ona zawierać procedurę określoną w poprzednim kroku. Procedury będą używać określonej składni CALL, ale będą zawierać domyślną logikę używaną przez replikację.
Po wygenerowaniu migawki przejdź do folderu migawki publikacji, do której należy ten artykuł, i znajdź plik sch o tej samej nazwie co artykuł. Otwórz ten plik za pomocą Notatnika lub innego edytora tekstów, znajdź CREATE PROCEDURE polecenie wstawiania, aktualizowania lub usuwania procedur składowanych oraz edytuj definicję procedury, aby podać dowolną niestandardową logikę propagacji zmian danych. Jeśli migawka zostanie wygenerowana ponownie, musisz ponownie utworzyć niestandardową procedurę.
Korzystanie z Transact-SQL
Replikacja transakcyjna umożliwia kontrolowanie sposobu propagowania zmian z Wydawcy do subskrybentów, a tę metodę propagacji można ustawić programowo podczas tworzenia artykułu, a później zmieniać za pomocą procedur składowanych replikacji.
Uwaga / Notatka
Można określić inną metodę propagacji dla każdego typu operacji DML (języka manipulowania danymi) (wstawiania, aktualizowania lub usuwania), która występuje w wierszu opublikowanych danych.
Aby uzyskać więcej informacji, zobacz Określanie sposobu propagacji zmian w artykułach transakcyjnych.
Aby utworzyć artykuł, który używa poleceń Transact-SQL do propagowania zmian danych
W Publikatorze bazy danych publikacji wykonaj: sp_addarticle. Określ nazwę publikacji, do której należy artykuł dla @publication, nazwę artykułu dla @article, obiekt bazy danych publikowany dla @source_object oraz wartość sql dla co najmniej jednego z następujących parametrów:
@ins_cmd — steruje replikacją INSERT poleceń.
@upd_cmd — steruje replikacją UPDATE poleceń.
@del_cmd — steruje replikacją DELETE poleceń.
Uwaga / Notatka
Podczas określania wartości SQL dla dowolnego z powyższych parametrów polecenia tego typu będą replikowane do subskrybenta jako odpowiednie polecenie Transact-SQL.
Aby uzyskać więcej informacji, zobacz
Define an Article (Definiowanie artykułu).
Aby utworzyć artykuł, który nie propaguje zmian danych
W Publikatorze bazy danych publikacji wykonaj: sp_addarticle. Określ nazwę publikacji, do której należy artykuł dla @publication, nazwę artykułu dla @article, obiekt bazy danych publikowany dla @source_object i wartość NONE dla co najmniej jednego z następujących parametrów:
@ins_cmd — steruje replikacją INSERT poleceń.
@upd_cmd — steruje replikacją UPDATE poleceń.
@del_cmd — steruje replikacją DELETE poleceń.
Uwaga / Notatka
Podczas określania wartości NONE dla żadnego z powyższych parametrów polecenia tego typu nie będą replikowane do subskrybenta.
Aby uzyskać więcej informacji, zobacz
Define an Article (Definiowanie artykułu).
Aby utworzyć artykuł ze zmodyfikowanymi przez użytkownika niestandardowymi procedurami składowanymi
W Publikatorze bazy danych publikacji wykonaj: sp_addarticle. Określ nazwę publikacji, do której należy artykuł dla @publication, nazwę artykułu dla @article, obiekt bazy danych publikowany dla @source_object, wartość maski bitów @schema_option , która zawiera 0x02 wartości (umożliwia automatyczne generowanie niestandardowych procedur składowanych) i co najmniej jeden z następujących parametrów:
@ins_cmd — określ wartość sp_MSins_ CALL article_name gdzie article_name jest wartością określoną dla @article.
@del_cmd — określ wartość sp_MSdel_ CALL article_name lub XCALL sp_MSdel_article_name gdzie article_name jest wartością określoną dla @article.
@upd_cmd — określ wartość SCALL sp_MSupd_article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name albo MCALL sp_MSupd_article_name, gdzie article_name to wartość określona dla @article.
Uwaga / Notatka
Dla każdego z powyższych parametrów polecenia można określić własną nazwę procedur składowanych generowanych przez replikację.
Uwaga / Notatka
Aby uzyskać więcej informacji na temat składni CALL, SCALL, XCALL i MCALL, zobacz Określanie sposobu propagowania zmian w artykułach transakcyjnych.
Aby uzyskać więcej informacji, zobacz
Define an Article (Definiowanie artykułu).Po wygenerowaniu migawki przejdź do folderu migawki publikacji, do której należy ten artykuł, i znajdź plik sch o tej samej nazwie co artykuł. Otwórz ten plik przy użyciu Notepad.exe, znajdź CREATE PROCEDURE polecenie wstawiania, aktualizowania lub usuwania procedur składowanych, a następnie edytuj definicję procedury, aby podać dowolną niestandardową logikę propagacji zmian danych. Aby uzyskać więcej informacji, zobacz Określanie sposobu propagacji zmian w artykułach transakcyjnych.
Aby utworzyć artykuł wykorzystujący niestandardowe skrypty w niestandardowych procedurach składowanych do propagowania zmian danych
W Publikatorze bazy danych publikacji wykonaj: sp_addarticle. Określ nazwę publikacji, do której należy artykuł dla @publication, nazwę artykułu dla @article, obiekt bazy danych publikowany dla @source_object, wartość maski bitów @schema_option , która zawiera 0x02 wartości (umożliwia automatyczne generowanie niestandardowych procedur składowanych) i co najmniej jeden z następujących parametrów:
@ins_cmd — określ wartość sp_MSins_ CALL article_name gdzie article_name jest wartością określoną dla @article.
@del_cmd — określ wartość sp_MSdel_ CALL article_name lub XCALL sp_MSdel_article_name gdzie article_name jest wartością określoną dla @article.
@upd_cmd — określa wartość SCALL sp_MSupd_article_name, CALL sp_MSupd_article_name, XCALL sp_MSupd_article_name, MCALL sp_MSupd_article_name, gdzie article_name to wartość określona dla @article.
Uwaga / Notatka
Dla każdego z powyższych parametrów polecenia można określić własną nazwę procedur składowanych generowanych przez replikację.
Uwaga / Notatka
Aby uzyskać więcej informacji na temat składni CALL, SCALL, XCALL i MCALL, zobacz Określanie sposobu propagowania zmian w artykułach transakcyjnych.
Aby uzyskać więcej informacji, zobacz
Define an Article (Definiowanie artykułu).W wydawcy, w bazie danych publikacji, użyj instrukcji ALTER PROCEDURE, aby zmodyfikować sp_scriptpublicationcustomprocs tak, aby zwracała skrypt CREATE PROCEDURE dla niestandardowych procedur składowanych dla operacji wstawiania, aktualizacji i usuwania. Aby uzyskać więcej informacji, zobacz Określanie sposobu propagacji zmian w artykułach transakcyjnych.
Aby zmienić metodę propagowania zmian dla istniejącego artykułu
Na serwerze Publisher w bazie danych publikacji wykonaj sp_changearticle. Określ @publication, @article, wartość ins_cmd, upd_cmd lub del_cmd dla @property oraz odpowiednią metodę propagacji dla @value.
Powtórz krok 1 dla każdej metody propagacji, która ma zostać zmieniona.