Domande frequenti per gli amministratori di replicaFrequently Asked Questions for Replication Administrators

Le domande e risposte seguenti offrono indicazioni su una vasta gamma di attività svolte dagli amministratori dei database replicati.The following questions and answers provide guidance on a variety of tasks faced by administrators of replicated databases.

Configurazione della replicaConfiguring Replication

È necessario arrestare l'attività su un database quando questo viene pubblicato?Does activity need to be stopped on a database when it is published?

No.No. Durante la creazione di una pubblicazione l'attività sul database può proseguire.Activity can continue on a database while a publication is being created. Tenere presente che la produzione di uno snapshot può impegnare una grande quantità di risorse, per questo conviene generare gli snapshot durante i periodi di minore attività sul database. Per impostazione predefinita, viene generato uno snapshot al termine della Creazione guidata nuova pubblicazione.Be aware that producing a snapshot can be resource-intensive, so it is best to generate snapshots during periods of lower activity on the database (by default a snapshot is generated when you complete the New Publication Wizard).

Durante la generazione dello snapshot le tabelle sono bloccate?Are tables locked during snapshot generation?

La durata dei blocchi dipende dal tipo di replica utilizzata:The length of time that the locks are taken depends on the type of replication used:

  • Per le pubblicazioni di tipo merge, l'agente snapshot non imposta alcun blocco.For merge publications, the Snapshot Agent does not take any locks.

  • Per le pubblicazioni transazionali, l'agente snapshot per impostazione predefinita registra i blocchi solo durante la fase iniziale della generazione dello snapshot.For transactional publications, by default the Snapshot Agent takes locks only during the initial phase of snapshot generation.

  • Per le pubblicazioni snapshot, l'agente snapshot registra i blocchi durante l'intero processo di generazione dello snapshot.For snapshot publications the Snapshot Agent takes locks during the entire snapshot generation process.

    Dato tuttavia che il blocco impedisce l'aggiornamento delle tabelle da parte di altri utenti, è consigliabile pianificare l'esecuzione dell'agente snapshot durante gli orari di minore attività del database, specialmente per le pubblicazioni snapshot.Because locks prevent other users from updating the tables, the Snapshot Agent should be scheduled to execute during periods of lower activity on the database, especially for snapshot publications.

Quando è disponibile una sottoscrizione? Quando è possibile utilizzare il database di sottoscrizione?When is a subscription available; when can the subscription database be used?

Una sottoscrizione è disponibile dopo che al database di sottoscrizione è stato applicato lo snapshot.A subscription is available after the snapshot has been applied to the subscription database. Anche se il database di sottoscrizione è accessibile prima di questo momento, non dovrebbe essere utilizzato prima che sia stato applicato lo snapshot.Even though the subscription database is accessible prior to this, the database should not be used until after the snapshot has been applied. Utilizzare Monitoraggio replica per verificare lo stato della generazione e dell'applicazione dello snapshot.Use Replication Monitor to check the status of snapshot generation and application:

Cosa accade se l'agente snapshot non ha concluso la propria attività quando viene avviato l'agente di distribuzione o l'agente di merge?What happens if the Snapshot Agent has not completed when the Distribution or Merge Agent starts?

L'esecuzione dell'agente di distribuzione o di merge in contemporanea con quella dell'agente snapshot non genera un errore.It will not cause an error if the Distribution Agent or Merge Agent runs at the same time as the Snapshot Agent. Tuttavia, è necessario considerare quanto segue:However, you must be aware of the following:

  • Se l'agente di distribuzione o di merge è configurato per essere eseguito in modo continuato, lo snapshot verrà applicato automaticamente al termine dell'esecuzione dell'agente snapshot.If the Distribution Agent or Merge Agent is configured to run continuously, the agent applies the snapshot automatically after the Snapshot Agent completes.

  • Se l'agente di distribuzione o di merge è configurato per essere eseguito in base a una pianificazione o su richiesta e quando viene eseguito non è disponibile alcuno snapshot, l'agente verrà chiuso e invierà un messaggio indicante che ancora non vi è uno snapshot disponibile.If the Distribution Agent or Merge Agent is configured to run on a schedule or on-demand, and there is no snapshot available when the agent runs, the agent will shut down with a message stating that a snapshot is not yet available. È necessario ripetere l'esecuzione dell'agente per applicare lo snapshot dopo l'esecuzione dell'agente snapshot.You must run the agent again to apply the snapshot after the Snapshot Agent has completed. Per altre informazioni sull'esecuzione degli agenti, vedere Sincronizzare una sottoscrizione push, Sincronizzare una sottoscrizione pull e Concetti di base relativi ai file eseguibili dell'agente di replica.For more information on running agents, see Synchronize a Push Subscription, Synchronize a Pull Subscription, and Replication Agent Executables Concepts.

