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
Creare un database con dei file .mdf e .ldf gia esistenti?
martedì 23 novembre 2004 - 11.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
NikCH
Profilo
| Newbie
36
messaggi | Data Invio:
mar 23 nov 2004 - 11:44
Come si fa a creare un database con dei file .mdf e .ldf gia esistenti?
Grazie mille Nik
GvnnRules
Profilo
| Senior Member
436
messaggi | Data Invio:
mar 23 nov 2004 - 12:35
Devi usare la funzione sp_attach_db, ecco un esempio:
EXECUTE sp_attach_db @dbname = 'mioDatabase',
@filename1 = 'c:\test_db.mdf',
@filename2 = 'c:\test_db_log.ldf'
Ahh devi eseguirla sul database Master :-P
Ciaoz
Gvnn
NikCH
Profilo
| Newbie
36
messaggi | Data Invio:
mar 23 nov 2004 - 14:26
grazie mille,
ma in query analyzer facendo partire questa funzione mi esce scritto: @filename1 i s not a parameter for procedure sp_attach_db.
GvnnRules
Profilo
| Senior Member
436
messaggi | Data Invio:
mar 23 nov 2004 - 15:56
Strano, questo è l'esempio della documentazione in linea ...
EXEC sp_attach_db @dbname = N'pubs',
@filename1 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs.mdf',
@filename2 = N'c:\Program Files\Microsoft SQL Server\MSSQL\Data\pubs_log.ldf'
Ciaoz
Gvnn
NikCH
Profilo
| Newbie
36
messaggi | Data Invio:
mer 24 nov 2004 - 09:07
Finalmente son riuscito a capire il problema.
Le virgole vanno messe prima del filename
Invece di cosi:
EXECUTE sp_attach_db @dbname = 'mioDatabase',
@filename1 = 'c:\test_db.mdf',
@filename2 = 'c:\test_db_log.ldf'
Le virgole vanno messe cosi: (che pignoleria)
EXECUTE sp_attach_db @dbname = 'mioDatabase'
,@filename1 = 'c:\test_db.mdf'
,@filename2 = 'c:\test_db_log.ldf'
NikCH
Profilo
| Newbie
36
messaggi | Data Invio:
mer 24 nov 2004 - 09:11
Grazie mille per le risposte. e per fortuna che esiste la guida in linea.
bico
Profilo
| Newbie
1
messaggi | Data Invio:
gio 25 ago 2005 - 10:57
Scusami io ho lo stesso problema e vorrei delle delucidazioni essendo alle prime esperienze.
Se ho ben capito si tratta di realizzare una nuova stored procedure in master se è così ci ho provato ma non riesco a completarla perchè mi chiede il proprietario ed il nome che io non riesco ad assegnarci.
Cortesemente potresi essere più chiaro.
Grazie.
Etruria
Profilo
| Newbie
7
messaggi | Data Invio:
lun 11 dic 2006 - 16:25
SP_ATTACH_DB
hhhhh .. a me pare strano se lancio la procedura dal QueryAnalyzer con il seguente comando Funziona!
use master Exec sp_attach_db 'pubs','c:\Programmi\Microsoft SQL Server\MSSQL\data\pubs.mdf',
'c:\Programmi\Microsoft SQL Server\MSSQL\data\pubs_log.ldf'
.. se invece creo un Cmd in VB con esattamente uguale,
e lo lancio con NonExecuteQuery
Dim CmdtxtAttacca As String = "USE MASTER EXEC SP_ATTACH_DB '" & PathDataBase & "', '" & ToData & "', '" & ToLog & "'"
Dim CmdAttacca As New SqlCommand(CmdtxtAttacca, sqlCnn)
Try
sqlCnn.Open()
CmdAttacca.ExecuteNonQuery() 'Attacca la Bd ai file mdf e log
....
NOn va! e mi da Execption: Errore Generale di Rete!
Idee?
Chiara
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 11 dic 2006 - 16:58
>use master Exec sp_attach_db 'pubs','c:\Programmi\Microsoft SQL
>Server\MSSQL\data\pubs.mdf',
>'c:\Programmi\Microsoft SQL Server\MSSQL\data\pubs_log.ldf'
>
>.. se invece creo un Cmd in VB con esattamente uguale,
>e lo lancio con NonExecuteQuery
>
>
>Dim CmdtxtAttacca As String = "USE MASTER EXEC SP_ATTACH_DB '"
>& PathDataBase & "', '" & ToData & "', '" & ToLog & "'"
Ciao Chiara,
Non vedo il nome del db (pubs nell'esempio che hai eseguito da QA)....
Ad ogni modo l'attach di un db è una operazione amministrativa CHE NON DEVE essere eseguita applicativamente.
Se provi a spiegarci le tue esigenze vedremo di capirci qualcosa di più.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Etruria
Profilo
| Newbie
7
messaggi | Data Invio:
lun 18 dic 2006 - 09:06
Grazie,
scusate il ritardo!
le mie esigenze richiedono un bachup ed un ripristina .. almeno io non vedo laternative
(stacca-attaca lo esculo perchè mi spaventa! ;)))
Ho varie Database su un server, i miei colleghi devono partire quotidianamente/settimanalmente con i portatili e portandosi via
alcuni database per poi riportarli aggiornati!
Guardacaso Server ho DB sul disco D.. mentre nei portatile installati su C:
la mia idea è stata creare Backup sul server trasportare la copia del backp sul Portatile e fare ripristino backup sul portatile imponendo la destinazione che risulta diversa!
Sarebbe bello riuscissi a permetterlo anche dal programma VB! Tasto TRAVASO ;),
cosìcchè ognuno esegue il suo caricaPc/scaricaPc!
quindi Creo prima il comando:
"BACKUP DATABASE " & PathDataBase & " TO " & NomePerifericaBkp
poi copio il file sulla cartella (resa condivisa)
'C:\Programmi\Microsoft SQL Server\MSSQL\Backup
poi 2° fase dove tento ripristino utilizzando un Db Alternativo Global dove ho altri dati
"USE Global " &
"RESTORE DATABASE " & PathDataBasedaRipristinare & _
" FROM DISK = '" & NomeFisicoFileBkp & "' " & _
WITH REPLACE" & _
", MOVE '" & FileDataBkp & "' TO '" & ToData & "'" &
", MOVE '" & FileLogBkp & "' TO '" & ToLog & "'"
'USE Global
'RESTORE DATABASE TributiProva
'FROM disk = '\\PCportatile\SQLBackUp\BkpTravasoDaServerProva.bkp'
'WITH REPLACE,
'MOVE 'DBProva_Data' TO 'C:\Programmi\Microsoft SQL Server\MSSQL\Data\DBProva_Data.MDF',
'MOVE 'DBProva_Log' TO 'C:\Programmi\Microsoft SQL Server\MSSQL\Data\DBProva_Log.LDF'
Connesso come Server=(local); DataBase=Global;
a me pareva giusto.. ma spesso mi da errore.. a volte va!
cambiare Global con Master?
A volte non ha funzionato ed ha lasciato il DB "Sospetto"!
Meglio passare a Stacca Attacca.. permettendo di staccare il db sul server?
Chiara
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
lun 18 dic 2006 - 09:47
>Ho varie Database su un server, i miei colleghi devono partire
>quotidianamente/settimanalmente con i portatili e portandosi
>via
>alcuni database per poi riportarli aggiornati!
Ciao Chiara,
esiste la possibilità in cui 2 o più colleghi utilizzano gli stessi database?
In questo caso come pensi di sincronizzare i database sul server?
Sia utilizzando il detach/attach o backup/restore andrai a sovrascrivere di volta in volta il database con l'ultima versione, perdendo i dati precedenti.
In un caso come il tuo è ideale implementare uno scenario di replica tramite il quale i tuoi colleghi andranno a sincronizzare i loro db locali con quello centrale.
SQL Server offre diverse tipologie di replica, ognuna con i suoi pro e contro. Sui Books Online troverai ampia documentazione sull'argomento.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
Etruria
Profilo
| Newbie
7
messaggi | Data Invio:
lun 18 dic 2006 - 09:52
Grazie!
escludo (non a priori, ma per ora) la concorrenza,
ogni collega lavora solo su un DataBase!
Comunque mi informo, sono curiosa di veder come salta fuori dalla replica
!
magari sviluppi nuovi!
Grazie sempre molto utile!
Chiara
Chiara
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 !