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
Sql server 2005 ed express insieme
mercoledì 10 gennaio 2007 - 16.44
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 10 gen 2007 - 16:44
Allora il programma cheatto deve ho realizzato deve girare su database sql server express. quindi ecco le mie domande:
1 si può installare sql server express su una macchina dove mi è già installato per esempio sql server 2000 o 2005?
2 se la risp. alla prima domanda è SI tramite codice eseguendo il comand Create database ecc....come faccio a creare il database nell'apposita cartella data che fa riferimento a sql server express? e poi un eventuale restore di un file .bak?
Ciao grazie
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 10 gen 2007 - 16:55
>1 si può installare sql server express su una macchina dove mi
>è già installato per esempio sql server 2000 o 2005?
Certo. Se è già presente una istanza di default dovrai installarlo come named instance.
>2 se la risp. alla prima domanda è SI tramite codice eseguendo
>il comand Create database ecc....come faccio a creare il database
>nell'apposita cartella data che fa riferimento a sql server express?
Non specificarla ed i files .mdf e .ldf verranno automaticamente inseriti nella directory Data dell'istanza alla quale sei connesso
>e poi un eventuale restore di un file .bak?
Idem con patate
>Ciao grazie
Prego.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 10 gen 2007 - 17:11
>>1 si può installare sql server express su una macchina dove mi
>>è già installato per esempio sql server 2000 o 2005?
>Certo. Se è già presente una istanza di default dovrai installarlo
>come named instance.
>
>>2 se la risp. alla prima domanda è SI tramite codice eseguendo
>>il comand Create database ecc....come faccio a creare il database
>>nell'apposita cartella data che fa riferimento a sql server express?
>Non specificarla ed i files .mdf e .ldf verranno automaticamente
>inseriti nella directory Data dell'istanza alla quale sei connesso
>
quindi mi stai dicendo che la prima connessione visto che il db non è creato la faccio sul Master e quindi connettendomi con la stringa:
Data Source=LocalHost\SQLEXPRESS;Initial Catalog=dbsend;Integrated Security=SSPI;
lui andrà a vedere già di default la connessione a sql server express e quindi qualsiasi operazione di creazione backup e restore la farà sulla cartella data giusta.
Giusto?
ps Lorenzo ho un thread importante postato prima senza risposta puoi dargli un'occhiata? te ne sarei infinitamente grato.
ecco il link:
http://www.dotnethell.it/forum/messages.aspx?ThreadID=12880
>
>>e poi un eventuale restore di un file .bak?
>Idem con patate
>
>>Ciao grazie
>Prego.
>
>Ciao!
>--
>Lorenzo Benaglia
>Microsoft MVP - SQL Server
>
http://blogs.dotnethell.it/lorenzo/
>
http://italy.mvps.org
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 10 gen 2007 - 17:26
>quindi mi stai dicendo che la prima connessione visto che il
>db non è creato la faccio sul Master e quindi connettendomi con
>la stringa:
>Data Source=LocalHost\SQLEXPRESS;Initial Catalog=dbsend;Integrated
>Security=SSPI;
Questa connection string non ti connette al master
>lui andrà a vedere già di default la connessione a sql server
>express e quindi qualsiasi operazione di creazione
Si
>backup e restore
Dipende, di default utilizza il path memorizzato nel backup set, quindi quello del computer che l'ha generato.
Se tale path in produzione è diverso dovrai ricorrere alla clausola WITH MOVE ma a questo punto ti serve conoscere il nuovo path.
Come? Su 2000 questa info era memorizzata nel registry, in 2005 non saprei ma penso che le cose non siano cambiate
Vediamo... eh si, eccola lì:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Setup\SQLDataRoot
Aggiungici un bel "\Data" ed ecco la tua directory Data.
Attenzione che MSSQL.1 si riferisce alla prima istanza SQL Server 2005, altre istanze e servizi (Analysis Services, Reporting Services, ecc.) avranno un valore MSSQL.x.
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 10 gen 2007 - 21:14
>>quindi mi stai dicendo che la prima connessione visto che il
>>db non è creato la faccio sul Master e quindi connettendomi con
>>la stringa:
>>Data Source=LocalHost\SQLEXPRESS;Initial Catalog=dbsend;Integrated
>>Security=SSPI;
>Questa connection string non ti connette al master
>
>>lui andrà a vedere già di default la connessione a sql server
>>express e quindi qualsiasi operazione di creazione
>Si
>
>>backup e restore
>Dipende, di default utilizza il path memorizzato nel backup set,
>quindi quello del computer che l'ha generato.
>Se tale path in produzione è diverso dovrai ricorrere alla clausola
>WITH MOVE ma a questo punto ti serve conoscere il nuovo path.
>Come? Su 2000 questa info era memorizzata nel registry, in 2005
>non saprei ma penso che le cose non siano cambiate
>Vediamo... eh si, eccola lì:
>
>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.1\Setup\SQLDataRoot
ok ma se ci sono + di una installazione come per esempio nel mio pc io trovo sotto la directory Microsoft SQL Server\ + di una cartella MSSQL.1 io a dirti la verità ne ho 3, e quindi come potrei sapere qual'è quella di riferimento a sql server express.
Cmq hai un esempio di come potrei fare il restore con la clausola With Move, perchè ora ti spiego e mi risposi già su un altro post.
io ho il database con i dati dentro e devo installarlo a tutti i clienti. Quindi come tu mi dissi tempo fa procedo in questo modo:
installa sql server express
con la mia applicazione devo rilevare se il database esiste o no(non so ancora farlo)
se esiste ok altrimenti si connette al db master e procedo con la creazione del database
una volta creata la cartella copio su c dal supporto magnetico il file .bak e devo farci il restore.
qui nasce il problema che ogni macchina è diversa dalla mia e che anche le cartelle MSSQ1.x possono essere + di una se ci fosse per esempio installato anche sql server 2000
quindi ecco realmente il mio problema e come lo risolveresti tu?
cmq ecco la stringa che utilizzerei per il restore
RESTORE DATABASE [dbsend] FROM DISK = N'C:\dbsend.bak' WITH FILE = 1, KEEP_REPLICATION, NOUNLOAD, REPLACE, STATS = 10
GO
ps scusa se te lo richiedo potresti dare uno sguardo a questo post?
http://www.dotnethell.it/forum/messages.aspx?ThreadID=12880
Ciao
>
>Aggiungici un bel "\Data" ed ecco la tua directory Data.
>
>Attenzione che MSSQL.1 si riferisce alla prima istanza SQL Server
>2005, altre istanze e servizi (Analysis Services, Reporting Services,
>ecc.) avranno un valore MSSQL.x.
>
>Ciao!
>--
>Lorenzo Benaglia
>Microsoft MVP - SQL Server
>
http://blogs.dotnethell.it/lorenzo/
>
http://italy.mvps.org
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
lbenaglia
Profilo
| Guru
5.625
messaggi | Data Invio:
mer 10 gen 2007 - 21:32
>installa sql server express
>con la mia applicazione devo rilevare se il database esiste o
>no(non so ancora farlo)
>se esiste ok altrimenti si connette al db master e procedo con
>la creazione del database
>una volta creata la cartella copio su c dal supporto magnetico
>il file .bak e devo farci il restore.
Non ti serve a niente creare un db vuoto se poi lo sovrascrivi con il restore di un backup!
Fai il restore e chiuso, questa operazione provvederà ANCHE a crearti il db (ovviamente).
>quindi ecco realmente il mio problema e come lo risolveresti
>tu?
Perché vuoi installare una istanza a tutti i costi? Se il cliente ne ha già una perché installarne un'altra?
Ciao!
--
Lorenzo Benaglia
Microsoft MVP - SQL Server
http://blogs.dotnethell.it/lorenzo/
http://italy.mvps.org
trinity
Profilo
| Guru
3.465
messaggi | Data Invio:
mer 10 gen 2007 - 21:37
perchè io quando creao il setup in visual studio 2005 stabilisco quali sono i prerequisiti di installazione tra cui vedere se c'è in stallato sql server express se non c'è si installa ovviamente se sulla macchina vi è sql server 2000 o 2005 e msde penso cmq che per il setup sql server express nn è installato e lo installa, giusto?
ma la stringa di resto che ti ho postato va bene nel caso in cui ci siano nella directory Microsoft Sql Server + di una cartella MSSQL1.x?
cmq ho provato a fare con sql management il restor del file .bak da c ed il database non era creato, utilizzando il tool mi diceva di indicare un db di destinazione e se non ho quello mio devo indicarci il Master? ed in più non mi funzionava, in altre parole ho dovuto creare il database che mi serviva e poi fare il restore
Ciao
Cirillo Fabio
www.wondernet.biz
fabio@wondernet.biz
http://blogs.dotnethell.it/fabiocirillo/
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 !