Scollegare un database

Si applica a:SQL Server

Questo articolo illustra come ollegare un database in SQL Server usando SQL Server Management Studio o Transact-SQL. I file scollegati non vengono eliminati e rimangono nel file system. I file possono essere ricollegati usando le opzioni CREATE DATABASE ... FOR ATTACH o FOR ATTACH_REBUILD_LOG. I file possono anche essere spostati in un altro server e collegati a un'istanza con la stessa versione o successiva.

Limiti

Per un elenco delle limitazioni e delle restrizioni, vedere Scollegamento e collegamento del database (SQL Server).

Autorizzazioni

Richiede l'adesione al ruolo predefinito del database db_owner.

Usare SQL Server Management Studio

Prima di spostare un database

Se si sta spostando un database, prima di scollegarlo dall'istanza di SQL Server esistente, usare la pagina Proprietà database per esaminare i file associati al database e i relativi percorsi correnti.

  1. In Esplora oggetti di SQL Server Management Studio connettersi all'istanza del motore di database di SQL Server e quindi espandere l'istanza.

  2. Espandere Databasee selezionare il nome del database utente che si desidera scollegare.

  3. Fare clic con il pulsante destro del mouse sul database e selezionare Proprietà. Selezionare la pagina File ed esaminare le voci nella tabella File di database:.

Assicurarsi di tenere conto di tutti i file associati al database prima di scollegare, spostare e collegare. Procedere quindi con i passaggi di scollegamento nella sezione successiva. Per altre informazioni sul rendere visibile il database nella nuova posizione, vedere Collegare un database.

Scollegare un database

  1. In Esplora oggetti di SQL Server Management Studio connettersi all'istanza del motore di database di SQL Server e quindi espandere l'istanza.

  2. Espandere Databasee selezionare il nome del database utente che si desidera scollegare.

  3. Fare clic con il pulsante destro del mouse sul nome di database, scegliere Attività e quindi selezionare Scollegare. Verrà visualizzata la finestra di dialogo Scollega database .

    • Database da scollegare: elenca i database da scollegare.

    • Nome database: visualizza il nome del database da scollegare.

    • Eliminazione Connessione ions: disconnettere le connessioni al database specificato.

      Nota

      Non è possibile scollegare un database con connessioni attive.

    • Aggiorna statistiche: per impostazione predefinita, l'operazione di scollegamento mantiene le statistiche di ottimizzazione non aggiornate quando si scollega il database. Per aggiornare le statistiche di ottimizzazione esistenti, selezionare questa casella di controllo.

    • Mantieni cataloghi full-text: per impostazione predefinita, l'operazione di scollegamento mantiene tutti i cataloghi full-text associati al database. Per rimuoverli, deselezionare la casella di controllo Mantieni cataloghi full-text . Questa opzione viene visualizzata solo quando si aggiorna un database da SQL Server 2005 (9.x).

    • Stato: visualizza uno degli stati seguenti: Pronto o Non pronto.

    • Messaggio: La colonna Messaggio potrebbe visualizzare informazioni sul database, come indicato di seguito:

      • Quando un database è coinvolto nella replica, lo Stato è Non pronto e nella colonna Messaggio viene visualizzato Database replicato.

      • Quando per un database esistono una o più connessioni attive, il valore di Stato è Non pronto e la colonna Messaggio visualizza <>Connessioni attive. Ad esempio: 1 connessione attiva. Prima di poter sollegare il database è necessario disconnettere tutte le connessioni attive selezionando Interrompi connessioni.

      Per ottenere ulteriori informazioni su un messaggio, selezionare il testo del collegamento ipertestuale per aprire Monitoraggio attività.

  4. Quando si è pronti per scollegare il database, selezionare OK.

Nota

Il database scollegato rimarrà visibile nel nodo Database di Esplora oggetti fino all'aggiornamento della vista. È possibile aggiornare la visualizzazione in qualsiasi momento: selezionare nel riquadro Esplora oggetti e nella barra dei menu selezionare Visualizza e quindi Aggiorna.

Usare Transact-SQL

Prima di spostare un database

Se si sta spostando un database, prima di scollegarlo dall'istanza di SQL Server esistente, usare la sys.database_files vista del catalogo di sistema per esaminare i file associati al database e i relativi percorsi correnti. Per altre informazioni, vedere sys.database_files (Transact-SQL).

  1. In SQL Server Management Studio selezionare Nuova query per aprire l'editor di query.

  2. Copiare lo script Transact-SQL seguente nell'editor di query e selezionare Esegui. Lo script consente di visualizzare la posizione dei file fisici del database. Assicurarsi di tenere conto di tutti i file associati al database prima di scollegare, spostare e collegare.

    USE [database_name]
    GO
    
    SELECT type_desc, name, physical_name
    FROM sys.database_files;
    

Assicurarsi di tenere conto di tutti i file associati al database prima di scollegare, spostare e collegare. Procedere quindi con i passaggi di scollegamento nella sezione successiva. Per altre informazioni sul rendere visibile il database nella nuova posizione, vedere Collegare un database.

Scollegare un database

  1. Connettersi al motore di database di .

  2. Nella barra Standard selezionare Nuova query.

  3. Copiare e incollare l'esempio seguente nella finestra di query e selezionare Esegui. In questo esempio il database AdventureWorks2022 viene sollegato con l'opzione skipchecks impostata su true. Per altre informazioni, consultare sp_detach_db.

    EXEC sp_detach_db 'AdventureWorks2022', 'true';