Scollegamento di un databaseDetach a Database

In questo argomento viene descritto come scollegare un database in SQL Server 2017SQL Server 2017 utilizzando SQL Server Management StudioSQL Server Management Studio o Transact-SQLTransact-SQL.This topic describes how to detach a database in SQL Server 2017SQL Server 2017 by using SQL Server Management StudioSQL Server Management Studio or Transact-SQLTransact-SQL. I file scollegati non vengono eliminati e possono essere ricollegati tramite CREATE DATABASE con l'opzione FOR ATTACH o FOR ATTACH_REBUILD_LOG.The detached files remain and can be reattached by using CREATE DATABASE with the FOR ATTACH or FOR ATTACH_REBUILD_LOG option. È possibile spostare e quindi collegare tali file in un altro server.The files can be moved to another server and attached there.

Contenuto dell'argomentoIn This Topic

Prima di iniziare Before You Begin

Limitazioni e restrizioni Limitations and Restrictions

Per un elenco delle limitazioni e restrizioni, vedere Collegamento e scollegamento di un database (SQL Server).For a list of limitations and restrictions, see Database Detach and Attach (SQL Server).

Sicurezza Security

Autorizzazioni Permissions

Richiede l'appartenenza al ruolo predefinito del database db_owner.Requires membership in the db_owner fixed database role.

Utilizzo di SQL Server Management Studio Using SQL Server Management Studio

Per scollegare un databaseTo detach a database

  1. In Esplora oggetti di SQL Server Management StudioSQL Server Management Studio connettersi all'istanza del Motore di database di SQL ServerSQL Server Database Engine e quindi espanderla.In SQL Server Management StudioSQL Server Management Studio Object Explorer, connect to the instance of the Motore di database di SQL ServerSQL Server Database Engine and then expand the instance.

  2. Espandere Databasee selezionare il nome del database utente che si desidera scollegare.Expand Databases, and select the name of the user database you want to detach.

  3. Fare clic con il pulsante destro del mouse sul nome di database, scegliere Attivitàe quindi fare clic su Scollega.Right-click the database name, point to Tasks, and then click Detach. Verrà visualizzata la finestra di dialogo Scollega database .The Detach Database dialog box appears.

    Database da scollegareDatabases to detach
    Consente di visualizzare i database da scollegare.Lists the databases to detach.

    Database NameDatabase Name
    Consente di visualizzare il nome del database da scollegare.Displays the name of the database to be detached.

    Interrompi connessioniDrop Connections
    Consente di interrompere le connessioni al database specificato.Disconnect connections to the specified database.

    Nota

    Non è possibile scollegare un database con connessioni attive.You cannot detach a database with active connections.

    Aggiorna statisticheUpdate Statistics
    Per impostazione predefinita, con l'operazione di scollegamento è possibile mantenere eventuali statistiche di ottimizzazione non aggiornate prima di scollegare il database. Per aggiornare le statistiche di ottimizzazione esistenti, fare clic su questa casella di controllo.By default, the detach operation retains any out-of-date optimization statistics when detaching the database; to update the existing optimization statistics, click this check box.

    Mantieni cataloghi full-textKeep Full-Text Catalogs
    Per impostazione predefinita, con l'operazione di scollegamento è possibile mantenere eventuali cataloghi full-text associati al database.By default, the detach operation keeps any full-text catalogs that are associated with the database. Per rimuoverli, deselezionare la casella di controllo Mantieni cataloghi full-text .To remove them, clear the Keep Full-Text Catalogs check box. Questa opzione è visualizzata solo quando si aggiorna un database da SQL Server 2005SQL Server 2005.This option appears only when you are upgrading a database from SQL Server 2005SQL Server 2005.

    StatoStatus
    Consente di visualizzare uno degli stati seguenti: Pronto o Non pronto.Displays one of the following states: Ready or Not ready.

    MessageMessage
    Nella colonna Messaggio possono essere visualizzate informazioni sul database simili alle seguenti:The Message column may display information about the database, as follows:

    • Quando un database è coinvolto nella replica, lo Stato è Non pronto e nella colonna Messaggio viene visualizzato Database replicato.When a database is involved with replication, the Status is Not ready and the Message column displays Database replicated.

    • Quando un database ha una o più connessioni attive, il valore di Stato è Non pronto e la colonna Messaggio visualizza Connessioni attive: , ad esempio Connessioni attive: 1.When a database has one or more active connections, the Status is Not ready and the Message column displays Active connection(s) — for example: 1 Active connection(s). Prima di poter scollegare il database è necessario disconnettere tutte le connessioni attive selezionando Interrompi connessioni.Before you can detach the database, you need to disconnect any active connections by selecting Drop Connections.

      Per ottenere ulteriori informazioni su un messaggio, fare clic sul testo del collegamento ipertestuale per aprire Monitoraggio attività.To obtain more information about a message, click the hyperlinked text to open Activity Monitor.

  4. Quando si è pronti per scollegare il database, fare clic su OK.When you are ready to detach the database, click OK.

Nota

Il database scollegato rimarrà visibile nel nodo Database di Esplora oggetti fino all'aggiornamento della vista.The newly detached database will remain visible in the Databases node of Object Explorer until the view is refreshed. Per aggiornare la vista in qualsiasi momento, fare clic sul riquadro Esplora oggetti, scegliere Vista dalla barra dei menu e quindi Aggiorna.You can refresh the view at any time: Click in the Object Explorer pane, and from the menu bar select View and then Refresh.

Utilizzo di Transact-SQL Using Transact-SQL

Per scollegare un databaseTo detach a database

  1. Connettersi al Motore di databaseDatabase Engine.Connect to the Motore di databaseDatabase Engine.

  2. Dalla barra Standard fare clic su Nuova query.From the Standard bar, click New Query.

  3. Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui.Copy and paste the following example into the query window and click Execute. Nell'esempio seguente viene scollegato il database AdventureWorks2012 con skipchecks impostato su true.This example detaches the AdventureWorks2012 database with skipchecks set to true.

EXEC sp_detach_db 'AdventureWorks2012', 'true';  

Vedere ancheSee Also

Collegamento e scollegamento di un database (SQL Server) Database Detach and Attach (SQL Server)
sp_detach_db (Transact-SQL) sp_detach_db (Transact-SQL)