MICROSOFT SQL SERVER: come spostare i file del database
MICROSOFT SQL SERVER: come spostare i file del database

MICROSOFT SQL SERVER: come spostare i file del database

Vediamo in questo articolo - manuale come si fa a spostare i file di un database Microsoft Sql Server da una posizione ad un'altra.

Tutti i test sono stati eseguiti su un database Microsoft Sql Server 2008 e su sistema operativo Windows Server 2003.

 

QUERY PER SAPERE I PERCORSI ATTUALI

Con questa query potete conoscere i percorsi attuali e gli attuali nomi dei file che dovete spostare.


USE master;
GO
SELECT name, physical_name
FROM sys.master_files
WHERE database_id = DB_ID('MIO_DB');
GO

 

Questa query vi da due indicazioni fondamentali: il nome logico ed il nome fisico dei file che vi interessano.

 

QUERY PER CAMBIARE I PERCORSI

Con questa query potete fare il cambio di percorso:


USE master;
GO
ALTER DATABASE MIO_DB
MODIFY FILE (NAME = MIO_DB, FILENAME = N'F:\databases\MIO_DB.mdf');
GO

ALTER DATABASE  MIO_DB
MODIFY FILE (NAME = MIO_DB_log, FILENAME = N'F:\databases\MIO_DB_log.ldf');
GO

 

Il valore del campo NAME deve corrispondere al nome logico che vi ritorna la query di sopra.

 


OPERAZIONI FINALI

Vediamo ora le operazioni finali.
Riavviare l'istanza di Sql Server.
Rieseguire la prima query per verificare che la modifica dei percorsi è stata fatta correttamente.
Spostando i file in un'altra cartella probabilmente al riavvio del server SQL avrete un errore come l'errore 1815 o un errore con codice 5.
In pratica i nuovi file non sono leggibili. Questo perché bisogna settare opportunamente i permessi sulla cartella.
Per prima cosa bisogna scoprire qual'è l'utente windows che segue il servizio del SQL Server.
Per fare questo aprite l'SQL Server Configuration Manager.
Sulla sinistra, nella finestra che si apre, trovate la voce Sql Server Services.
Cliccate su questa voce e sulla destra compariranno i servizi collegate.
Andate sul servizio SQL SERVER e leggete quelle che c'è scritto nella colonna LOG ON AS. In questa colonna c'è il nome dell'utente Windows che esegue il servizio.
Andata sulla nuova cartella contenente i database. Fate click destro, selezionate la voce Sharing & Security, andate sul TAB Security e aggiungete l'utente trovato prima e dategli FULL CONTROL.
Fatto questo riavviate l'istanza di SQL SERVER e tutto dovrebbe funzionare.

 

Buon lavoro!