È necessario creare lo script della configurazione di replica?Should I script my replication configuration?

Sì.Yes. La creazione dello script della configurazione di replica è un elemento fondamentale di qualunque piano di ripristino di emergenza per una topologia di replica.Scripting the replication configuration is a key part of any disaster recovery plan for a replication topology. Per ulteriori informazioni sulla creazione di script, vedere Scripting Replication.For more information on scripting, see Scripting Replication.

Quale modello di recupero è necessario su un database replicato?What recovery model is required on a replicated database?

Le funzioni di replica che utilizzano correttamente uno dei modelli di recupero: con registrazione minima, con registrazione minima delle operazioni bulk o con registrazione completa.Replication functions properly using any of the recovery models: simple, bulk-logged, or full. La replica di tipo merge tiene traccia delle modifiche archiviando le informazioni in tabelle di metadati.Merge replication tracks change by storing information in metadata tables. La replica transazionale tiene traccia delle modifiche contrassegnando il log delle transazioni, ma il modello di recupero non influisce su questo processo di contrassegno.Transactional replication tracks changes by marking the transaction log, but this marking process is not affected by the recovery model.

Perché la replica aggiunge una colonna alle tabelle replicate? Tale colonna viene rimossa se la tabella non viene pubblicata?Why does replication add a column to replicated tables; will it be removed if the table isn't published?

Per tener traccia delle modifiche, la replica di tipo merge e la replica transazionale con sottoscrizioni ad aggiornamento in coda devono essere in grado di identificare in modo univoco ogni riga di ogni tabella pubblicata.To track changes, merge replication and transactional replication with queued updating subscriptions must be able to uniquely identify every row in every published table. A tale scopo:To accomplish this:

  • La replica di tipo merge aggiunge la colonna rowguid a ogni tabella, a meno che questa non contenga già una colonna del tipo di dati uniqueidentifier con il set di proprietà ROWGUIDCOL : in tal caso, viene usata questa colonna.Merge replication adds the column rowguid to every table, unless the table already has a column of data type uniqueidentifier with the ROWGUIDCOL property set (in which case this column is used). Se la tabella viene rimossa dalla pubblicazione, la colonna rowguid viene eliminata; se per il rilevamento è stata utilizzata una colonna esistente, questa non viene eliminata.If the table is dropped from the publication, the rowguid column is removed; if an existing column was used for tracking, the column is not removed.

  • Se una pubblicazione transazionale supporta le sottoscrizioni ad aggiornamento in coda, la replica aggiunge la colonna msrepl_tran_version a ogni tabella.If a transactional publication supports queued updating subscriptions, replication adds the column msrepl_tran_version to every table. Se la tabella viene rimossa dalla pubblicazione, la colonna msrepl_tran_version non viene eliminata.If the table is dropped from the publication, the msrepl_tran_version column is not removed.

  • In un filtro non deve essere inclusa la colonna rowguidcol utilizzata dalla replica per identificare le righe.A filter must not include the rowguidcol used by replication to identify rows. Per impostazione predefinita, si tratta della colonna aggiunta al momento dell'impostazione della replica di tipo merge ed è denominata rowguid.By default this is the column added at the time you set up merge replication and is named rowguid.

Come si gestiscono i vincoli sulle tabelle pubblicate?How do I manage constraints on published tables?

Riguardo ai vincoli sulle tabelle pubblicate, è necessario considerare diversi elementi:There are a number of issues to consider regarding constraints on published tables:

  • La replica transazionale richiede un vincolo di chiave primaria in ogni tabella pubblicata.Transactional replication requires a primary key constraint on each published table. La replica di tipo merge non richiede una chiave primaria ma se ne contiene una è necessario che venga replicata.Merge replication does not require a primary key, but if one is present, it must be replicated. La replica snapshot non richiede una chiave primaria.Snapshot replication does not require a primary key.

  • Per impostazione predefinita i vincoli di chiave primaria, gli indici e i vincoli CHECK vengono replicati nei Sottoscrittori.By default, primary key constraints, indexes, and check constraints are replicated to Subscribers.

  • Per impostazione predefinita, l'opzione NOT FOR REPLICATION viene specificata per i vincoli di chiave esterna e per i vincoli CHECK; questi vincoli vengono imposti per le operazioni dell'utente ma non per quelle dell'agente.The NOT FOR REPLICATION option is specified by default for foreign key constraints and check constraints; the constraints are enforced for user operations but not agent operations.

    Per informazioni sull'impostazione delle opzioni dello schema tramite cui si controlla l'eventuale esecuzione della replica dei vincoli, vedere Specify Schema Options.For information on setting the schema options that control whether constraints are replicated, see Specify Schema Options.

