Procedure consigliate con la funzionalità di collegamento per Istanza gestita di SQL di Azure

Si applica a:Istanza gestita di SQL di Azure

Questo articolo illustra le procedure consigliate quando si usa la funzionalità di collegamento per Istanza gestita di SQL di Azure. La funzionalità di collegamento per Istanza gestita di SQL di Azure connette i server SQL ospitati dovunque all’Istanza gestita di SQL, fornendo una replica dei dati quasi in tempo reale nel cloud.

Nota

Alcune funzionalità del collegamento sono disponibili a livello generale, mentre alcune sono attualmente in anteprima. Per altre informazioni, vedere i prerequisiti.

Eseguire regolarmente i backup del log

La funzionalità di collegamento replica i dati tramite i gruppi di disponibilità distribuiti basati sui gruppi di disponibilità Always On. La replica dei dati con gruppi di disponibilità distribuiti si basa sulla replica dei record del log delle transazioni. Nessun record del log delle transazioni può essere troncato dal database nell'istanza primaria di SQL Server fino a quando non vengono replicati nel database nella replica secondaria. Se la replica dei record del log delle transazioni è lenta o bloccata a causa di problemi di connessione di rete, il file di log continua a crescere nell'istanza primaria. La velocità di crescita dipende dall'intensità del carico di lavoro e dalla velocità di rete. Se si verifica un'interruzione prolungata della connessione di rete e un carico di lavoro elevato nell'istanza primaria, il file di log può occupare tutto lo spazio di archiviazione disponibile.

Per ridurre al minimo il rischio di esaurimento dello spazio nell'istanza primaria di SQL Server a causa dell'aumento dei file di log, assicurarsi di eseguire regolarmente i backup del log del database in SQL Server quando è il database primario. Non è necessaria alcuna azione aggiuntiva quando Istanza gestita di SQL è il principale perché i backup del log sono già stati eseguiti automaticamente. Eseguendo regolarmente i backup dei log nell'istanza primaria di SQL Server, il database è più resiliente agli eventi di crescita dei log non pianificati. Il primo backup del log del database deve essere eseguito solo dopo il completamento del seeding iniziale per Istanza gestita di SQL (ovvero la replica di database in Istanza gestita di SQL non è più nello stato “Ripristino”). Valutare la possibilità di pianificare le attività di backup giornaliere del log usando un processo di SQL Server Agent.

È possibile usare uno script Transact-SQL (T-SQL) per eseguire il backup del file di log, ad esempio l'esempio fornito in questa sezione. Sostituire i segnaposto nello script di esempio con il nome del database, il nome e il percorso del file di backup e la descrizione.

Per eseguire il backup del log delle transazioni, usare lo script Transact-SQL (T-SQL) di esempio seguente in SQL Server:

-- Execute on SQL Server
-- Take log backup
BACKUP LOG [<DatabaseName>]
TO DISK = N'<DiskPathandFileName>'
WITH NOFORMAT, NOINIT,
NAME = N'<Description>', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 1

Usare il comando Transact-SQL (T-SQL) seguente per controllare lo spazio del log usato dal database in SQL Server:

-- Execute on SQL Server
DBCC SQLPERF(LOGSPACE); 

L'output della query è simile all'esempio seguente per il database di esempio tpcc:

Screenshot with results of the command showing log file size and space used

In questo esempio il database ha usato il 76% del log disponibile, con dimensioni del file di log assolute di circa 27 GB (27.971 MB). Le soglie per l'azione variano in base al carico di lavoro. Nell'esempio precedente, le dimensioni del log delle transazioni e la percentuale di utilizzo del log sono in genere un'indicazione che è consigliabile eseguire un backup del log delle transazioni per troncare il file di log e liberare spazio oppure eseguire backup del log più frequenti. Potrebbe anche essere un'indicazione che il troncamento del log delle transazioni è bloccato da transazioni aperte. Per altre informazioni sulla risoluzione dei problemi relativi a un log delle transazioni in SQL Server, vedere Risolvere i problemi relativi a un log delle transazioni completo (errore di SQL Server 9002). Per altre informazioni sulla risoluzione dei problemi relativi a un log delle transazioni in Istanza gestita di SQL di Azure, vedere Risolvere gli errori del log delle transazioni con Istanza gestita di SQL di Azure.

Aggiungere flag di traccia di avvio

In SQL Server sono presenti due flag di traccia (-T1800 e -T9567) che, se aggiunti come parametri di avvio, possono ottimizzare le prestazioni della replica dei dati tramite il collegamento. Per altre informazioni, vedere Abilitare i flag di traccia di avvio.