Azure AD Connect: Come eseguire il ripristino dal limite di 10 GB per LocalDBAzure AD Connect: How to recover from LocalDB 10-GB limit

Per archiviare i dati sull'identità, Azure AD Connect richiede un database SQL.Azure AD Connect requires a SQL Server database to store identity data. È possibile usare l'istanza predefinita di SQL Server 2012 Express LocalDB installata con Azure AD Connect oppure usare la versione di SQL completa.You can either use the default SQL Server 2012 Express LocalDB installed with Azure AD Connect or use your own full SQL. SQL Server Express impone un limite di 10 GB.SQL Server Express imposes a 10-GB size limit. Quando si usa LocalDB e viene raggiunto questo limite, il servizio di sincronizzazione Azure AD Connect non può più essere avviato o eseguire la sincronizzazione correttamente.When using LocalDB and this limit is reached, Azure AD Connect Synchronization Service can no longer start or synchronize properly. Questo articolo illustra la procedura di ripristino.This article provides the recovery steps.

SintomiSymptoms

Esistono due sintomi comuni:There are two common symptoms:

  • Il servizio di sincronizzazione Azure AD Connect è in esecuzione ma non effettua la sincronizzazione e genera l'errore "stopped-database-disk-full".Azure AD Connect Synchronization Service is running but fails to synchronize with “stopped-database-disk-full” error.

  • Il servizio di sincronizzazione Azure AD Connect non può essere avviato.Azure AD Connect Synchronization Service is unable to start. Quando si prova ad avviare il servizio, l'operazione non riesce e vengono generati l'evento 6323 il messaggio di errore "Errore del server. Spazio su disco insufficiente per SQL Server".When you attempt to start the service, it fails with event 6323 and error message "The server encountered an error because SQL Server is out of disk space."

Procedura di ripristino a breve termineShort-term recovery steps

Questa sezione illustra come recuperare lo spazio del DB necessario per ripristinare il funzionamento del servizio di sincronizzazione Azure AD Connect.This section provides the steps to reclaim DB space required for Azure AD Connect Synchronization Service to resume operation. I passaggi includono:The steps include:

  1. Determinare lo stato del servizio di sincronizzazioneDetermine the Synchronization Service status
  2. Compattare il databaseShrink the database
  3. Eliminare i dati della cronologia di esecuzioneDelete run history data
  4. Abbreviare il periodo di conservazione dei dati della cronologia di esecuzioneShorten retention period for run history data

Determinare lo stato del servizio di sincronizzazioneDetermine the Synchronization Service status

Determinare prima se il servizio di sincronizzazione è ancora in esecuzione:First, determine whether the Synchronization Service is still running or not:

  1. Accedere al server di Azure AD Connect come amministratore.Log in to your Azure AD Connect server as administrator.

  2. Passare a Gestione controllo servizi.Go to Service Control Manager.

  3. Verificare lo stato di Microsoft Azure AD Sync.Check the status of Microsoft Azure AD Sync.

  4. Se è in esecuzione, non arrestare o riavviare il servizio.If it is running, do not stop or restart the service. Ignorare il passaggio Compattare il database e proseguire con il passaggio Eliminare i dati della cronologia di esecuzione.Skip Shrink the database step and go to Delete run history data step.

  5. Se non è in esecuzione, provare ad avviare il servizio.If it is not running, try to start the service. Se il servizio si avvia, ignorare il passaggio Compattare il database e proseguire con il passaggio Eliminare i dati della cronologia di esecuzione.If the service starts successfully, skip Shrink the database step and go to Delete run history data step. In caso contrario, proseguire con il passaggio Compattare il database.Otherwise, continue with Shrink the database step.

Compattare il databaseShrink the database

Usare l'operazione di compattazione per liberare spazio del database sufficiente per avviare il servizio di sincronizzazione.Use the Shrink operation to free up enough DB space to start the Synchronization Service. Lo spazio verrà liberato rimuovendo gli spazi vuoti presenti nel database.It frees up DB space by removing whitespaces in the database. Si tratta del miglior tentativo possibile, dato che non è certo che sia sempre possibile recuperare lo spazio.This step is best-effort as it is not guaranteed that you can always recover space. Per altre informazioni sull'operazione di compattazione, vedere l'articolo Compattare un database.To learn more about Shrink operation, read this article Shrink a database.

Importante

Ignorare questo passaggio se è possibile eseguire il servizio di sincronizzazione.Skip this step if you can get the Synchronization Service to run. Non è consigliabile compattare il database SQL, perché può causare una riduzione delle prestazioni a causa di una maggiore frammentazione.It is not recommended to shrink the SQL DB as it can lead to poor performance due to increased fragmentation.