Come si gestiscono le colonne Identity?How do I manage identity columns?

La replica offre la gestione automatica dell'intervallo di valori Identity per le topologie di replica che includono aggiornamenti nel Sottoscrittore.Replication provides automatic identity range management for replication topologies that include updates at the Subscriber. Per altre informazioni, vedere Replicare colonne Identity.For more information, see Replicate Identity Columns.

È possibile pubblicare gli stessi oggetti in pubblicazioni diverse?Can the same objects be published in different publications?

Sì, ma con alcune restrizioni.Yes, but with some restrictions. Per altre informazioni, vedere la sezione "Pubblicazione di tabelle in più di una pubblicazione" nell'argomento Pubblicare dati e oggetti di database.For more information, see the section "Publishing Tables in More Than One Publication" in the topic Publish Data and Database Objects.

È possibile l'utilizzo dello stesso database di distribuzione da parte di più pubblicazioni?Can multiple publications use the same distribution database?

Sì.Yes. Non vi sono restrizioni al numero o ai tipi di pubblicazioni che possono utilizzare lo stesso database di distribuzione.There are no restrictions on the number or types of publications that can use the same distribution database. Tutte le pubblicazioni di un dato server di pubblicazione devono utilizzare lo stesso server di distribuzione e database di distribuzione.All publications from a given Publisher must use the same Distributor and distribution database.

Se si dispone di più pubblicazioni, è possibile configurare più database di distribuzione nel server di distribuzione per garantire che il flusso di dati che attraversa ogni database di distribuzione provenga da una sola pubblicazione.If you have multiple publications, you can configure multiple distribution databases at the Distributor to ensure that the data flowing through each distribution database is from a single publication. Per aggiungere un database di distribuzione, usare la finestra di dialogo Proprietà database di distribuzione oppure sp_adddistributiondb (Transact-SQL).Use the Distributor Properties dialog box or sp_adddistributiondb (Transact-SQL) to add a distribution database. Per altre informazioni sull'accesso a questa finestra di dialogo, vedere Visualizzare e modificare le proprietà del server di pubblicazione e del database di distribuzione.For more information about accessing the dialog box, see View and Modify Distributor and Publisher Properties.

In che modo è possibile reperire informazioni sul server di distribuzione e sul quello di pubblicazione, ad esempio per sapere quali oggetti di un database vengono pubblicati?How do I find information on the Distributor and Publisher, such as which objects in a database are published?

Queste informazioni sono disponibili tramite SQL Server Management StudioSQL Server Management Studioe diverse stored procedure di replica.This information is available through SQL Server Management StudioSQL Server Management Studio, and a number of replication stored procedures. Per altre informazioni, vedere Distributor and Publisher Information Script.For more information, see Distributor and Publisher Information Script.

La replica crittografa i dati?Does replication encrypt data?

No.No. La replica non crittografa i dati archiviati nel database o trasferiti nella rete.Replication does not encrypt data that is stored in the database or transferred over the network. Per altre informazioni, vedere la sezione "Crittografia" nell'argomento Panoramica della sicurezza (replica).For more information, see the "Encryption" section of the topic Security Overview (Replication).

Come si replicano i dati su Internet?How do I replicate data over the Internet?

È possibile replicare i dati su Internet utilizzando:Replicate data over the Internet using:

  • Una rete privata virtuale (VPN).A Virtual Private Network (VPN). Per altre informazioni, vedere Pubblicare i dati su Internet tramite VPN.For more information, see Publish Data over the Internet Using VPN.

  • L'opzione di sincronizzazione Web per la replica di tipo merge.The Web synchronization option for merge replication. Per altre informazioni, vedere Web Synchronization for Merge Replication.For more information, see Web Synchronization for Merge Replication.

    Tutti i tipi di replica di MicrosoftMicrosoft SQL ServerSQL Server possono replicare i dati in una VPN, ma è consigliabile considerare la sincronizzazione Web se si utilizza la replica di tipo merge.All types of MicrosoftMicrosoft SQL ServerSQL Server replication can replicate data over a VPN, but you should consider Web synchronization if you are using merge replication.

La replica viene ripresa in caso di interruzione della connessione?Does replication resume if a connection is dropped

