Udostępnij za pośrednictwem


sp_addpublication (języka Transact-SQL)

Tworzy migawka lub transakcyjnych publikacja.Ta procedura składowana jest wykonywany Wydawca publikacja bazy danych.

Ikona łącza do tematuJęzyka Transact-SQL składni konwencje

Składnia

sp_addpublication [ @publication = ] 'publication'
    [ , [ @taskid = ] tasked ]
    [ , [ @restricted = ] 'restricted' ]
    [ , [ @sync_method = ] 'sync_method' ]
    [ , [ @repl_freq = ] 'repl_freq' ]
    [ , [ @description = ] 'description' ]
    [ , [ @status = ] 'status' ]
    [ , [ @independent_agent = ] 'independent_agent' ]
    [ , [ @immediate_sync = ] 'immediate_sync' ]
    [ , [ @enabled_for_internet = ] 'enabled_for_internet' ]
    [ , [ @allow_push = ] 'allow_push'
    [ , [ @allow_pull = ] 'allow_pull' ]
    [ , [ @allow_anonymous = ] 'allow_anonymous' ]
    [ , [ @allow_sync_tran = ] 'allow_sync_tran' ]
    [ , [ @autogen_sync_procs = ] 'autogen_sync_procs' ]
    [ , [ @retention = ] retention ]
    [ , [ @allow_queued_tran= ] 'allow_queued_updating' ]
    [ , [ @snapshot_in_defaultfolder= ] 'snapshot_in_default_folder' ]
    [ , [ @alt_snapshot_folder= ] 'alternate_snapshot_folder' ]
    [ , [ @pre_snapshot_script= ] 'pre_snapshot_script' ]
    [ , [ @post_snapshot_script= ] 'post_snapshot_script' ]
    [ , [ @compress_snapshot= ] 'compress_snapshot' ]
    [ , [ @ftp_address = ] 'ftp_address' ]
    [ , [ @ftp_port= ] ftp_port ]
    [ , [ @ftp_subdirectory = ] 'ftp_subdirectory' ]
    [ , [ @ftp_login = ] 'ftp_login' ]
    [ , [ @ftp_password = ] 'ftp_password' ]
    [ , [ @allow_dts = ] 'allow_dts' ]
    [ , [ @allow_subscription_copy = ] 'allow_subscription_copy' ]
    [ , [ @conflict_policy = ] 'conflict_policy' ]
    [ , [ @centralized_conflicts = ] 'centralized_conflicts' ] 
    [ , [ @conflict_retention = ] conflict_retention ]
    [ , [ @queue_type = ] 'queue_type' ]
    [ , [ @add_to_active_directory = ] 'add_to_active_directory' ]
    [ , [ @logreader_job_name = ] 'logreader_agent_name' ]
    [ , [ @qreader_job_name = ] 'queue_reader_agent_name' ]
    [ , [ @publisher = ] 'publisher' ] 
    [ , [ @allow_initialize_from_backup = ] 'allow_initialize_from_backup' ]
    [ , [ @replicate_ddl = ] replicate_ddl ]
    [ , [ @enabled_for_p2p = ] 'enabled_for_p2p' ]
    [ , [ @publish_local_changes_only = ] 'publish_local_changes_only' ]
    [ , [ @enabled_for_het_sub = ] 'enabled_for_het_sub' ]
    [ , [ @p2p_conflictdetection = ] 'p2p_conflictdetection' ]
    [ , [ @p2p_originator_id = ] p2p_originator_id
    [ , [ @p2p_continue_onconflict = ] 'p2p_continue_onconflict'
    [ , [ @allow_partition_switch = ] 'allow_partition_switch'
    [ , [ @replicate_partition_switch = ]'replicate_partition_switch'

Argumenty

  • [ @publikacja =] 'publication'
    Jest to nazwa publikacja , aby utworzyć.publicationjest sysname, z braku domyślne.Nazwa musi być unikatowa w obrębie bazy danych.

  • [ @ taskid =] taskid
    Obsługiwane ze względu na zgodność jedynie; use sp_addpublication_snapshot (języka Transact-SQL).

  • [ @ ograniczeniami =] 'restricted'
    Obsługiwane ze względu na zgodność jedynie; use default_access.

  • [ @ sync_method =] 'sync_method**'**
    Jest to tryb synchronizacji.sync_methodjest nvarchar(13), i może mieć jedną z następujących wartości.

    Wartość

    Opis

    macierzysty

    Generuje dane wyjściowe programu trybu macierzystego kopiowanie masowe wszystkich tabel.Nie jest obsługiwana dla wydawców Oracle.

    znak

    Generuje dane wyjściowe programu tryb znakowy kopiowanie masowe wszystkich tabel.Oracle Wydawca znak jest prawidłowa tylko dla migawka,replikacja .

    Współbieżne

    Generuje dane wyjściowe programu trybu macierzystego kopiowanie masowe wszystkich tabel, ale nie nie tabel blokada podczas migawka.Obsługiwane tylko dla publikacji transakcyjnych.Nie jest obsługiwana dla wydawców Oracle.

    concurrent_c

    Generuje dane wyjściowe programu tryb znakowy kopiowanie masowe wszystkich tabel, ale nie nie tabel blokada podczas migawka.Obsługiwane tylko dla publikacji transakcyjnych.

    migawka bazy danych

    Generuje dane wyjściowe programu trybu macierzystego kopiowanie masowe wszystkich tabel z migawka bazy danych.Ta opcja wymaga SQL Server przedsiębiorstwa.

    znakmigawka bazy danych

    Generuje dane wyjściowe programu tryb znakowy kopiowanie masowe wszystkich tabel z migawka bazy danych.Ta opcja wymaga SQL Server przedsiębiorstwa.

    Wartość NULL (wartość domyślna)

    Domyślnie: macierzysty dla Microsoft SQL Server wydawcy.Dla nie-SQL Server wydawcy, domyślnie znak gdy wartość repl_freq jest Migawki i concurrent_c we wszystkich innych przypadkach.

  • [ @ repl_freq =] 'repl_freq'
    Typ częstotliwość replikacja jest repl_freq jest nvarchar(10), i może mieć jedną z następujących wartości.

    Wartość

    Opis

    ciągłe (wartość domyślna)

    Wydawca zawiera dane wyjściowe na podstawie dziennika transakcji.Dla nie-SQL Server wydawcy, to wymaga sync_method należy zestaw na concurrent_c.

    migawka

    Wydawca tworzy tylko zdarzenia zaplanowanej synchronizacji.Dla nie-SQL Server wydawcy, to wymaga sync_method można zestaw znak.

  • [ @ Opis =] 'description'
    To opcjonalny opis dla publikacja.descriptionjest nvarchar(255), domyślna wartość NULL.

  • [ @ Stan =] 'status'
    Określa, czy publikacja danych jest dostępna.statusjest nvarchar(8), i może mieć jedną z następujących wartości.

    Wartość

    Opis

    aktywne

    Publikacji danych jest natychmiast dostępne dla subskrybentów.

    nieaktywny (wartość domyślna)

    Publikacja dane nie są dostępne dla subskrybentów, podczas tworzenia publikacja (mogą subskrybować, ale nie są przetwarzane subskrypcje).

    Nie jest obsługiwana dla wydawców Oracle.

  • [ @ independent_agent =] 'independent_agent'
    Określa, czy jest niezależny Agent dystrybucji dla tej publikacja.independent_agentjest nvarchar(5), domyślna wartość FALSE.Jeżeli PRAWDA, nie ma autonomiczne agenta dystrybucji dla tej publikacja.Jeżeli FAŁSZ, publikacja wykorzystuje udostępniony agenta dystrybucji i każda para bazy danych bazy danych i subskrybenta Wydawca ma pojedynczy, udostępnionych agenta.

  • [ @ immediate_sync =] 'immediate_synchronization'
    Określa, jeśli pliki synchronizacji dla publikacja utworzonych każdego czas ponownego uruchomienia agenta migawki.immediate_synchronizationjest nvarchar(5), domyślna wartość FALSE.Jeżeli PRAWDA, synchronizacji pliki są tworzone lub utworzony każdego czas Agent migawki jest uruchamiany.Abonenci mają możliwość natychmiast pobrać pliki synchronizacji, jeśli Agent migawki zostało ukończone przed utworzeniem subskrypcja .Nowe subskrypcje Pobierz najnowsze synchronizacji plików generowanych przez najnowsze wykonanie agenta migawki.independent_agentmusi być PRAWDA dla immediate_synchronization się PRAWDA.Jeżeli FAŁSZ, synchronizacji pliki są tworzone tylko wtedy, gdy istnieją nowe subskrypcje.Musisz wywołać sp_addsubscription dla każdej subskrypcja , gdy stopniowego dodawania nowego artykuł do istniejącej publikacja.Subskrybenci nie mogą odbierać pliki synchronizacji po subskrypcja , aż agentów migawki są uruchomione i zakończone.

  • [ @ enabled_for_internet =] 'enabled_for_internet'
    Określa, jeśli publikacja jest włączona dla Internetu i określa jeśli file transfer protokół (FTP) mogą być używane do transferu plików migawka do subskrybent.enabled_for_internetjest nvarchar(5), domyślna wartość FALSE.Jeżeli PRAWDA, pliki synchronizacji dla publikacja są wprowadzane do C:\Program Files\Microsoft SQL Serverkatalog \MSSQL\MSSQL.x\Repldata\Ftp.Użytkownik musi utworzyć katalog Ftp.

  • [ @ allow_push =] 'allow_push'
    Określa, jeżeli subskrypcji wypychanie mogą być tworzone dla danej publikacja.allow_pushjest nvarchar(5), domyślna wartość TRUE, co pozwala subskrypcji wypychanie publikacja.

  • [ @ allow_pull =] 'allow_pull'
    Określa, jeśli dla danej publikacjamożna utworzyć subskrypcji ściągać .allow_pulljest nvarchar(5), domyślna wartość FALSE.Jeżeli FAŁSZ, subskrypcji ściągać nie są dozwolone w publikacja.

  • [ @ allow_anonymous =] 'allow_anonymous'
    Określa, jeżeli anonimowy subskrypcje mogą być tworzone dla danej publikacja.allow_anonymousjest nvarchar(5), domyślna wartość FALSE.Jeżeli PRAWDA, immediate_synchronizationnależy również zestaw PRAWDA.Jeżeli FAŁSZ, subskrypcje anonimowe nie są dozwolone w publikacja.

  • [ @ allow_sync_tran =] 'allow_sync_tran'
    Określa, jeżeli subskrypcje natychmiastowej aktualizacji są dozwolone w publikacja.allow_sync_tranjest nvarchar(5), domyślna wartość FALSE.PRAWDA jest Nie jest obsługiwana dla wydawców Oracle.

  • [ @ autogen_sync_procs =] 'autogen_sync_procs'
    Określa, jeżeli synchronizacji procedura składowana aktualizacji subskrypcji jest generowany przez Wydawca.autogen_sync_procsjest nvarchar(5), i może mieć jedną z następujących wartości.

    Wartość

    Opis

    PRAWDA

    Ustawiana automatycznie podczas aktualizacji subskrypcji jest włączona.

    FAŁSZ

    Ustawiana automatycznie podczas aktualizacji subskrypcji nie jest włączona lub Oracle wydawców.

    Wartość NULL (wartość domyślna)

    Domyślnie: PRAWDA Podczas aktualizacji subskrypcji jest włączona i do FAŁSZ Podczas aktualizowania subskrypcji nie jest włączona.

    Ostrzeżenie

    Wartości podanych przez użytkownika.autogen_sync_procszostanie zastąpiona w zależności od wartości określone dla allow_queued_tran i allow_sync_tran.

  • [ @ retencji =] retention
    To okres zachowywania dla działalności subskrypcja w godzinach.retentionjest int, domyślnie z 336 godzin.Jeśli subskrypcja nie jest aktywny w okresie zachowywania, wygasa i jest usuwany.Wartość może być większa niż okres zachowywania maksymalnej baza danych dystrybucji używana przez Wydawca.Jeżeli 0, dobrze znanych subskrypcji do publikacja nigdy nie wygasa i być usuwane przez agenta oczyszczania subskrypcja wygasła.

  • [ @ allow_queued_tran = ] 'allow_queued_updating'
    Włącza lub wyłącza kolejkowanie zmian przez subskrybenta, dopóki nie mogą być stosowane przez Wydawca.allow_queued_updatingjest nvarchar(5) Domyślna wartość FALSE.Jeżeli FAŁSZ, zmiany subskrybent nie są umieszczane w kolejce.PRAWDA jest Nie jest obsługiwana dla wydawców Oracle.

  • [ @ snapshot_in_defaultfolder = ] 'snapshot_in_default_folder'
    Określa pliki migawka są przechowywane w folderze domyślnym.snapshot_in_default_folderjest nvarchar(5) Domyślna wartość TRUE.Jeżeli PRAWDA, migawka plików można znaleźć w folderze domyślnym.Jeżeli FAŁSZ, migawka pliki były przechowywane w alternatywnej lokalizacji określonej przez alternate_snapshot_folder.Alternatywnej lokalizacji może być na innym serwerze, dysk sieciowy lub nośników wymiennych (takich jak CD-ROM i dysków wymiennych).migawka pliki można zapisać w witrynie FTP, pobierania przez abonenta w późniejszym czas.Należy zauważyć, że ten parametr może być wartość true i nadal mieć miejsce w @ alt_snapshot_folder parametr.Ta kombinacja Określa, że będą przechowywane pliki migawka w alternatywnej lokalizacji i domyślnego.

  • [ @ alt_snapshot_folder = ] 'alternate_snapshot_folder'
    Określa lokalizację innego folderu migawka.alternate_snapshot_folderjest nvarchar(255) Domyślna wartość NULL.

  • [ @ pre_snapshot_script = ] 'pre_snapshot_script'
    Określa wskaźnik .SQL Lokalizacja pliku.pre_snapshot_scriptjest nvarchar(255), Domyślna wartość NULL.Agent dystrybucji będzie uruchomić skrypt przedmigawka przed uruchomieniem tych skryptów replikowanego obiektu przy stosowaniu migawka na subskrybenta.Skrypt jest wykonywany w kontekście zabezpieczeń, używana przez agenta dystrybucji podczas łączenia się z bazą danych subskrypcja .

  • [ @ post_snapshot_script = ] 'post_snapshot_script'
    Określa wskaźnik .SQL Lokalizacja pliku.post_snapshot_scriptjest nvarchar(255), domyślna wartość NULL.Agent dystrybucji działa skryptu post-migawka wszystkie skrypty replikowanych obiektów i dane zostały zastosowane podczas synchronizacja początkowa.Skrypt jest wykonywany w kontekście zabezpieczeń, używana przez agenta dystrybucji podczas łączenia się z bazą danych subskrypcja .

  • [ @ compress_snapshot = ] 'compress_snapshot'
    Określa, że migawka jest zapisywany @ alt_snapshot_folder Lokalizacja jest kompresowany w Microsoft format pliku CAB.compress_snapshotjest nvarchar(5), domyślna wartość FALSE.FAŁSZ Określa, że migawka nie zostanie skompresowany; PRAWDA Określa, że będą kompresowane migawka .Nie można skompresować migawkę plików większych niż 2 gigabajty (GB).Pliki skompresowane migawka nie jest skompresowanych w miejscu, gdzie działa Agent dystrybucji; tak, aby były subskrybent nieskompresowane pliki subskrypcjiściągać są zazwyczaj używane z migawkami skompresowany.Nie można skompresować migawka w folderze domyślnym.

  • [ @ ftp_address = ] 'ftp_address'
    Adres sieciowy usługa FTP jest dla dystrybutora.ftp_addressjest sysname, domyślna wartość NULL.Określa, gdzie publikacja migawka znajdują się pliki dla agenta dystrybucji lub scalić agenta subskrybent do pobrania.Ponieważ ta właściwość jest przechowywana w każdej publikacja, każda publikacja może mieć inną ftp_address.publikacja musi obsługiwać rozmnożeniowy migawki za pomocą protokołu FTP.

  • [ @ ftp_port = ] ftp_port
    To numer portu usługa FTP dla dystrybutora.ftp_portjest int, domyślna wartość 21.Określa, w którym znajdują się agenta dystrybucji lub scalić agenta subskrybent do pobrania plikówmigawka publikacja. Ponieważ ta właściwość jest przechowywana w każdej publikacja, każda publikacja może mieć własną ftp_port.

  • [ @ ftp_subdirectory = ] 'ftp_subdirectory'
    Określa, gdzie migawka pliki będą dostępne dla agenta dystrybucji lub scalić agenta subskrybent do pobrania, gdy publikacja obsługuje rozmnożeniowy migawki za pomocą protokołu FTP.ftp_subdirectoryjest nvarchar(255), domyślna wartość NULL.Ponieważ ta właściwość jest przechowywana w każdej publikacja, każda publikacja może mieć własną ftp_subdirctory lub wybrać opcję nie podkatalogu oznaczone wartość NULL.

  • [ @ ftp_login = ] 'ftp_login'
    Jest używana nazwa połączyć się z usługaFTP.ftp_loginjest sysname, domyślna wartość ANONYMOUS.

  • [ @ ftp_password = ] 'ftp_password'
    Hasło użytkownika służy do łączenia się z usługaFTP.ftp_passwordjest sysname, domyślna wartość NULL.

  • [ @ allow_dts = ] 'allow_dts'
    Określa, że publikacja umożliwia przekształcenia danych.pakiet DTS można określić podczas tworzenia subskrypcja.allow_transformable_subscriptionsjest nvarchar(5) Domyślna wartość FALSE, która nie zezwala na DTS przekształcenia.Gdy allow_dts ma wartość true, sync_method musi być zestaw albo character lub concurrent_c.

    PRAWDA jest nie jest obsługiwana dla wydawców Oracle.

  • [ @ allow_subscription_copy = ] 'allow_subscription_copy'
    Włącza lub wyłącza możliwość kopiowania bazy danych subskrypcja tej subskrybować tej publikacja.allow_subscription_copyjestnvarchar(5), domyślna wartość FALSE.

  • [ @ conflict_policy = ] 'conflict_policy'
    Określa zasady rozwiązywania konfliktów, a następnie użyto kolejce opcję aktualizowania subskrybent .conflict_policyjest nvarchar(100) z domyślnej wartości NULL, i może mieć jedną z następujących wartości.

    Wartość

    Opis

    pub wins

    Wydawca wins konfliktu.

    Sub ponownego inicjowania.

    Ponownie zainicjować subskrypcja.

    Sub wins

    Subskrybent wins konfliktu.

    Wartość NULL (wartość domyślna)

    Jeśli wartość NULL i publikacja jest migawka publikacja, staje się domyślną zasadę Sub ponownego inicjowania..Jeśli wartość NULL i publikacja nie jest migawka publikacja, staje się domyślnym pub wins.

    Nie jest obsługiwana dla wydawców Oracle.

  • [ @ centralized_conflicts = ] 'centralized_conflicts'
    Określa, czy rekordy powodujące konflikty są przechowywane w Wydawca.centralized_conflictsjest nvarchar(5), domyślna wartość TRUE.Jeżeli PRAWDA, rekordy konfliktowe są przechowywane w Wydawca.Jeżeli FAŁSZ, rekordy powodujące konflikty są przechowywane, zarówno przez wydawcę i subskrybent spowodowało konflikt.Nie jest obsługiwana dla wydawców Oracle.

  • [ @ conflict_retention = ] conflict_retention
    Określa okres zachowywania konflikt w dniach.To jest, że okres czas metadane w konflikcie jest przechowywany peer-to-peer transakcyjnych replikacja i subskrypcje aktualizacji w kolejce.conflict_retentionjest int, domyślna wartość 14.Nie jest obsługiwana dla wydawców Oracle.

  • [ @ queue_type = ] 'queue_type'
    Określa, jakiego typu kolejka jest używany.queue_typejest nvarchar(10), domyślna wartość NULL, i może być jedną z tych wartości.

    Wartość

    Opis

    SQL

    Użycie SQL Server do przechowywania transakcji.

    Wartość NULL (wartość domyślna)

    Domyślnie: SQL, który określa za pomocą SQL Server do przechowywania transakcji.

    Ostrzeżenie

    Obsługa za pomocą Microsoft kolejkowanie komunikatów została przerwana.Określając wartość usługi MSMQ powstanie ostrzeżenie i replikacja zostanie automatycznie zestaw wartość SQL.

    Nie jest obsługiwana dla wydawców Oracle.

  • [ @ add_to_active_directory = ] 'add_to_active_directory'
    Ten parametr zaniechano i jest obsługiwany tylko dla zgodności ze starszymi wersjami skryptów.Nie można dodawać informacje o publikacja do Microsoft usługi Active Directory.

  • [ @ logreader_job_name = ] 'logreader_agent_name'
    Jest nazwą istniejącego zadanieagenta.logreader_agent_namejest sysname, o wartości domyślnej NULL.Ten parametr jest określony tylko, gdy Agent odczytywania dziennika użyje zamiast nowe tworzony istniejące zadanie .

  • [ @ qreader_job_name = ] 'queue_reader_agent_name'
    Jest nazwą istniejącego zadanieagenta.queue_reader_agent_namejest sysname, o wartości domyślnej NULL.Ten parametr jest określony tylko podczas agenta czytnik kolejki użyje zamiast nowe tworzony istniejące zadanie .

  • [ @ publisher = ] 'publisher'
    Określa różna-SQL Server wydawcy.publisherjest sysname, domyślna wartość NULL.

    Ostrzeżenie

    w programie Publisher nie należy używać podczas dodawania publikacja do SQL Server Wydawca.

  • [ @ allow_initialize_from_backup = ] 'allow_initialize_from_backup'
    Wskazuje, jeśli subskrybentów mógł zainicjować subskrypcja tej publikacja z kopia zapasowa zamiast migawka początkowa.allow_initialize_from_backupjest nvarchar(5), i może być jedną z następujących wartości:

    Wartość

    Opis

    PRAWDA

    Umożliwia inicjowanie z kopia zapasowa.

    FAŁSZ

    Wyłącza inicjowania z kopia zapasowa.

    Wartość NULL (wartość domyślna)

    Domyślnie: PRAWDA do publikacja w topologii replikacja równorzędna i FAŁSZ dla innych publikacji.

    Aby uzyskać więcej informacji, zobacz temat Inicjowanie transakcyjnych subskrypcję bez migawki.

  • [ @ replicate_ddl = ] replicate_ddl
    Wskazuje, czy schemat replikacja jest przystosowany do publikacja.replicate_ddljest int, domyślna 1 dla SQL Server wydawcy i 0 dla nie-SQL Server wydawcy.1 Wskazuje, że są replikowane definicja danych instrukcji języka (DDL) wykonywane przez wydawcę, i 0 Wskazuje, że instrukcje DDL nie są replikowane.Schemat replikacja nie jest obsługiwana dla wydawców Oracle. Aby uzyskać więcej informacji, zobacz temat Wprowadzanie zmian schematu na publikację baz danych.

  • [ @ enabled_for_p2p = ] 'enabled_for_p2p'
    Umożliwia publikacja ma być używany w topologii replikacja równorzędna .enabled_for_p2pjest nvarchar(5), domyślna wartość FALSE.PRAWDA Wskazuje, że publikacja obsługuje replikacja równorzędna.Podczas ustawiania enabled_for_p2p do PRAWDA, obowiązują następujące ograniczenia:

    • allow_anonymousmusi być FAŁSZ.

    • allow_dtsmusi być FAŁSZ.

    • allow_initialize_from_backupmusi być PRAWDA.

    • allow_queued_tranmusi być FAŁSZ.

    • allow_sync_tranmusi być FAŁSZ.

    • conflict_policymusi być FAŁSZ.

    • independent_agentmusi być PRAWDA.

    • repl_freqmusi być ciągłe.

    • replicate_ddlmusi być 1.

    Aby uzyskać więcej informacji, zobacz temat Peer-to-Peer replikacji transakcyjnej.

  • [ @ publish_local_changes_only = ] 'publish_local_changes_only'
    Określone tylko w celach informacyjnych. Nieobsługiwane. Przyszła zgodność nie jest gwarantowana.

  • [ @ enabled_for_het_sub= ] 'enabled_for_het_sub'
    Włącza publikacja do obsługi innych niż-SQL Server abonentów.enabled_for_het_subjest nvarchar(5) z domyślną wartość FALSE.Wartość true oznacza, że nie obsługuje publikacja -SQL Server abonentów.Gdy enabled_for_het_sub jest true, obowiązują następujące ograniczenia:

    • allow_initialize_from_backupmust be false.

    • allow_pushmust be true.

    • allow_queued_tranmust be false.

    • allow_subscription_copymust be false.

    • allow_sync_tranmust be false.

    • autogen_sync_procsmust be false.

    • conflict_policymusi mieć wartość NULL.

    • enabled_for_internetmust be false.

    • enabled_for_p2pmust be false.

    • ftp_addressmusi mieć wartość NULL.

    • ftp_subdirectorymusi mieć wartość NULL.

    • ftp_passwordmusi mieć wartość NULL.

    • pre_snapshot_scriptmusi mieć wartość NULL.

    • post_snapshot_scriptmusi mieć wartość NULL.

    • replicate_ddlmusi mieć wartość 0.

    • qreader_job_namemusi mieć wartość NULL.

    • queue_typemusi mieć wartość NULL.

    • sync_methodcannot be native or concurrent.

    Aby uzyskać więcej informacji, zobacz temat -Z SQL Server abonentów.

  • [ @ p2p_conflictdetection= ] 'p2p_conflictdetection'
    Włącza Agenta dystrybucji do wykrywać konfliktów, jeśli publikacja jest włączona dla replikacja równorzędna.p2p_conflictdetectionjest nvarchar(5) z domyślną wartość TRUE.Aby uzyskać więcej informacji, zobacz temat Wykrywanie konfliktów w replikacji typu Peer-to-Peer.

  • [ @ p2p_originator_id= ] p2p_originator_id
    Określa identyfikator węzła w topologii peer-to-peer.p2p_originator_idjest int, domyślna wartość NULL.Jeśli ten identyfikator jest używany do wykrywanie konfliktów p2p_conflictdetection jest zestaw na TRUE.Określ identyfikator dodatnią, różną od zera, który nigdy nie został użyty w topologii.Dla listy identyfikatorów, które już zostały użyte, wykonać sp_help_peerconflictdetection.

  • [ @ p2p_continue_onconflict= ] 'p2p_continue_onconflict'
    Określa, czy Agent dystrybucji kontynuuje przetwarzanie zmian po Wykryto konflikt.p2p_continue_onconflictjest nvarchar(5) z domyślną wartość FALSE.

    PrzestrogaPrzestroga

    Zaleca się, aby używać domyślnej wartości FALSE.Gdy opcja ta jest zestaw na wartość TRUE, Agent dystrybucji próbuje zbieżności danych topologii stosując wiersza sprzecznych z węzła, który ma najwyższy identyfikator autora.Ta metoda nie gwarantuje zbieżności.Należy upewnić się, że topologii jest spójne po Wykryto konflikt.Aby uzyskać więcej informacji zobacz "Konflikty obsługi" in Wykrywanie konfliktów w replikacji typu Peer-to-Peer.

  • [ @ allow_partition_switch= ] 'allow_partition_switch'
    Określa, czy zmiany substancjiPrzełącznik sprawozdania mogą być wykonywane w opublikowanej bazie danych.allow_partition_switchjest nvarchar(5) z domyślną wartość FALSE.Aby uzyskać więcej informacji, zobacz temat Replikowanie podzielonym na partycje tabel i indeksów.

  • [ @ replicate_partition_switch= ] 'replicate_partition_switch'
    Określa, czy zmiany substancjiPrzełącznik instrukcji, które są wykonywane w opublikowanej bazie danych powinna być replikowana do subskrybentów.replicate_partition_switchjest nvarchar(5) z domyślną wartość FALSE.Ta opcja jest prawidłowa tylko wtedy, gdy allow_partition_switch jest zestaw na TRUE.

Wartości kodów powrotnych

0 (sukces) lub 1 (błąd)

Uwagi

sp_addpublication jest używany w migawka replikacja i replikacjatransakcyjnej.

Jeśli istnieje wiele publikacji, publikowania tego samego obiektu bazy danych tylko publikacje z replicate_ddl wartości 1 zreplikuje ALTER TABLE, ALTER VIEW, ALTER PROCEDURE, ALTER funkcji i instrukcji ALTER WYZWALACZA DDL .Jednak zmienić tabelę instrukcji DROP COLUMN DDL instrukcja będą replikowane przez wszystkie publikacje, które publikujesz porzuconych kolumna.

DDLreplikacja włączone (replicate_ddl = 1) publikacjaw celu innym niż replikowanie DDL zmiany do publikacja, sp_changepublication muszą być wykonane najpierw zestaw replicate_ddl do 0.Po wydaniu instrukcji DDL replikowanie sp_changepublication , można uruchomić ponownie włączyć DDL replikacja .

Przykład

-- To avoid storing the login and password in the script file, the values 
-- are passed into SQLCMD as scripting variables. For information about 
-- how to use scripting variables on the command line and in SQL Server
-- Management Studio, see the "Executing Replication Scripts" section in
-- the topic "Programming Replication Using System Stored Procedures".

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks2008R2'; 
SET @publication = N'AdvWorksProductTran'; 
-- Windows account used to run the Log Reader and Snapshot Agents.
SET @login = $(Login); 
-- This should be passed at runtime.
SET @password = $(Password); 

-- Enable transactional or snapshot replication on the publication database.
EXEC sp_replicationdboption 
    @dbname=@publicationDB, 
    @optname=N'publish',
    @value = N'true';

-- Execute sp_addlogreader_agent to create the agent job. 
EXEC sp_addlogreader_agent 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;

-- Create a new transactional publication with the required properties. 
EXEC sp_addpublication 
    @publication = @publication, 
    @status = N'active',
    @allow_push = N'true',
    @allow_pull = N'true',
    @independent_agent = N'true';

-- Create a new snapshot job for the publication, using a default schedule.
EXEC sp_addpublication_snapshot 
    @publication = @publication, 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;
GO

Uprawnienia

Tylko członkowie sysadmin stała rola serwera lub db_owner Stała rola bazy danych można wykonać sp_addpublication.