Share via


Collegare un database

In questo argomento si illustra come collegare un database in SQL Server 2012 utilizzando SQL Server Management Studio o Transact-SQL. Con questa funzionalità è possibile copiare, spostare o aggiornare un database di SQL Server.

Contenuto dell'argomento

  • Prima di iniziare:

    Prerequisiti

    Consigli

    Sicurezza

  • Per collegare un database utilizzando:

    SQL Server Management Studio

    Transact-SQL

  • Completamento:  Dopo l'aggiornamento di un database

Prima di iniziare

Prerequisiti

  • Il database deve essere innanzitutto scollegato. Se si tenta di collegare un database che non è stato scollegato, verrà restituito un errore. Per ulteriori informazioni, vedere Scollegamento di un database.

  • Durante il collegamento di un database è necessario che siano disponibili tutti i file di dati (file MDF e NDF). Se un file di dati si trova in un percorso diverso rispetto al momento della creazione o dell'ultimo collegamento del database, è necessario specificare il percorso corrente.

Consigli

È consigliabile spostare i database utilizzando la procedura di rilocazione pianificata ALTER DATABASE anziché la funzionalità di scollegamento e collegamento. Per ulteriori informazioni, vedere Spostare database utente.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Sicurezza

Le autorizzazioni di accesso ai file vengono impostate durante l'esecuzione di alcune operazioni del database, inclusi il collegamento e lo scollegamento. Per informazioni sulle autorizzazioni per i file impostate quando un database viene collegato o scollegato, vedere Protezione dei dati e dei file di log nella documentazione online di SQL Server 2008 R2.

È consigliabile evitare di collegare o ripristinare database provenienti da origini sconosciute o non attendibili. Tali database possono contenere codice dannoso che potrebbe eseguire codice Transact-SQL indesiderato o causare errori modificando lo schema o la struttura fisica di database. Prima di utilizzare un database da un'origine sconosciuta o non attendibile, eseguire DBCC CHECKDB sul database in un server non di produzione ed esaminare il codice contenuto nel database, ad esempio le stored procedure o altro codice definito dall'utente. Per ulteriori informazioni sul collegamento di database e sulle modifiche apportate ai metadati in caso di collegamento di un database, vedere Collegamento e scollegamento di un database (SQL Server).

Autorizzazioni

È richiesta l'autorizzazione CREATE DATABASE, CREATE ANY DATABASE o ALTER ANY DATABASE.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Utilizzo di SQL Server Management Studio

