Collegare un database
Questo argomento descrive come collegare un database in SQL Server 2014 usando SQL Server Management Studio o Transact-SQL. Con questa funzionalità è possibile copiare, spostare o aggiornare un database di SQL Server.
Contenuto dell'articolo
Prima di iniziare:
Per collegare un database utilizzando:
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 altre informazioni, vedere Scollegare un database.
Durante il collegamento di un database è necessario che siano disponibili tutti i file di dati (file MDF e LDF). 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.
Quando si collega un database, se i file MDF e LDF si trovano in directory diverse e uno dei percorsi include \\?\GlobalRoot, l'operazione avrà esito negativo.
Consigli
È consigliabile spostare i database usando la ALTER DATABASE
procedura di rilocazione pianificata, anziché usare scollegamento e collegamento. Per altre informazioni, vedere Spostare database utente.
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 ogni volta che un database viene scollegato e collegato, 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 del 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 altre 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
È necessaria l'autorizzazione CREATE DATABASE
, CREATE ANY DATABASE
o ALTER ANY DATABASE
.
Utilizzo di SQL Server Management Studio
Per collegare un database
In SQL Server Management Studio Esplora oggetti connettersi a un'istanza del motore di database di SQL Server e quindi espandere tale istanza.
Fare clic con il pulsante destro del mouse su Database , quindi scegliere Collega.
Nella finestra di dialogo Collega database fare clic su Aggiungiper 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\MSSQL12.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.Icon 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 Success L'oggetto è stato collegato. Cerchio rosso con croce bianca Error 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 ipertestualeImpossibile trovare il file.Aggiunta
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." <database_name> " database details
Consente di visualizzare i nomi dei file da collegare. Per verificare o modificare il percorso di un file, fare clic sul pulsante Sfoglia (...).Nota
Se un file non esiste, nella colonna Messaggio viene visualizzato "Non trovato". Se non viene trovato un file di log, esiste in un'altra directory o è 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 di 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 ipertestualeImpossibile trovare il file.
Utilizzo di Transact-SQL
Per collegare un database
Connettersi al motore di database di.
Dalla barra Standard fare clic su Nuova query.
Usare l'istruzione CREATE DATABASE con la
FOR ATTACH
chiusura.Copiare e incollare l'esempio seguente nella finestra Query, quindi fare clic su Esegui. Questo esempio collega i file del database AdventureWorks2012 e 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 usare 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 usare questa funzionalità in un nuovo progetto di sviluppo e prevedere interventi di modifica nelle applicazioni in cui è attualmente implementata. È consigliabile usare CREATE DATABASE ... FOR ATTACH.
Completamento: Dopo l'aggiornamento di un database di SQL Server
fter si aggiorna un database usando il metodo attach, il database diventa immediatamente disponibile e viene aggiornato automaticamente. Se il database include 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 Importae un catalogo full-text non è disponibile, gli indici full-text associati vengono ricompilati.
Se il livello di compatibilità di un database utente è 100 o superiore prima dell'aggiornamento, rimane invariato dopo l'aggiornamento. Se il livello di compatibilità è 90 prima dell'aggiornamento, nel database aggiornato il livello di compatibilità è impostato su 100, ovvero il livello di compatibilità supportato più basso in SQL Server 2014. Per altre informazioni, vedere Livello di compatibilità ALTER DATABASE (Transact-SQL).
Vedi anche
CREATE DATABASE (SQL Server Transact-SQL)
Scollegamento di un database