Sì.Yes. L'elaborazione della replica viene ripresa dal punto in cui si era arrestata per interruzione della connessione.Replication processing resumes at the point at which it left off if a connection is dropped. Se si utilizza la replica di tipo merge in una rete inaffidabile, è consigliabile considerare l'utilizzo dei record logici, che garantisce che le modifiche correlate vengano elaborate come una unità.If you are using merge replication over an unreliable network, consider using logical records, which ensures related changes are processed as a unit. Per altre informazioni, vedere Raggruppare modifiche alle righe correlate con record logici.For more information, see Group Changes to Related Rows with Logical Records.

La replica funziona su connessioni a larghezza di banda ridotta?Does replication work over low bandwidth connections? Utilizza la compressione?Does it use compression?

Sì, la replica funziona su connessioni a larghezza di banda ridotta.Yes, replication does work over low bandwidth connections. Per le connessioni TCP/IP, utilizza la compressione offerta dal protocollo ma non offre una compressione aggiuntiva.For connections over TCP/IP, it uses the compression provided by the protocol but does not provide additional compression. Per le connessioni con sincronizzazione Web in HTTPS, utilizza la compressione offerta dal protocollo e la compressione aggiuntiva dei file XML utilizzati per replicare le modifiche.For Web synchronization connections over HTTPS, it uses the compression provided by the protocol and also additional compression of the XML files used to replicate changes.

Account di accesso e proprietà degli oggettiLogins and Object Ownership

Gli account di accesso e le password vengono replicati?Are logins and passwords replicated?

No.No. Per trasferire account di accesso e password da un server di pubblicazione a uno o più Sottoscrittori, si potrebbe creare un pacchetto DTS.You could create a DTS package to transfer logins and passwords from a Publisher to one or more Subscribers.

Cosa sono gli schemi e in che modo vengono replicati?What are schemas and how are they replicated?

A partire da MicrosoftMicrosoft SQL Server 2005SQL Server 2005, schema ha due significati:Beginning with MicrosoftMicrosoft SQL Server 2005SQL Server 2005, schema has two meanings:

  • La definizione di un oggetto, come un'istruzione CREATE TABLE.The definition of an object, such as a CREATE TABLE statement. Per impostazione predefinita, la replica copia le definizioni di tutti gli oggetti replicati nel Sottoscrittore.By default, replication copies the definitions of all replicated objects to the Subscriber.

  • Lo spazio dei nomi in cui viene creato un oggetto: <Database>.<Schema>.<Oggetto>.The namespace within which an object is created: <Database>.<Schema>.<Object>. Gli schemi vengono definiti utilizzando l'istruzione CREATE SCHEMA.Schemas are defined using the CREATE SCHEMA statement.

  • In relazione agli schemi e alla proprietà degli oggetti, la replica ha il seguente comportamento predefinito nella Creazione guidata nuova pubblicazione:Replication has the following default behavior in the New Publication Wizard with respect to schemas and object ownership:

  • Per gli articoli di pubblicazioni di tipo merge con un livello di compatibilità 90 o superiore, per le pubblicazioni snapshot e quelle transazionali: per impostazione predefinita, il proprietario dell'oggetto nel Sottoscrittore è uguale al proprietario dell'oggetto corrispondente nel server di pubblicazione.For articles in merge publications with a compatibility level of 90 or higher, snapshot publications, and transactional publications: by default, the object owner at the Subscriber is the same as the owner of the corresponding object at the Publisher. Se nel Sottoscrittore non esistono gli schemi che possiedono gli oggetti, vengono creati automaticamente.If the schemas that own objects do not exist at the Subscriber, they are created automatically.

  • Per articoli contenuti in pubblicazioni di tipo merge con un livello di compatibilità inferiore a 90: per impostazione predefinita, il proprietario viene lasciato vuoto e viene specificato come dbo durante la creazione dell'oggetto nel Sottoscrittore.For articles in merge publications with a compatibility level lower than 90: by default, the owner is left blank and is specified as dbo during the creation of the object on the Subscriber.

  • Per articoli contenuti in pubblicazioni Oracle: per impostazione predefinita, viene specificato il proprietario dbo.For articles in Oracle publications: by default, the owner is specified as dbo.

  • Per articoli di pubblicazioni che usano snapshot in modalità carattere (usati per Sottoscrittori non SQL ServerSQL Server e Sottoscrittori SQL Server CompactSQL Server Compact ): per impostazione predefinita, il proprietario rimane vuoto.For articles in publications that use character mode snapshots (which are used for non- SQL ServerSQL Server Subscribers and SQL Server CompactSQL Server Compact Subscribers): by default, the owner is left blank. Il proprietario viene impostato sul proprietario associato all'account utilizzato dall'agente di distribuzione o dall'agente di merge per la connessione al Sottoscrittore.The owner defaults to the owner associated with the account used by the Distribution Agent or Merge Agent to connect to the Subscriber.

    Il proprietario dell'oggetto può essere modificato tramite la finestra di dialogo Proprietà articolo - <Articolo> e tramite le stored procedure sp_addarticle, sp_addmergearticle, sp_changearticle e sp_changemergearticle.The object owner can be changed through the Article Properties - <Article> dialog box and through the following stored procedures: sp_addarticle, sp_addmergearticle, sp_changearticle, and sp_changemergearticle. Per altre informazioni, vedere Visualizzare e modificare le proprietà della pubblicazione, Definire un articolo e Visualizzare e modificare le proprietà degli articoli.For more information, see View and Modify Publication Properties, Define an Article, and View and Modify Article Properties.