Il nome del database creato per Azure AD Connect è ADSync.The name of the database created for Azure AD Connect is ADSync. Per eseguire un'operazione di compattazione è necessario accedere come amministratore di sistema o DBO del database.To perform a Shrink operation, you must log in either as the sysadmin or DBO of the database. Durante l'installazione di Azure AD Connect vengono concessi diritti di amministratore di sistema agli account seguenti:During Azure AD Connect installation, the following accounts are granted sysadmin rights:

  • Amministratori localiLocal Administrators
  • Account utente usato per eseguire l'installazione di Azure AD Connect.The user account that was used to run Azure AD Connect installation.
  • Account del servizio di sincronizzazione usato come contesto operativo del servizio di sincronizzazione Azure AD Connect.The Sync Service account that is used as the operating context of Azure AD Connect Synchronization Service.
  • Gruppo locale ADSyncAdmins creato durante l'installazione.The local group ADSyncAdmins that was created during installation.
  1. Eseguire il backup del database copiando in una posizione sicura i file ADSync.mdf e ADSync_log.ldf presenti in %ProgramFiles%\Microsoft Azure AD Sync\Data.Back up the database by copying ADSync.mdf and ADSync_log.ldf files located under %ProgramFiles%\Microsoft Azure AD Sync\Data to a safe location.

  2. Avviare una nuova sessione di PowerShell.Start a new PowerShell session.

  3. Passare alla cartella %ProgramFiles%\Microsoft SQL Server\110\Tools\Binn.Navigate to folder %ProgramFiles%\Microsoft SQL Server\110\Tools\Binn.

  4. Avviare l'utilità sqlcmd eseguendo il comando ./SQLCMD.EXE -S “(localdb)\.\ADSync” -U <Username> -P <Password>, usando le credenziali di un amministratore di sistema o del DBO del database.Start sqlcmd utility by running the command ./SQLCMD.EXE -S “(localdb)\.\ADSync” -U <Username> -P <Password>, using the credential of a sysadmin or the database DBO.

  5. Per compattare il database, al prompt di sqlcmd (1>) immettere DBCC Shrinkdatabase(ADSync,1); seguito da GO nella riga successiva.To shrink the database, at the sqlcmd prompt (1>), enter DBCC Shrinkdatabase(ADSync,1);, followed by GO in the next line.

  6. Se l'operazione ha esito positivo, provare nuovamente ad avviare il servizio di sincronizzazione.If the operation is successful, try to start the Synchronization Service again. Se è possibile avviare il servizio di sincronizzazione, proseguire con il passaggio Eliminare i dati della cronologia di esecuzione.If you can start the Synchronization Service, go to Delete run history data step. In caso contrario, contattare il supporto tecnico.If not, contact Support.

Eliminare i dati della cronologia di esecuzioneDelete run history data

Per impostazione predefinita, Azure AD Connect conserva i dati della cronologia di esecuzione per sette giorni.By default, Azure AD Connect retains up to seven days’ worth of run history data. In questo passaggio si eliminano i dati della cronologia di esecuzione per recuperare spazio del database e riavviare il servizio di sincronizzazione Azure AD Connect.In this step, we delete the run history data to reclaim DB space so that Azure AD Connect Synchronization Service can start syncing again.

  1. Avviare Synchronization Service Manager passando a START → Synchronization Service (Servizio di sincronizzazione).Start Synchronization Service Manager by going to START → Synchronization Service.

  2. Passare alla scheda Operations (Operazioni).Go to the Operations tab.

  3. In Actions (Azioni) selezionare Clear Runs (Cancella esecuzioni).Under Actions, select Clear Runs

  4. È possibile scegliere Clear all runs (Cancella tutte le esecuzioni) oppure Clear runs before (Cancella esecuzioni precedenti a).You can either choose Clear all runs or Clear runs before… option. È consigliabile iniziare cancellando i dati della cronologia di esecuzione che risalgono a più di due giorni di prima.It is recommended that you start by clearing run history data that are older than two days. Se il problema delle dimensioni del database persiste, scegliere l'opzione Clear all runs (Cancella tutte le esecuzioni).If you continue to run into DB size issue, then choose the Clear all runs option.

Abbreviare il periodo di conservazione dei dati della cronologia di esecuzioneShorten retention period for run history data

Questo passaggio consente di ridurre la probabilità che si verifichi il problema del limite di 10 GB dopo più cicli di sincronizzazione.This step is to reduce the likelihood of running into the 10-GB limit issue after multiple sync cycles.

  1. Aprire una nuova sessione di PowerShell.Open a new PowerShell session.

  2. Eseguire Get-ADSyncScheduler e prendere nota della proprietà PurgeRunHistoryInterval, che specifica il periodo di conservazione corrente.Run Get-ADSyncScheduler and take note of the PurgeRunHistoryInterval property, which specifies the current retention period.

  3. Eseguire Set-ADSyncScheduler -PurgeRunHistoryInterval 2.00:00:00 per impostare il periodo di conservazione di due giorni.Run Set-ADSyncScheduler -PurgeRunHistoryInterval 2.00:00:00 to set the retention period to two days. Modificare il periodo di conservazione secondo le esigenze.Adjust the retention period as appropriate.

Soluzione a lungo termine: migrazione alla versione di SQL completaLong-term solution – Migrate to full SQL

In generale, il problema indica che le dimensioni del database di 10 GB non sono più sufficienti per eseguire la sincronizzazione dall'istanza di Active Directory locale ad Azure AD tramite Azure AD Connect.In general, the issue is indicative that 10-GB database size is no longer sufficient for Azure AD Connect to synchronize your on-premises Active Directory to Azure AD. È consigliabile passare alla versione completa di SQL Server.It is recommended that you switch to using the full version of SQL server. Non è possibile sostituire direttamente il database locale di una distribuzione di Azure AD Connect esistente con il database della versione completa di SQL.You cannot directly replace the LocalDB of an existing Azure AD Connect deployment with the database of the full version of SQL. È invece necessario distribuire un nuovo server di Azure AD Connect con la versione completa di SQL.Instead, you must deploy a new Azure AD Connect server with the full version of SQL. È consigliabile eseguire una migrazione swing in cui il nuovo server di Azure AD Connect (con il database SQL) viene distribuito come server di staging, accanto al server di Azure AD Connect esistente (con LocalDB).It is recommended that you do a swing migration where the new Azure AD Connect server (with SQL DB) is deployed as a staging server, next to the existing Azure AD Connect server (with LocalDB).

Passaggi successiviNext steps

Altre informazioni su Integrazione delle identità locali con Azure Active Directory.Learn more about Integrating your on-premises identities with Azure Active Directory.