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.
[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.
[Inizio pagina]
Utilizzo di SQL Server Management Studio
Per collegare un database
In Esplora oggetti di SQL Server Management Studio connettersi a un'istanza del Motore di database di SQL Server, quindi espandere questa istanza.
Fare clic con il pulsante destro del mouse su Database, quindi scegliere Collega.
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
Importante 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".
[Inizio pagina]
Utilizzo di Transact-SQL
Per collegare un database
Connettersi al Motore di database.
Dalla barra Standard fare clic su Nuova query.
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.
[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).
[Inizio pagina]
Vedere anche
Riferimento
CREATE DATABASE (Transact-SQL)