Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Fr risiedere i dati di un DB SQL su un disco esterno
mercoledì 20 agosto 2008 - 12.00
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
paovanm
Profilo
| Junior Member
100
messaggi | Data Invio:
mer 20 ago 2008 - 12:00
Ciao a tutti,
E' possibile far risiedere i dati (*.mdf e *.ldf) di un DB SQL su un disco esterno invece che nel folder 'C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Data' del PC su cui è installato SQL server?
Grazie in anticipo.
Michela
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 20 ago 2008 - 13:32
>E' possibile far risiedere i dati (*.mdf e *.ldf) di un DB SQL
>su un disco esterno invece che nel folder 'C:\Programmi\Microsoft
>SQL Server\MSSQL.1\MSSQL\Data' del PC su cui è installato SQL
>server?
Ciao Michela,
il Master Data File ed il Transaction Log possono risiedere su qualsiasi volume visibile al sistema operativo.
Per spostarli fisicamente puoi procedere al detach del db (sp_detach_db), alla copia sul nuovo volume ed eseguirne l'attach (CREATE DATABASE...FOR ATTACH) oppure eseguire un full backup (BACKUP DATABASE) seguito dal relativo restore avendo cura di specificare la clausola WITH MOVE per spostare fisicamente i files e REPLACE per sostuire il db corrente con il backup.
Attenzione: quello che tu chiami "disco esterno" deve essere SEMPRE visibile al sistema fintanto che il servizio MSSQLServer è avviato se non vuoi che il db venga corrotto, quindi evita accuratamente dischi esterni o chiavette USB.
>Grazie in anticipo.
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
paovanm
Profilo
| Junior Member
100
messaggi | Data Invio:
mer 20 ago 2008 - 13:58
Per "Sempre visibile al sistema operativo" intendi che la periferica (su cui vorrei far risiedere il DB) sia sempre connessa al pc base che ha installato SQL server?
Il PC "server" (a cui miriferivo prima) che ha installato SQL server è un pc connesso ad una rete aziendale (che da spesso svariati problemi), e quindi per aggiungere un livello di protezione al database si pensava appunto allo spostamento dei dati su una periferica esterna. Tu quindi me lo sconsiglieresti...
Cosa intendi per database corrotto?
Grazie ancora
Michela
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 20 ago 2008 - 14:06
>Il PC "server" (a cui miriferivo prima) che ha installato SQL
>server è un pc connesso ad una rete aziendale (che da spesso
>svariati problemi), e quindi per aggiungere un livello di protezione
>al database si pensava appunto allo spostamento dei dati su una
>periferica esterna. Tu quindi me lo sconsiglieresti...
Che genere di problemi?
Se con "periferica esterna" intendi un volume iSCSI montato su un NAS oppure una SAN in fibra, vai tranquilla, se intendi un "giocattolo USB" allora te lo sconsiglio vivamente.
>Cosa intendi per database corrotto?
Con database corrotto intendo un db con errori fisici e/o logici che possono avere diverse cause come guasti HW al controller o al sottosistema dischi oppure errori logici determinati ad esempio dall'aver sfilato la chiavetta USB mentre il db era ancora aperto
Se gli errori coinvolgono indici NCL a volte è sufficiente ricostruirli per risolvere l'errore, ma se coinvolgono i dati (o indici CL) molto spesso occorre ripristinare il backup più recente, con la conseguente perdita delle transazioni successive al backup.
>Grazie ancora
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
paovanm
Profilo
| Junior Member
100
messaggi | Data Invio:
mer 26 nov 2008 - 14:21
Ciao,
non sono ancora riuscito a spostare il DB su un disco esterno in rete, io utilizzo il seguente codice dopo aver effettuato il BK del DB:
restore database VM_dati_banchi_Development FROM DISK= 'C:\Programmi\Microsoft SQL Server\MSSQL.1\MSSQL\Backup\VM_dati_banchi_Development.bak'
with
move 'VM_dati_banchi_Development' TO '\\192.168.168.168\database\VM_dati_banchi_Development.mdf',
move 'VM_dati_banchi_Development_log' To '\\192.168.168.168\database\VM_dati_banchi_Development_log.ldf'
è corretto? è possibile farlo?
Grazie
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 26 nov 2008 - 14:38
>restore database VM_dati_banchi_Development FROM DISK= 'C:\Programmi\Microsoft
>SQL Server\MSSQL.1\MSSQL\Backup\VM_dati_banchi_Development.bak'
>with
>move 'VM_dati_banchi_Development' TO '\\192.168.168.168\database\VM_dati_banchi_Development.mdf',
>move 'VM_dati_banchi_Development_log' To '\\192.168.168.168\database\VM_dati_banchi_Development_log.ldf'
>
>è corretto? è possibile farlo?
No, a meno di specificare un apposito trace flag ma dato che la soluzione non è supportata da Microsoft evito di segnalartela
I db SQL Server devono risiedere su una risorsa locale all'istanza, eventualmente un volume iSCSI o Fibre Channel.
>Grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !