Domanda

Sto cercando di determinare se esiste un modo migliore per gestire la replica rispetto al modo in cui stiamo attualmente facendo le cose.

Stiamo essenzialmente cercando di determinare 2 cose:

  
      
  1. Esiste un modo per aggiungere una colonna esistente da una tabella alla replica   senza reinizializzare il tutto   pubblicazione
  2.   
  3. Puoi semplicemente selezionare un articolo specifico da reinizializzare invece di tutto   degli articoli in una pubblicazione?
  4.   

(Sono un po 'nuovo nella replica ... sto cercando di aggiornarmi, quindi mi scuso se la mia terminologia non ha senso)

In questo momento abbiamo circa 30 pubblicazioni in modo che se qualcuno deve essere reinizializzato c'è un impatto minimo ... perché molti dei nostri tavoli sono piuttosto enormi. Preferiremmo avere solo diverse pubblicazioni.

Qualsiasi idea sarebbe molto apprezzata.

Aggiorna

Quando proviamo ad aggiungere una colonna a un articolo riceviamo il messaggio:

  

Ne hai cambiato uno o più   proprietà che richiedono tutto   abbonamenti da reinizializzare.   Il salvataggio di queste modifiche indica ciascuna   abbonamento che supporta automatico   reinizializzazione da reinizializzare   da un'istantanea alla successiva   Viene eseguito l'agente di distribuzione. Devi correre   l'agente snapshot per generare il file   snapshot.

Vogliamo evitare di reinizializzare tutte le sottoscrizioni .. stiamo usando la replica transazionale ... di nuovo vogliamo aggiungere una colonna esistente a una pubblicazione esistente senza dover reinizializzare tutte le sottoscrizioni.

È stato utile?

Soluzione

Che tipo di replica? Snapshot, Merge, Transacitonal, Peer-to-Peer?

1) Sì. Vedi Apportare modifiche allo schema sui database di pubblicazione :

  
      
  • Per aggiungere una nuova colonna a una tabella e   includere quella colonna in un esistente   pubblicazione, eseguire ALTER TABLE    INSERISCI . Per impostazione predefinita, il   la colonna viene quindi replicata a tutti   Iscritti. La colonna deve consentire   Valori NULL o includere un valore predefinito   vincolo.
  •   
  • Per includere una colonna esistente in un   pubblicazione esistente, utilizzare    sp_articlecolumn (Transact-SQL),    sp_mergearticlecolumn (Transact-SQL),   o le proprietà della pubblicazione -    finestra di dialogo.
  •   

2) Dipende dal tipo di replica. Vedi Reinizializzazione di un abbonamento :

  

La reinizializzazione di un abbonamento comporta   applicando una nuova istantanea di uno o più   articoli per uno o più abbonati:    replica transazionale e istantanea   consentire ai singoli articoli di essere   reinizializzata; unisci replica   richiede che tutti gli articoli siano   Reinitialized .

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top