Per collegare un database

  1. In Esplora oggetti di SQL Server Management Studio connettersi a un'istanza del Motore di database di SQL Server, quindi espandere questa istanza.

  2. Fare clic con il pulsante destro del mouse su Database, quindi scegliere Collega.

  3. Nella finestra di dialogo Collega database fare clic su Aggiungi per specificare il database da collegare, quindi nella finestra di dialogo Individua file di database selezionare l'unità disco in cui si trova il database ed espandere l'albero di directory per individuare e selezionare il file con estensione mdf del database, ad esempio:

    C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Data.mdf

    Nota importanteImportante

    Se si tenta di selezionare un database già collegato, verrà generato un errore.

    • Database da collegare
      Consente di visualizzare informazioni sui database selezionati.

    • <nessuna intestazione di colonna>
      Consente di visualizzare un'icona che indica lo stato dell'operazione di collegamento. Le icone possibili sono illustrate di seguito nella descrizione di Stato.

    • Percorso file MDF
      Consente di visualizzare il percorso e il nome del file MDF selezionato.

    • Nome database
      Consente di visualizzare il nome del database.

    • Collega come
      Facoltativamente, è possibile specificare un nome diverso per il database da collegare.

    • Proprietario
      Consente di visualizzare un elenco a discesa di possibili proprietari del database in cui è possibile selezionare un proprietario diverso.

    • Stato
      Consente di visualizzare lo stato del base in base alla tabella seguente.

      Icona

      Testo Stato

      Descrizione

      (Nessuna icona)

      (Nessun testo)

      L'operazione di collegamento non è stata avviata o può essere sospesa per questo oggetto. È il valore predefinito all'apertura della finestra di dialogo.

      Triangolo verde che punta a destra

      In corso

      L'operazione di collegamento è stata avviata ma non ancora completata.

      Segno di spunta verde

      Esito positivo

      L'oggetto è stato collegato.

      Cerchio rosso con croce bianca

      Errore

      Si è verificato un errore durante l'operazione. Il collegamento non è stato completato.

      Cerchio con due quadranti neri a destra e a sinistra e due quadranti bianchi in alto e in basso

      Arrestato

      L'operazione di collegamento non è stata completata perché l'utente ne ha arrestato l'esecuzione.

      Cerchio con freccia curva che punta in senso antiorario.

      È stato eseguito il rollback

      L'operazione di collegamento è stata completata ma ne è stato eseguito il rollback a causa di un errore durante il collegamento di un altro oggetto.

    • Messaggio
      Non viene visualizzato alcun messaggio oppure viene visualizzato il collegamento ipertestuale "Impossibile trovare il file".

    • Aggiungi
      Consente di individuare i file principali del database necessari. Se l'utente seleziona un file con estensione mdf, le informazioni appropriate vengono inserite automaticamente nei rispettivi campi della griglia Database da collegare.

    • Rimuovi
      Consente di rimuovere il file selezionato dalla griglia Database da collegare.

    • Dettagli database " <database_name> "
      Consente di visualizzare i nomi dei file da collegare. Per esaminare o modificare il percorso di un file, fare clic sul pulsante Sfoglia ().

      [!NOTA]

      Se il file non esiste, nella colonna Messaggio verrà visualizzato il testo "File non trovato". Se non rilevato, un file di log può trovarsi in un'altra directory o essere stato eliminato. È necessario aggiornare il percorso del file nella griglia Dettagli database in modo che indichi la posizione corretta oppure rimuovere il file di log dalla griglia. Se non viene rilevato un file di dati con estensione ndf, è necessario aggiornare il percorso nella griglia in modo che indichi la posizione corretta.

    • Nome file originale
      Consente di visualizzare il nome del file collegato appartenente al database.

    • Tipo file
      Indica il tipo di file, ovvero Dati o Log.

    • Percorso file corrente
      Consente di visualizzare il percorso del file di database selezionato. Il percorso può essere modificato manualmente.

    • Messaggio
      Non viene visualizzato alcun messaggio oppure viene visualizzato il collegamento ipertestuale "Impossibile trovare il file".

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Utilizzo di Transact-SQL

Per collegare un database

  1. Connettersi al Motore di database.

  2. Dalla barra Standard fare clic su Nuova query.

  3. Utilizzare l'istruzione CREATE DATABASE con la clausola FOR ATTACH.

    Copiare e incollare l'esempio seguente nella finestra Query e fare clic su Esegui. In questo esempio si collegano i file del database AdventureWorks2012 e si rinomina il database in MyAdventureWorks.

    CREATE DATABASE MyAdventureWorks 
        ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'), 
        (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf') 
        FOR ATTACH; 
    

    [!NOTA]

    In alternativa, è possibile utilizzare la stored procedure sp_attach_db o sp_attach_single_file_db. Tuttavia, queste stored procedure verranno eliminate nelle versioni future di Microsoft SQL Server. Evitare di utilizzare questa caratteristica in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. È invece consigliabile utilizzare CREATE DATABASE … FOR ATTACH.

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Completamento: Dopo l'aggiornamento di un database di SQL Server

Una volta aggiornato utilizzando il metodo di collegamento, il database viene reso immediatamente disponibile e viene aggiornato automaticamente. Se nel database sono inclusi indici full-text, questi vengono importati, reimpostati o ricompilati dal processo di aggiornamento, a seconda dell'impostazione della proprietà del server Opzione di aggiornamento full-text. Se l'opzione di aggiornamento è impostata su Importa o Ricompila, gli indici full-text non saranno disponibili durante l'aggiornamento. A seconda della quantità di dati indicizzati, l'importazione può richiedere diverse ore, mentre la ricompilazione può risultare dieci volte più lunga. Si noti inoltre che, quando l'opzione di aggiornamento è impostata su Importa e un catalogo full-text non è disponibile, gli indici full-text associati vengono ricompilati.

Se il livello di compatibilità di un database utente era 90 o 100 prima dell'aggiornamento, rimane invariato dopo l'aggiornamento. Se il livello di compatibilità era 80 o un valore inferiore prima dell'aggiornamento, nel database aggiornato questo valore viene impostato su 90, cioè sul livello di compatibilità inferiore supportato in SQL Server 2012. Per ulteriori informazioni, vedere Livello di compatibilità ALTER DATABASE (Transact-SQL).

Icona freccia utilizzata con il collegamento Torna all'inizio[Inizio pagina]

Vedere anche

Riferimento

CREATE DATABASE (Transact-SQL)

Concetti

Scollegamento di un database