In che modo è possibile configurare le concessioni del database di sottoscrizione per ottenere la corrispondenza con quelle del database di pubblicazione?How can grants on the subscription database be configured to match grants on the publication database?

Per impostazione predefinita, la replica non esegue istruzioni GRANT nel database di sottoscrizione.By default, replication does not execute GRANT statements on the subscription database. Se si desidera che le autorizzazioni del database di sottoscrizione corrispondano a quelle del database di pubblicazione, utilizzare uno dei seguenti metodi.If you want the permissions on the subscription database to match those on the publication database, use one of the following methods:

Cosa accade alle autorizzazioni concesse in un database di sottoscrizione se una sottoscrizione viene reinizializzata?What happens to permissions granted in a subscription database if a subscription is reinitialized?

Per impostazione predefinita, gli oggetti nel Sottoscrittore vengono eliminati e ricreati quando viene reinizializzata una sottoscrizione, cosa che provoca l'eliminazione di tutte le autorizzazioni concesse per tali oggetti.By default, objects at the Subscriber are dropped and recreated when a subscription is reinitialized, which causes all granted permissions for those objects to be dropped. Questa operazione può essere gestita in due modi:There are two ways to handle this:

  • Riapplicare le concessioni dopo la reinizializzazione utilizzando le tecniche descritte nella sezione precedente.Reapply the grants after the reinitialization using the techniques described in the previous section.

  • Specificare che gli oggetti non devono essere eliminati alla reinizializzazione della sottoscrizione.Specify that objects should not be dropped when the subscription is reinitialized. Prima della reinizializzazione, eseguire una delle seguenti operazioni:Prior to reinitialization, either:

    • Eseguire sp_changearticle o sp_changemergearticle.Execute sp_changearticle or sp_changemergearticle. Specificare il valore 'pre_creation_cmd' (sp_changearticle) o 'pre_creation_command' (sp_changemergearticle) per il parametro @property e il valore 'none', 'delete' o 'truncate' per il parametro @value.Specify a value of 'pre_creation_cmd' (sp_changearticle) or 'pre_creation_command' (sp_changemergearticle) for the parameter @property and a value of 'none', 'delete' or 'truncate' for the parameter @value.

    • Nella sezione Oggetto di destinazione< della finestra di dialogo Proprietà articolo - Articolo> selezionare il valore Non modificare l'oggetto esistente, Elimina i dati. Se all'articolo è associato un filtro di riga, elimina solo i dati che soddisfano i criteri del filtro.In the Article Properties - <Article> dialog box in the Destination Object section, select a value of Keep existing object unchanged, Delete data. If article has a row filter, delete only data that matches the filter. oppure Tronca tutti i dati nell'oggetto esistente per l'opzione Azione se il nome è in uso.or Truncate all data in the existing object for the option Action if name is in use. Per altre informazioni sull'accesso a questa finestra di dialogo, vedere Visualizzare e modificare le proprietà della pubblicazione.For more information on accessing this dialog box, see View and Modify Publication Properties.

Manutenzione databaseDatabase Maintenance

Per quale motivo non è possibile eseguire TRUNCATE TABLE su una tabella pubblicata?Why can't I run TRUNCATE TABLE on a published table?

TRUNCATE TABLE è un'operazione non registrata che non attiva i trigger.TRUNCATE TABLE is a non-logged operation that does not fire triggers. Non è consentita perché la replica non può tener traccia delle modifiche provocate dall'operazione: la replica transazionale tiene traccia delle modifiche tramite il log delle transazioni, la replica di tipo merge tramite i trigger sulle tabelle pubblicate.It is not permitted because replication cannot track the changes caused by the operation: transactional replication tracks changes through the transaction log; merge replication tracks changes through triggers on published tables.

Quale è l'effetto dell'esecuzione di un comando BULK INSERT su un database replicato?What is the effect of running a bulk insert command on a replicated database?

