Scollegamento di un database condiviso scalabile
Quando i dati dei report non sono più utili perché eccessivamente obsoleti, il database di report viene considerato non aggiornato. L'aggiornamento di un database condiviso scalabile è costituito da un ciclo in tre fasi, la prima delle quali è la fase di scollegamento. In sostanza, la fase di scollegamento comporta lo scollegamento del database di report non aggiornato e lo smontaggio dei volumi per la gestione di report dal server di report. Quando viene scollegato da una determinata istanza del server, il database di report non aggiornato cessa di essere un database condiviso scalabile in tale istanza.
Passaggi della fase di scollegamento
In questa fase eseguire le operazioni seguenti in ogni server di report:
Facoltativamente, disattivare le nuove query sul database e consentire il corretto completamento delle query correnti. Per ulteriori informazioni, vedere "Strategie per la preparazione dello scollegamento di un database di report non aggiornato" di seguito in questo argomento.
Scollegare il database da ogni istanza del server.
A tale scopo, utilizzare l'istruzione Transact-SQL seguente:sp_detach_db @dbname='<database_name>'
dove <database_name> è il nome del database.
Smontare il set di volumi per la gestione di report in ogni server di report.
Per smontare un volume utilizzando l'utilità DiskPart, al prompt dei comandi digitare i comandi seguenti:
DiskPart
DISKPART> select volume=<drive-number>
DISKPART> remove
DISKPART> exit
dove <drive-letter> è la lettera assegnata al volume per la gestione di report. Se nel database vengono utilizzati più volumi per la gestione di report, eseguire questo passaggio per ogni volume.Mascherare il numero di unità logica (LUN) corrispondente al volume per la gestione di report per nasconderlo ai server di report. A tale scopo, utilizzare le utilità del fornitore dell'hardware. Se nel database vengono utilizzati più volumi per la gestione di report, eseguire questo passaggio per ogni volume.
[!NOTA] Lo scollegamento è la prima fase del ciclo di aggiornamento per un determinato set di volumi per la gestione di report. È tuttavia possibile utilizzare due set alternativi di volumi per la gestione di report, uno per la versione non aggiornata e l'altro per la versione aggiornata di un database di report. In questo modo è possibile sovrapporre le fasi di scollegamento e aggiornamento dei due set di volumi. Per ulteriori informazioni, vedere Ottimizzazione della disponibilità di un database condiviso scalabile.
Strategie per la preparazione dello scollegamento di un database di report non aggiornato
Quando si sostituisce la versione non aggiornata di un database, è importante prendere in considerazione i requisiti aziendali per l'ambiente di gestione dei report. È consigliabile valutare quale dei requisiti aziendali seguenti è più importante: consentire il completamento delle query in esecuzione o completare l'aggiornamento il più rapidamente possibile.
In base al requisito che si ritiene più importante, è possibile stabilire la modalità di gestione della fase di scollegamento in ogni server di report.
Completamento delle query in esecuzione
Per mantenere tutte le query in corso, iniziare la fase di scollegamento interrompendo il flusso di transazioni al database, ad esempio interrompendo l'attività di I/O. In ogni istanza del server attendere quindi che vengano completate tutte le query correnti. Dopo aver scollegato il database da tutte le istanze del server, è possibile smontare il volume per la gestione di report.Completamento dell'aggiornamento del database nel più breve tempo possibile
Per completare rapidamente l'aggiornamento, ottenere l'accesso esclusivo al database in ogni istanza del server interrompendo le query immediatamente o dopo un numero specificato di secondi. È possibile riavviare le query dopo aver collegato una versione aggiornata del database.
Ad esempio, per impostare un intervallo di 60 secondi per il completamento delle query correnti prima di interrompere quelle rimanenti, utilizzare l'istruzione Transact-SQL seguente:USE master; ALTER DATABASE AdventureWorks SET SINGLE_USER WITH ROLLBACK AFTER 60; GO
A questo punto è possibile scollegare il database da ogni istanza del server e smontare uno o più volumi per la gestione di report da ogni server di report.
Per ulteriori informazioni, vedere ALTER DATABASE (Transact-SQL).
A questo punto il set smontato di volumi per la gestione di report è pronto per la fase successiva del ciclo, ovvero quella di generazione o aggiornamento.
In alternativa, prima di iniziare la fase di scollegamento nel set attualmente montato di volumi per la gestione di report, è possibile aggiornare il database in un set alternativo di volumi per la gestione di report. Per ulteriori informazioni, vedere Ottimizzazione della disponibilità di un database condiviso scalabile.
Vedere anche
Attività
Procedura: Scollegamento di un database (SQL Server Management Studio)
Concetti
Collegamento di un database di report come database condiviso scalabile
Creazione o aggiornamento di un database di report
Creazione di un ambiente corretto per un database condiviso scalabile
Ottimizzazione della disponibilità di un database condiviso scalabile
Panoramica dei database condivisi scalabili