Udostępnij za pośrednictwem


Jak Wyświetlanie i modyfikowanie właściwości artykułu (Programowanie replikacji Transact-SQL)

Artykuły mogą być modyfikowane i ich właściwości zwracane programowo przy użyciu procedury przechowywane replikacja.Procedury przechowywane, których używasz zależą od typu publikacja, do której należy artykuł.

Aby wyświetlić właściwości artykuł należących do migawka lub transakcyjnych publikacja

  1. Wykonanie sp_helparticle, określając nazwę publikacja dla publikacja @ parametr i nazwę artykuł dla @ artykuł parametru.Jeśli nie określisz @ artykuł, informacje zostaną zwrócone wszystkie artykuły w publikacja.

  2. Wykonanie sp_helparticlecolumns artykuły tabeli wyświetlić listę wszystkich kolumn w tabela bazowa.

Aby zmodyfikować właściwości artykuł należących do migawka lub transakcyjnych publikacja

  • Wykonanie sp_changearticle, określanie właściwości artykuł wprowadzanymi w @ Właściwość parametr i nową wartość tej właściwości w wartość @ parametru.

    Ostrzeżenie

    Jeżeli zmiana wymaga generacji Nowa migawka, można określić wartość 1 dla @ force_invalidate_snapshot, a jeśli zmiana skutkuje subskrybentów należy ponownie zainicjować, można określić wartość 1 dla @ force_reinit_subscription.Więcej informacji na temat właściwości, po zmianie wymagają Nowa migawka lub ponownego zainicjowania, zobacz Zmiana właściwości artykułu i publikacji.

Aby wyświetlić właściwości artykuł należące do publikacja korespondencji seryjnej

  1. Wykonanie sp_helpmergearticle, określając nazwę publikacja dla publikacja @ parametr i nazwę artykuł dla @ artykuł parametru.Jeżeli nie określono parametrów, informacje zostaną zwrócone wszystkie artykuły w publikacja lub przez wydawcę.

  2. Wykonanie sp_helpmergearticlecolumn artykuły tabeli wyświetlić listę wszystkich kolumn w tabela bazowa.

Aby zmodyfikować właściwości artykuł należące do publikacja korespondencji seryjnej

  • Wykonanie sp_changemergearticle, określanie właściwości artykuł wprowadzanymi w @ Właściwość parametr i nową wartość tej właściwości w wartość @ parametru.

    Ostrzeżenie

    Jeżeli zmiana wymaga generacji Nowa migawka, można określić wartość 1 dla @ force_invalidate_snapshot, a jeśli zmiana skutkuje subskrybentów należy ponownie zainicjować, można określić wartość 1 dla @ force_reinit_subscription.Więcej informacji na temat właściwości, po zmianie wymagają Nowa migawka lub ponownego zainicjowania, zobacz Zmiana właściwości artykułu i publikacji.

Przykład

To replikacja transakcyjna przykładzie zwraca właściwości opublikowanego artykuł.

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksProductTran';

USE [AdventureWorks2008R2]
EXEC sp_helparticle
  @publication = @publication;
GO

To replikacja transakcyjna przykład zmienia opcje schematu opublikowanego artykuł.

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @option AS int;
SET @publication = N'AdvWorksProductTran';
SET @article = N'Product';
SET @option = (SELECT CAST(0x0000000002030073 AS int));

-- Change the schema options to replicate schema with XML.
USE [AdventureWorks2008R2]
EXEC sp_changearticle 
  @publication = @publication,
  @article = @article, 
  @property = N'schema_option', 
  @value = @option,
  @force_invalidate_snapshot = 1;
GO

W tym przykładzie replikacja scalająca zwraca właściwości opublikowanego artykuł.

DECLARE @publication AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';

USE [AdventureWorks2008R2]
EXEC sp_helpmergearticle
  @publication = @publication;
GO

W tym przykładzie replikacja scalająca zmianę ustawień wykrywanie konfliktów opublikowanego artykuł.

DECLARE @publication AS sysname;
DECLARE @article AS sysname;
SET @publication = N'AdvWorksSalesOrdersMerge';
SET @article = N'SalesOrderHeader';

-- Enable column-level conflict tracking.
-- Changing this property requires that existing subscriptions
-- be reinitialized and that a new snapshot be generated.
USE [AdventureWorks2008R2]
EXEC sp_changemergearticle 
  @publication = @publication,
  @article = @article, 
  @property = N'column_tracking', 
  @value = N'true',
  @force_invalidate_snapshot = 1,
  @force_reinit_subscription = 1;
GO