Per la replica transazionale, gli inserimenti bulk vengono rilevati e replicati come gli altri inserimenti.For transactional replication, bulk inserts are tracked and replicated like other inserts. Per la replica di tipo merge, è necessario verificare che i metadati di rilevamento delle modifiche vengano aggiornati correttamente.For merge replication, you must ensure that change tracking metadata is updated properly.

Il backup e il ripristino presentano delle considerazioni relativamente alla replica?Are there any replication considerations for backup and restore?

Sì.Yes. I database interessati alla replica richiedono alcune considerazioni speciali per i database.There are a number of special considerations for databases that are involved in replication. Per altre informazioni, vedere Eseguire il backup e ripristino di database replicati.For more information, see Back Up and Restore Replicated Databases.

La replica influisce sulla dimensione del log delle transazioni?Does replication affect the size of the transaction log?

A differenza della replica di tipo merge e della replica snapshot, la replica transazionale può influire sulla dimensione del log delle transazioni.Merge replication and snapshot replication do not affect transaction log size, but transactional replication can. Se un database include una o più pubblicazioni transazionali, il log non viene troncato finché tutte le transazioni significative per le pubblicazioni non sono state recapitate al database di distribuzione.If a database includes one or more transactional publications, the log is not truncated until all transactions relevant to the publications have been delivered to the distribution database. Se la dimensione del log delle transazioni aumenta in modo eccessivo e l'agente di lettura log viene eseguito in base a una pianificazione, è consigliabile ridurre l'intervallo tra le esecuzioniIf the transaction log is growing too large, and the Log Reader Agent is running on a scheduled basis, consider shortening the interval between runs. oppure impostare l'esecuzione in modalità continua.Or, set it to run in continuous mode. Se l'agente viene impostato per l'esecuzione in modalità continua (impostazione predefinita) verificare che venga eseguito.If it is set to run in continuous mode (the default), ensure that it is running. Per altre informazioni sul controllo dello stato dell'agente di lettura log, vedere Visualizzare le informazioni ed eseguire attività relative agli agenti associati a una pubblicazione (Monitoraggio replica).For more information on checking Log Reader Agent status, see View Information and Perform Tasks for the Agents Associated With a Publication (Replication Monitor).

Inoltre, se nel database di pubblicazione o in quello di distribuzione è stata impostata l'opzione 'sync with backup', il troncamento del log delle transazioni avviene solo dopo il backup di tutte le transazioni.Additionally, if you have set the option 'sync with backup' on the publication database or distribution database, the transaction log is not truncated until all transactions have been backed up. Se la dimensione del log delle transazioni sta aumentando in modo eccessivo e questa azione è stata impostata, è consigliabile accorciare l'intervallo tra l'esecuzione di operazioni di backup di tale log.If the transaction log is growing too large, and you have this option set, consider shortening the interval between transaction log backups. Per altre informazioni sul backup e il ripristino dei database coinvolti nella replica transazionale, vedere Strategie di backup e ripristino della replica snapshot e della replica transazionale.For more information on backing up and restoring databases involved in transactional replication, see Strategies for Backing Up and Restoring Snapshot and Transactional Replication.

Come si ricompilano gli indici o le tabelle nei database replicati?How do I rebuild indexes or tables in replicated databases?

Per la ricompilazione degli indici esistono diversi meccanismi.There are a variety of mechanisms for rebuilding indexes. Possono essere utilizzati tutti, senza considerazioni speciali per la replica, con la seguente eccezione: le chiavi primarie sono necessarie nelle tabelle delle pubblicazioni transazionali, pertanto non è possibile eliminare e ricreare le chiavi primarie su queste tabelle.They can all be used with no special considerations for replication, with the following exception: primary keys are required on tables in transactional publications, so you cannot drop and recreate primary keys on these tables.

Come si aggiungono o si modificano gli indici nei database di pubblicazione e di sottoscrizione?How do I add or change indexes on publication and subscription databases?

È possibile aggiungere gli indici nel server di pubblicazione o nei Sottoscrittori senza particolari considerazioni per la replica. Ricordare che gli indici possono influire sulle prestazioni.Indexes can be added at the Publisher or Subscribers with no special considerations for replication (be aware that indexes can affect performance). CREATE INDEX e ALTER INDEX non vengono replicati, pertanto se si aggiunge o si modifica un indice, ad esempio, nel server di pubblicazione, è necessario eseguire la stessa aggiunta o modifica nel Sottoscrittore se si desidera che venga riflessa in quest'ultimo.CREATE INDEX and ALTER INDEX are not replicated, so if you add or change an index at, for example, the Publisher, you must make the same addition or change at the Subscriber if you want it reflected there.

