Newsgroup: it.comp.lang.visual-basic
Titolo: istallazione file SQL SERVER

vorrei passare un file sqlserver e che gestisco tramite 
visualbasic.net
 ad
un mio amico che ha pure 
VB.NET
.
come posso fare, qual'è la procedura per istallare il file sul suo computer
(MSDE)?

Fabio Sica ha scritto:

Credo che tu debba "attaccarlo" al master.
Vedi la sp_attach_db

 ha scritto nel messaggio

Mi sento un po' in imbarazzo a dirtelo, ma temo che tu stia sopravvalutando
la mia conoscenza di VB

 la mia conoscenza di VB
Se ho ben capito, VB c'entra poco.
Un database SQL Server (o MSDE) non può essere preso e spostato su un'altra
macchina (come invece si può fare con Access), ma deve essere anche
attaccato/agganciato al sistema, con la sp_attach_db, appunto.
Oppure potresti creare sulla macchina ricevente l'identico db (non importa
la struttura, ma solo i nomi e la posizione) e poi sostituirlo con quello
che devi "duplicare".
Se non comprendi queste cose, è molto probabile che quello che vuoi fare sia
altro. Prova a spiegarti meglio.


Come faccio ad agganciare il file con  sp_attach_db? A voi forse sembrerà
una cosa banale, ma non lo è per me.
comunque ti ringrazio per la pazienza..

 la mia conoscenza di VB
Salve Fabio,
faccio seguito a quanto anche successivamente e correttamente ha riportato
Lupo...... ed in effetti VB c'entra molto marginalmente o quasi niente....
SqlServer/Msde registra nel database di sistema (master) tutti i database
che ha in gestione... al fine di poter vedere/gestire un database, composto
almeno da due file (1 file di Database, solitamente con estensione .Mdf per
il file primario, ed 1 file di Log delle transazioni, solitamente con
estensione .Ldf), il database deve essere referenziato nelle tabelle di
sistema... cio' puo' avvenire con una creazione in loco, successivamente ad
una operazione di restore di un archivio creato da SqlServer tamite backup,
ovvero in seguito ad una operazione di "collegamento" (attach)...
per poter spostare fisicamente un database da una posizione fisica ad
un'altra (anche su macchine e/o server diversi), e' necessario effettuare un
backup del database, copiare il file di archivio su un altro server,
effettuarne il restore modificando la posizione fisica dei file (.Mdf e
.Ldf) avendo cura di rispettare le condizioni del filesystem della macchina
di destinazione, in quanto il backup memorizza tali informazioni al suo
interno e propone tali posizioni fisiche al momento del restore;
diversamente, puoi "scollegare" (detach) il database, copiare i file fisici
componenti lo stesso (.Mdf, .Ldf, etc) sulla macchina di destinazione nella
posizione desiderata, ed effetuare la registrazione del db tramite
"collegamento" (attach)..
a tal fine, a partire dalla versione 7 di SqlServer (sulle versioni
precedenti l'unico sistema era il restore, in quanto i database occupavano
non gia' una posizione fisica sul filesystem del sistema operativo, ma una
posizione fisica in uno spazio predefinito in una specie di partizione
apposita di SqlServer), sono utilizzabili le stored procedures di  sistema
"sp_detach_db" per il distacco e "sp_attach_db" per il ricollegamento; tali
stored procedures sono chiaramente richiamabile sia da oSql.exe che da Query
Analizer, come anche da qualsiasi altro strumento in grado di connettersi a
SqlServer ed eseguire comandi, avendo cura di loggarsi come sysadmin ovvero
dbcreator, referenziando per l'esecuzione delle stored procedures il
database "master".
e' fondamentale avere cura di scollegare (sp_detach_db) il database prima di
effettuarne la copia, anche se ho visto che spesso tali database funzionano
ugualmente anche se copiati dopo solo avere interrotto il servizio di
SqlServer... raccomando comunque di effettuarne il detach...
lo spostamento di database con entrambi i sistemi, effettuato su server
differenti da quello di origine, puo' comportare problemi di collation se il
database ha un sort order diverso da quello del server di destinazione,
questo specialmente su SqlServer7, ed anche problemi di sincronizzazione
degli utenti del database con le login presenti sul nuovo sistema, ma questa
e' tutta un'altra storia...
con Sql7 il primo problema e' sicuramente non risolvibile e inficia la
possibilita' stessa dell'essecuzione, l'altro problema e' invece
risolvibile..
per ulteriori informazioni, ad ogniproposito, puoi comunque vedere i Books
On Line di SqlServer (penso siano disponibile anche con VS.Net, o comunque
reperibili gratuitamente presso
http://www.microsoft.com/sql/techinfo/productdoc/2000/default.asp
 )
