MasterDrive.it   
Vai indietro   MasterDrive.it > Generale > Database



Rispondi
 
Strumenti della discussione Modalità di visualizzazione
Vecchio 06-02-2010, 16:36   #1 (permalink)
Nuovo della community

 
4 Messaggi

Fiundin novizio della comunita' ( + 10 )
[MsSQL]DB to T-SQL

sto creando un programma di contabilità ho creato un bel db in MSSql adesso per la distribuzione avrei necessità di creare una Procedura in T-SQL per installare sul DB del cliente( caso esistesse gia.... ) le tabelle, le procedure gli schemi le regole e quant'altro! qualcuno conosce un tool che estrae dal DB tutto questo o come unica soluzione e scrivere un'enorme procedura a mano?

Fiundin non è in linea   Bookmark and Share Rispondi quotando
Vecchio 06-02-2010, 16:43   #2 (permalink)
Very Important Person

 L'avatar di Cteniza

 
3,361 Messaggi

Cteniza e' un tipo da prendere in considerazione ( + 650 )Cteniza e' un tipo da prendere in considerazione ( + 650 )Cteniza e' un tipo da prendere in considerazione ( + 650 )Cteniza e' un tipo da prendere in considerazione ( + 650 )Cteniza e' un tipo da prendere in considerazione ( + 650 )Cteniza e' un tipo da prendere in considerazione ( + 650 )Cteniza e' un tipo da prendere in considerazione ( + 650 )
Hai diverse possibilità, le più comuni
1) prepari un database vuoto che zippi e aggiungi alla tua distribuzione
2) vai nel database con sql manager click con il pulsante destro nel database, genera script, ti è creato uno script da eseguire da prompt dei comandi sql o da sql manager.
__________________
----------------------------------------------------------
Se avete delle domande fatele prima al forum
Se ti è piaciuta una risposta, ovviamente se la risposta è la mia è meglio Commenta L'intervento
Il mio blog su Masterdrive.it
Il mio blog su Visual-Basic.it
Cteniza non è in linea   Bookmark and Share Rispondi quotando
Vecchio 06-02-2010, 18:19   #3 (permalink)
Nuovo della community

 
4 Messaggi

Fiundin novizio della comunita' ( + 10 )
NI soluzioni sono valide ma non applicabili a tutti i casi, supponiamo che non abbia diritti amministrativi sul server, percui mi viene fornito un db vuoto creato con t-sql
codice:
CREATE DATABASE [MSSql33946] ON  PRIMARY 
( NAME = N'MSSql33946', 
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQE08\MSSQL\DATA\MSSql33946.mdf' , 
SIZE = 102400KB , 
MAXSIZE = UNLIMITED, 
FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'MSSql33946_log', 
FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQE08\MSSQL\DATA\MSSql33946_log.ldf' , 
SIZE = 1024KB , 
MAXSIZE = 2048GB , 
FILEGROWTH = 10%)
GO
a questo devo caricare tutte le mie tabelle...
dato che il db è stato costruito nel tempo, non ho creato contestualmente una procedura di creazione ma un db vuoto da collegare al motore.
Ho bisogno, perciò, di un tools che estragga tutto dal db e lo trasformi in T-Sql, come se tabella per tabella cliccassi "create to"... altrimenti... scrivi tutto a mano... ma sono circa 100 tra tabelle, stored procedure, funzioni , regole schemi etc etc
Fiundin non è in linea   Bookmark and Share Rispondi quotando
Vecchio 06-02-2010, 19:04   #4 (permalink)
Very Important Person

 L'avatar di yronium

 
1,313 Messaggi

yronium e' un tipo da prendere in considerazione ( + 650 )yronium e' un tipo da prendere in considerazione ( + 650 )yronium e' un tipo da prendere in considerazione ( + 650 )yronium e' un tipo da prendere in considerazione ( + 650 )yronium e' un tipo da prendere in considerazione ( + 650 )yronium e' un tipo da prendere in considerazione ( + 650 )yronium e' un tipo da prendere in considerazione ( + 650 )
Quote:
Originariamente inviata da Fiundin Visualizza il messaggio
Ho bisogno, perciò, di un tools che estragga tutto dal db ... circa 100 tra tabelle, stored procedure, ... etc etc
Risposta, esattamente come aveva detto cteniza: vai nel database con sql manager click con il pulsante destro nel database, genera script, ti è creato uno script da eseguire da prompt dei comandi sql o da sql manager.
La funzione Genera script ti crea uno script unico di installazione per tutti gli oggetti, oppure uno script separato per ogni oggetto, oppure uno script parziale per creare solo alcuni oggetti nel database. C'è una procedura guidata nella quale puoi selezionare gli oggetti che ti interessa ricreare. E per quanto riguarda il database nel quale creare gli oggetti, questo deve essere già esistente (cioè, devi già aver eseguito lo script che hai postato) dopodiché è sufficiente che ci sia l'istruzione USE all'inizio dello script per creare gli oggetti, nel tuo caso all'inizio dello script generato in automatico ci vanno le due righe evidenziate di seguito
codice:
USE MSSql33946
GO

CREATE TABLE PrimaTabella... ecc.
... sebbene mi pare di ricordare che la generazione automatica inseriva automaticamente anche l'istruzione USE.

Comunque, prova.
__________________
Io NON sono su Facebook.

Il Vero Programmatore può contare fino a 1024 sulle dita delle mani.

"Come porre le domande in modo intelligente" di ESR (versione italiana)

Hai visto il mio avatar?
yronium non è in linea   Bookmark and Share Rispondi quotando
Vecchio 07-02-2010, 15:35   #5 (permalink)
Nuovo della community

 
4 Messaggi

Fiundin novizio della comunita' ( + 10 )
grazie a tutti, sono un "alriP" mi sono concentrato tanto sul creare una applicazione ben fatta che ho completamente dimenticato di conoscere almeno un po il pacchetto di produzione
Fiundin non è in linea   Bookmark and Share Rispondi quotando
Rispondi

Tag
mssql, t-sql

Strumenti della discussione
Modalità di visualizzazione

Regole d'invio
Non puoi inserire discussioni
Non puoi inserire repliche
Non puoi inserire allegati
Non puoi modificare i tuoi messaggi

BB code è attivo
Le smilies sono attive
Il codice IMG è attivo
il codice HTML è disattivato
Trackbacks are attivo
Pingbacks are attivo
Refbacks are disattivato

Salto del forum


Tutti gli orari sono GMT +1. Attualmente sono le 10:30.


Powered by vBulletin versione 3.8.0
Copyright © 2000 - 2010, Jelsoft Enterprises Ltd.
Content Relevant URLs by vBSEO 3.2.0

Valid XHTML 1.0 Transitional  Creative Commons License

Eccetto dove diversamente specificato, i contenuti pubblicati in questa comunità sono rilasciati sotto Licenza
Creative Commons Attribuzione-Non commerciale-Condividi allo stesso modo 2.5 Italia License.
La comunita' di MasterDrive.it non e' responsabile di eventuali imprecisioni presenti nelle pagine.