Spostare database (sql server 2005 express)

mercoledì 04 ottobre 2006 - 09.58

Amodio Profilo | Expert

salve a tutti
un mio collega mi ha passato un database creato con sql server 2005
praticamente mi ha passato 2 files (uno con estnezione log e l0altro con estenzione .mdf)

ora dal mio management studio , non c'è nessun menu che dice "importa database"
qindi ne ho creato uno con il suo nome ed ho cercato di fare un ripristina database da file, a parte che non mi seleziona il file che mi ha passato il mio amico (lo ho salvato sul desktop) e se immetto il percorso completo nella textbox mi da errore:
"il gruppo di supporti della periferica "c:\.......mdf " non è strutturato correttamente
vabbeh, ho provato a copiarlo ed incollarlo nella directory DATA, ma niente è protetto in quanto i lfile è in uso!!!!!

ma insomma come faccio ad importarmi sto benedetto database?

lbenaglia Profilo | Guru

>ma insomma come faccio ad importarmi sto benedetto database?
Cerca sui Books Online il comando CREATE DATABASE...FOR ATTACH.
Ovviamente l'operazione andrà a buon fine SOLO ed ESCLUSIVAMENTE se i files mdf e ldf che ti hanno passato sono stati copiati:

- A database scollegato (ad esempio con la stored procedure sp_detachdb)
- A database chiuso (opzione AUTO CLOSE e nessun utente collegato)
- A servizio MSSQLServer stoppato.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org

Amodio Profilo | Expert

ok grazie funziona
mi ha creato il database, ma mi ha dato prima questo errore:
"Errore di attivazione del file. Il nome di file fisico "D:\inetpub\wwwroot\Rem\App_Data\aspnetdb_log.ldf" potrebbe non essere corretto.
È stato creato un nuovo file di log 'C:\db\ASPNETDB_log.LDF'."

nel mio pc non ho nessuna periferica che fa capo a "D:\"
pero' ho fatto aggiorna e il database me lo ha creato!

p.s.
successivamente come posso fare per aggiornarlo con un'altro piu' recente? questo che mi hai detto è per crearlo!
grazie

lbenaglia Profilo | Guru

>ok grazie funziona
>mi ha creato il database, ma mi ha dato prima questo errore:
>"Errore di attivazione del file. Il nome di file fisico "D:\inetpub\wwwroot\Rem\App_Data\aspnetdb_log.ldf"
>potrebbe non essere corretto.
>È stato creato un nuovo file di log 'C:\db\ASPNETDB_log.LDF'."
Questo significa che i files non sono stati copiati in base ai 3 punti che ti ho segnalato nel precedente post, quindi rischi di avere un database in uno stato inconsistente dato che in fase di recovery eventuali transazioni incomplete non saranno stare annullate.

>p.s.
>successivamente come posso fare per aggiornarlo con un'altro
>piu' recente? questo che mi hai detto è per crearlo!
Il metodo migliore consiste nell'effettuare un full backup mediante il comando T-SQL BACKUP DATABASE ed effettuarne il restore sulla tua istanza con RESTORE DATABASE (specificando la clausola WITH MOVE dato che mi è parso di capire che in origine i file risiedono su una unità logica differente rispetto alla tua).

>grazie
Prego.

Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
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 !
Copyright © dotNetHell.it 2002-2024
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5