Come si spostano o si rinominano i file per i database interessati alla replica?How do I move or rename files for databases involved in replication?

Nelle versioni di SQL ServerSQL Server precedenti a SQL Server 2005SQL Server 2005lo spostamento o la ridenominazione dei file di database richiede lo scollegamento e il ricollegamento del database.In versions of SQL ServerSQL Server prior to SQL Server 2005SQL Server 2005, moving or renaming database files required detaching and reattaching the database. Poiché un database replicato non può essere scollegato, innanzitutto era necessario rimuovere la replica da questi database.Because a replicated database cannot be detached, replication had to be removed from these databases first. A partire da SQL Server 2005SQL Server 2005, è possibile spostare o rinominare i file senza scollegare e ricollegare il database, senza alcun effetto sulla replica.Beginning with SQL Server 2005SQL Server 2005, you can move or rename files without detaching and re-attaching the database, with no effect on replication. Per altre informazioni sullo spostamento e la ridenominazione dei file, vedere ALTER DATABASE (Transact-SQL).For more information about moving and renaming files, see ALTER DATABASE (Transact-SQL).

Come si elimina una tabella in corso di replica?How do I drop a table that is being replicated?

Eliminare in primo luogo l'articolo dalla pubblicazione usando sp_droparticle, sp_dropmergearticle o la finestra di dialogo Proprietà pubblicazione - <Pubblicazione>, quindi eliminarlo dal database usando DROP <Object>.First drop the article from the publication using sp_droparticle, sp_dropmergearticle, or the Publication Properties - <Publication> dialog box, and then drop it from the database using DROP <Object>. Dopo l'aggiunta di sottoscrizioni non è possibile eliminare articoli dalle pubblicazioni snapshot o transazionali: è necessario eliminare prima le sottoscrizioni.You cannot drop articles from snapshot or transactional publications after subscriptions have been added; you must drop the subscriptions first. Per altre informazioni, vedere Aggiungere ed eliminare articoli in pubblicazioni esistenti.For more information, see Add Articles to and Drop Articles from Existing Publications.

Come si aggiungono o si eliminano colonne in una tabella pubblicata?How do I add or drop columns on a published table?

SQL ServerSQL Server supporta una vasta gamma di modifiche dello schema sugli oggetti pubblicati, inclusa l'aggiunta e l'eliminazione di colonne. supports a wide variety of schema changes on published objects, including adding and dropping columns. Ad esempio, se si esegue ALTER TABLE …For example, execute ALTER TABLE … DROP COLUMN nel server di pubblicazione, l'istruzione viene replicata ai Sottoscrittori e poi eseguita per eliminare la colonna.DROP COLUMN at the Publisher, and the statement is replicated to Subscribers and then executed to drop the column. I Sottoscrittori che eseguono versioni di SQL ServerSQL Server precedenti a SQL Server 2005SQL Server 2005 supportano l'aggiunta e l'eliminazione di colonne tramite le stored procedure sp_repladdcolumn e sp_repldropcolumn.Subscribers running versions of SQL ServerSQL Server prior to SQL Server 2005SQL Server 2005 support adding and dropping columns through the stored procedures sp_repladdcolumn and sp_repldropcolumn. Per altre informazioni, vedere Apportare modifiche allo schema nei database di pubblicazione.For more information, see Make Schema Changes on Publication Databases.

Manutenzione della replicaReplication Maintenance

Come si stabilisce se i dati nei Sottoscrittori sono sincronizzati con quelli nel server di pubblicazione?How do I determine if the data at Subscribers is synchronized with data at the Publisher?

Utilizzando la convalida.Use validation. La convalida segnala se uno specifico Sottoscrittore è sincronizzato con il server di pubblicazione.Validation reports on whether a given Subscriber is synchronized with the Publisher. Per altre informazioni, vedere Convalidare i dati replicati.For more information, see Validate Replicated Data. A differenza dell' utilità tablediff , la convalida non offre informazioni sulle eventuali righe che non sono sincronizzate correttamente.Validation does not provide information on which rows if any are not synchronized correctly, but the tablediff utility does.

Come si aggiunge una tabella a una pubblicazione esistente?How do I add a table to an existing publication?

Per aggiungere una tabella o un altro oggetto, non è necessario arrestare l'attività sui database di pubblicazione o di sottoscrizione.It is not necessary to stop activity on the publication or subscription databases in order to add a table (or another object). Aggiungere una tabella a una pubblicazione usando la finestra di dialogo Proprietà pubblicazione - <Pubblicazione> o le stored procedure sp_addarticle e sp_addmergearticle.Add a table to a publication through the Publication Properties - <Publication> dialog box or the stored procedures sp_addarticle and sp_addmergearticle. Per altre informazioni, vedere Aggiungere ed eliminare articoli in pubblicazioni esistenti.For more information, see Add Articles to and Drop Articles from Existing Publications.