puoi comunque approfittare (mi faccio pubblicita') dei miei tools gratuiti
per SqlServer7 e SqlServer2000, DbaMgr e DbaMgr2k, che implementano tali
funzionalita', reperibili all'indirizzo sotto la mia sign...
chiaramente se ho capito la domanda.....
saluti
Andrea Montanari
montanar...@virgilio.it
http://www.asql.biz/DbaMgr.shtm
DbaMgr2k ver 0.2.0  -  DbaMgr ver 0.48.0
(my vb6+sql-dmo little try to provide MS MSDE 1.0 and MSDE 2000 a visual
interface)
--------- remove DMO to reply

 --------- remove DMO to reply
ti ringrazio per essere stato così dettagliato.
Mi togli solo una curiosità?
Io pensavo che la procedura che richiedevo fosse quasi scontata e invece non
lo è.
Basti pensare che sia tu che Lupo non siete nemmeno sicuri di aver capito
(anche se dalle vostre risposte sembrerebbe di si).
Mi chiedo: quando uno realizza un programma semplice che si interfaccia con
un database SQL server e vuole trasferirlo su altro computer (per esempio
per venderlo) non ha la possibilità di farlo in maniera semplice? (Se parte
del database deve essere preimpostato)

 (anche se dalle vostre risposte sembrerebbe di si).
Credo di poter dire che abbiamo capito.
Sicuramente sono dettate da problemi di sicurezza, protezione e, comunque,
bla-bla-bla, tecnicamente giustificabili. In proposito, Andrea ne sa mille
volte più di me.
Non entro (non più di tanto, almeno) nel merito delle scelte di MS, ma ho la
sensazione che si potesse fare meglio senza rinunciare assolutamente a
niente.
Bastava pensare, una volta tanto, alla praticità dell'utenza.
Ma questo, IMHO, per M$ è assolutamente marginale :-(

 Ma questo, IMHO, per M$ è assolutamente marginale :-(
<polemica =OFF>
Lupo,
non desidero entrare in polemica con te per svariati motivi, perche' mi
sembri una persona
equilibrata, ma soprattutto perche' non ce ne viene niente in tasca, a
nessuno dei due....
Piu' volte (o almeno una che ricordo sicuramente) hai espresso questo
perplessita'
relativamente alla manutenzione - gestione di SqlServer....
Ora nessuno di noi e' in grado di influenzare scelte da parte di MS (per
aver una volta scritto
M$ mi sono preso una spazzolata da Gert E.R. Drapers...) per cui tutto
quanto resta filosofia di bassa lega, che puo' scatenare guerre di
religione..., comunque, anche se non conosco Oracle, Sybase, Firebird (tra
gli altri), non sono molto sicuro che una relativa installazione e
calibrazione possa avvenire , diciamo, nel giro di 10/15 minuti con pochi
click di mouse e basta.... addirittura via script di installazione remota
compresa in un setup piu' completo... sul fatto che SqlServer NON sia capace
di auto-manutenersi, penso invece lo faccia in maniera piu' automatica dei
relativi colleghi... non ricordo se a proposito citavi Access, ma in tal
caso ho conoscenza di svariati mdb corrotti irreparabilmente, specialmente
in ambiente di rete..
resta il fatto da te citato di politiche di sicurezza e protezione, e
concorderai con me che, mediamente, i nostri setup, fatti con Wise, Inno,
PDW e chi piu' ne ha piu' ne metta, pretendono di installare 200 dll ole
automation, scrivere nel registry, installare un db engine, i database
correlati, cambiare il fyle system da fat in ntfs, ricompilare il kernel
della macchina unix accanto alla nostra e non collegata in rete, sconfiggere
la fame nel mondo, non dipendere piu' dal petrolio....
non che sia daccordo con molte scelte di MS, ma in questo caso, a
prescindere dai package .msm di Msde che non funzionano perche' bacati, sono
relativamente in pace...
tornando a Fabio, consiglio di scriversi una utility che, prima del 1
collegamento dell'applicazione, legga dei file di DDL e ne esegua il
contenuto generando i db dei quali ha bisogno, faccia un bulk insert da
file, esegua un BCO ovvero esegua degli script Insert Into per precaricare
delle tabelle "di sistema", legga ed esegua file di creazione login/utenti e
concessione privilegi come desiderato....
</polemica>
chiaramente....... my 0.02 euro (restiamo nazionali)


 concessione privilegi come desiderato....
Ecco, Andrea (sempre senza polemica _con te_), tutto quanto sopra ti sembra
semplice? Io, che un po' ci ho pastrocchiato (già, proprio così, non è falsa
modestia la mia, ma, aggiungo, per tante ore) non ci ho capito praticamente
nulla e non certo perchè tu non abbia detto tutto. E' la verità. Nella mia
immensa e più che ammessa ignoranza dico: Non si poteva prevedere una
chiamata da Enterprise Manager con Caption "Hai un database? Vuoi
collegarlo? Prego..."? C'è? Non l'ho vista, ma non conta, perchè MSDE non ha
Enterprise Manager e non ha uno straccio di interfaccia grafica. Perchè,
spiegami, deve essere possibile che un Andrea si scriva un DbaMgr e lo
regali al mondo, perchè occorre smazzarsi per fare quello che M$ doveva fare
o per interpretare i suoi sibillini messaggi? Perchè M$ deve inalberarsi per
quel dollaro? E' l'unica (sì, l'unica!) cosa che gli interessa, no?!

 quel dollaro? E' l'unica (sì, l'unica!) cosa che gli interessa, no?!
il messaggio con il quale MSDE e' stato rilasciato era ed e' molto
chiaro.... fateci delle prove, gratuitamente... ripeto... gratuitamente....
poi, quando avete capito che vi piace, allora comperate SqlServer, e
pagate..... non hanno pero' fatto i conti con il nostro braccino (che e' a
ragione sempre molto corto)... cio' che e' gratis va bene anche per molti
piu' che 5 utenti (o connessioni o collegamenti o
come_cavolo_si_chiama_quel__carico_di_workload)... qualche strumentino lo
troviamo, diversamente ce lo facciamo...
tutti noi lavoriamo (molto per la gloria e la passione) ma anche per il vile
denaro (vile fino ad un certo punto..)
pacchetto base =gratis
pacchetto con ammenicoli = $$$$$
Oracle e compagnia bella non danno neanche quello... chiedono direttamente
$$$ anzi $$$$$$$$$$$ rispetto a MS
ripeto, MS non mi ha mai regalato niente (a parte molti buchi), aggiungo
anche pero' "chi e' senza peccato (bug) scagli il primo mouse", e bene  male
mi da anche da vivere, anche se questa non e' la mia occupazione prevalente
scusate se mancano un po' di "o" qua' e la', ma devo cambiare tastiera
auguroni a tutti ed un osso tenero e dolce sia a Java che a Lupo insieme ad
una piada (chiaramente NO GLOBAL ma fatta in casa) con il prosciutto
auguri_mode= on


$$$ anzi $$$$$$$$$$$ rispetto a MS
Per lo sviluppo, Oracle e' _gratis_, anche in versione Enterprise, e
gira su diverse piattaforme, sicche' puoi avere il tuo ambiente di
sviluppo a costo _zero_ di licenze con Linux + Oracle + Sun Studio +
Apache + Tomcat :-)
-- 
ciao, hal

 una piada (chiaramente NO GLOBAL ma fatta in casa) con il prosciutto
I canidi gradiscono e ti slinguaccerebbero con grande riconoscenza al
prossimo meeting. ;-)
Buon anno, Andrea.

ho ripiegatu access.
non č che c'č qualche fregatura anche lě?
saluti

 non č che c'č qualche fregatura anche lě?
salve Fabio,
ogni gioco ha le sue regole..... e c'e' sempre qualcuno che bara...
saluti



ciao Andrea,
ho scaricato il tuo programma credo può essere lo strumento giusto per
cominciare a capire qualcosa su SQL SERVER, ma ci vorrà comunque tempo
perchè come avrai capito ancora non sono pronto per certi software.
Spero che se avrò domande da farti sul suo funzionamento tu sia disponibile
a darmi qualche chiarimento.
Per il momento mi butto su access almeno lo padroneggio meglio e faccio
qualcosa.
ciao e buon anno

 a darmi qualche chiarimento.
salve Fabio,
se in grado di rispondere, sono sempre disponibile, sia in privato che sul
NG...
AUGURI....