Come si rimuove una tabella da una pubblicazione?How do I remove a table from a publication?

Rimuovere una tabella dalla pubblicazione usando sp_droparticle, sp_dropmergearticle o la finestra di dialogo Proprietà pubblicazione - <Publication>.Remove a table from the publication using sp_droparticle, sp_dropmergearticle, or the Publication Properties - <Publication> dialog box. Dopo l'aggiunta di sottoscrizioni non è possibile eliminare articoli dalle pubblicazioni snapshot o transazionali: è necessario eliminare prima le sottoscrizioni.You cannot drop articles from snapshot or transactional publications after subscriptions have been added; you must drop the subscriptions first. Per altre informazioni, vedere Aggiungere ed eliminare articoli in pubblicazioni esistenti.For more information, see Add Articles to and Drop Articles from Existing Publications.

Quali azioni richiedono la reinizializzazione delle sottoscrizioni?What actions require subscriptions to be reinitialized?

La reinizializzazione delle sottoscrizioni è necessaria per diverse modifiche degli articoli e delle pubblicazioni.There are a number of article and publication changes that require subscriptions to be reinitialized. Per altre informazioni, vedere Modificare le proprietà di pubblicazioni e articoli.For more information, see Change Publication and Article Properties.

Quali azioni rendono non validi gli snapshot?What actions cause snapshots to be invalidated?

Vi sono diverse modifiche degli articoli e delle pubblicazioni che rendono non validi gli snapshot e richiedono la generazione di un nuovo snapshot.There are a number of article and publication changes that invalidate snapshots and require a new snapshot to be generated. Per altre informazioni, vedere Modificare le proprietà di pubblicazioni e articoli.For more information, see Change Publication and Article Properties.

Come si rimuove la replica?How do I remove replication?

Le azioni necessarie per rimuovere la replica da un database dipendono dalla funzione del database come database di pubblicazione, di sottoscrizione o entrambi.The actions required to remove replication from a database depend on whether the database served as a publication database, subscription database, or both.

In che modo è possibile determinare se vi sono transazioni o righe da replicare?How do I determine whether there are transactions or rows to be replicated?

Per la replica transazionale, utilizzare le stored procedure o la scheda Comandi non distribuiti di Monitoraggio replica.For transactional replication, use stored procedures or the Undistributed Commands tab in Replication Monitor. Per altre informazioni, vedere Visualizzare comandi replicati e altre informazioni nel database di distribuzione (programmazione Transact-SQL della replica) e Visualizzare le informazioni ed eseguire attività relative agli agenti associati a una sottoscrizione (Monitoraggio replica).For more information, see View Replicated Commands and Other Information in the Distribution Database (Replication Transact-SQL Programming) and View Information and Perform Tasks for the Agents Associated With a Subscription (Replication Monitor).

Per la replica di tipo merge, utilizzare la stored procedure sp_showpendingchanges.For merge replication, use the stored procedure sp_showpendingchanges. Per altre informazioni, vedere sp_showpendingchanges (Transact-SQL).For more information, see sp_showpendingchanges (Transact-SQL).

Quanto rimane indietro l'agente di distribuzione?How far behind is the Distribution Agent? È necessario ripetere l'inizializzazione?Should I reinitialize?

Utilizzare la stored procedure sp_replmonitorsubscriptionpendingcmds o la scheda Comandi non distribuiti di Monitoraggio replica.Use the sp_replmonitorsubscriptionpendingcmds stored procedure or the Undistributed Commands tab in Replication Monitor. La stored procedure e la scheda mostrano:The stored procedure and tab display:

Replica e altre funzionalità del databaseReplication and Other Database Features

La replica funziona insieme al log shipping e al mirroring del database?Does replication work in conjunction with log shipping and database mirroring?

Sì.Yes. Per altre informazioni, vedere Log shipping e replica (SQL Server) e Mirroring e replica del database (SQL Server).For more information, see Log Shipping and Replication (SQL Server) and Database Mirroring and Replication (SQL Server).

La replica funziona insieme al clustering?Does replication work in conjunction with clustering?

Sì.Yes. Non vi sono considerazioni speciali, poiché tutti i dati vengono archiviati su un solo set di dischi nel cluster.No special considerations are required because all data is stored on one set of disks on the cluster.

Vedere ancheSee Also

Amministrazione (replica) Administration (Replication)
Best Practices for Replication AdministrationBest Practices for Replication Administration