none
Primi passi SQL Server RRS feed

  • Domanda

  • Ciao,

    premetto che mi sto affacciando solo ora al mondo di SQL Server.!

    Ho installato la versione Microsoft SQL Server 2008 R2 e SQL Server Management Studio (configurato SQL e attivato sia il Firewall che la connessione TCPIP ecc...) trasformato un db chiamato S.A.T. in front-end e back-end, fatto l'upsize del back-end verso sql e dopo aver constatato che è andato tutto bene mi sono ritrovato in SQL Server Management le tabelle di S.A.T_be e dalla parte client (cioè dalla parte del computer: giusto?) oltre a S.A.T. e S.A.T_be un nuovo progetto adp: S.A.T_beCS.

    Ho aperto il db S.A.T_beCS, mi sono prima collegato (anche questa operazione è andata a buon fine), ho inserito in tabella un dato nuovo ma non mi ha aggiornato S.A.T_be, ho fatto la stessa cosa in S.A.T_be ma non mi ha aggiornato S.A.T_beCS oppure importando in SQL Server Management sia l'uno che l'altro db e dopo aver inserito qualche dato anche qui non è cambiato nulla. Domanda:

    1)cosa debbo fare per inserire i dati e da dove?

    2)per fare in modo che il back-end mi faccia da server  in modo da poter inserire i dati dalla rete di casa attraverso due computer, qualcuno mi sa indicare passo passo come fare?

    3)l'altro computer deve per forza avere SQL Server installato?

    Scusate se ho scritto delle banalità, ma mi sto perdendo proprio in un bicchiere d'acqua!

    Vladimiro 

    domenica 8 settembre 2013 18:52

Risposte

Tutte le risposte

  • Ciao,

    premetto che mi sto affacciando solo ora al mondo di SQL Server.!

    Ho installato la versione Microsoft SQL Server 2008 R2 e SQL Server Management Studio (configurato SQL e attivato sia il Firewall che la connessione TCPIP ecc...) trasformato un db chiamato S.A.T. in front-end e back-end, fatto l'upsize del back-end verso sql e dopo aver constatato che è andato tutto bene mi sono ritrovato in SQL Server Management le tabelle di S.A.T_be e dalla parte client (cioè dalla parte del computer: giusto?) oltre a S.A.T. e S.A.T_be un nuovo progetto adp: S.A.T_beCS.

    Ho aperto il db S.A.T_beCS, mi sono prima collegato (anche questa operazione è andata a buon fine), ho inserito in tabella un dato nuovo ma non mi ha aggiornato S.A.T_be, ho fatto la stessa cosa in S.A.T_be ma non mi ha aggiornato S.A.T_beCS oppure importando in SQL Server Management sia l'uno che l'altro db e dopo aver inserito qualche dato anche qui non è cambiato nulla. Domanda:

    1)cosa debbo fare per inserire i dati e da dove?

    2)per fare in modo che il back-end mi faccia da server  in modo da poter inserire i dati dalla rete di casa attraverso due computer, qualcuno mi sa indicare passo passo come fare?

    3)l'altro computer deve per forza avere SQL Server installato?

    Scusate se ho scritto delle banalità, ma mi sto perdendo proprio in un bicchiere d'acqua!

    Vladimiro 

    Ho dimenticato di scrivere che l'applicazione da cui parto e da cui ho realizzato il database è Access 2007.

    Di nuovo Vladimiro

    domenica 8 settembre 2013 20:12
  • ho l'impressione che quando hai creato il progetto S.A.T_beCS in realtà non ti sei agganciato ad un database esistente (ossia S.A.T_be) ma ne hai creato uno nuovo. 

    se apri SSMS quanti e quali database trovi ?


    Edoardo Benussi
    Microsoft MVP - Directory Services
    edo[at]mvps[dot]org

    lunedì 9 settembre 2013 07:20
    Moderatore
  • Ciao Edoardo,

    ho l'impressione che quando hai creato il progetto S.A.T_beCS in realtà non ti sei agganciato ad un database esistente (ossia S.A.T_be) ma ne hai creato uno nuovo. 

    effettivamente ho creato un database nuovo.

    Credi che sia questo il problema? Più tardi proverò con l'altra opzione.

    se apri SSMS quanti e quali database trovi ?

    Se per SSMS intendi SQL Server Management Studio, trovo S.A.T_beSQL (nome che ho lasciato creare dall'applicazione) e naturalmente Database di sistema.

    Vladimiro

    lunedì 9 settembre 2013 12:00
  • Ciao,

    ho smanettato un po', conclusione non riesco più a connettermi a SSMS. Speriamo di risolvere il problema. Nel frattempo, cortesemente mi dovresti spiegare come, partendo da un back-end e facendo l'upsize verso sql, faccio ad agganciarmi allo stesso database.

    Con l'upsize sono riuscito solo a collegare le tabelle;

    conclusione: a quelle reali mi ha modificato il nome aggiungendovi "_local" (ad esempio Tabella1_local) mentre  quelle collegate le ha create con il nome autentico. Se apro però dal front-end una maschera, mi dice che l'origine record non esiste. Da questo si deduce che mi manca un passaggio con SQL Server.

    Allora ti/vi chiedo, mi fate capire che funzione ha SQL Server?

    Serve solo da tramite ad un database lato client ed a costruire stored procedure visto che le query le elimina?

    Vladimiro

    lunedì 9 settembre 2013 20:53
  • per cercare di aiutarti a capire al meglio devo prima allinearmi alla tua terminologia quindi capire esattamente:

    1) cosa intendi con database di back-end ?

    2) cosa intendi con database di front-end ?

    3) che tipo di database era in origine quello di cui stiamo parlando ?

    4) cosa intendi con "upsize" ?

    intanto posso dirti che SQL Server è un RDBMS o, passami il termine, motore di database dotato di tools di gestione che ti permette di creare o importare database relazionali nei quali puoi anche programmare mediante stored procedures o triggers.


    Edoardo Benussi
    Microsoft MVP - Directory Services
    edo[at]mvps[dot]org

    martedì 10 settembre 2013 07:14
    Moderatore
  • Ciao Edoardo,

    Il database appartiene a Microsoft Office Access Database (.mdb) da cui, tramite la creazione guidata me lo ha diviso in due parti: nel back-end mi ha lasciato solo le tabelle mentre nel front-end tutto il resto (maschere, query, report, moduli,ecc...) Inserendo i dati dal front-end, si popolano automaticamente le tabelle nel back-end. Questa operazione di divisione serve ad alleggerire il database visto che non può superare una dimensione di 2GB.

    Riguardo l'upsize ti scrivo quello che trovo scritto quando all'interno dello stesso database uso la creazione guidata:

    L'Upsize guidato consente di eseguire facilmente l'upsize dello stesso database di Microsoft Access ad un database di Microsoft SQL Server.

    E' possibile creare un nuovo database di SQL Server oppure eseguire l'upsize ad un database di SQL Server esistente.

    Detto ciò, quello che vorrei fare, è avere la possibilità di mettere un database di Access sul server ed inserire i dati tramite due computer di casa mia.

    Vladimiro

    martedì 10 settembre 2013 12:44
  • Ciao Edoardo,

    Il database appartiene a Microsoft Office Access Database (.mdb) da cui, tramite la creazione guidata me lo ha diviso in due parti: nel back-end mi ha lasciato solo le tabelle mentre nel front-end tutto il resto (maschere, query, report, moduli,ecc...) Inserendo i dati dal front-end, si popolano automaticamente le tabelle nel back-end. Questa operazione di divisione serve ad alleggerire il database visto che non può superare una dimensione di 2GB.

    perfetto, ora lo scenario è molto più chiaro (anche se in parte lo avevo immaginato)

    Riguardo l'upsize ti scrivo quello che trovo scritto quando all'interno dello stesso database uso la creazione guidata:

    L'Upsize guidato consente di eseguire facilmente l'upsize dello stesso database di Microsoft Access ad un database di Microsoft SQL Server.

    E' possibile creare un nuovo database di SQL Server oppure eseguire l'upsize ad un database di SQL Server esistente.

    Detto ciò, quello che vorrei fare, è avere la possibilità di mettere un database di Access sul server ed inserire i dati tramite due computer di casa mia.

    ottima anche questa indicazione.

    dopo aver fatto la creazione guidata che hai indicato all'inizio di questo post, quando hai separato il back-end dal front-end, di fatto hai già ottenuto un database di SQL Server infatti puoi aggiungere o modificare record nel database dalle maschere che hai nel front-end ma puoi anche aggiungere, modificare o cancellare record aprendo le tabelle del database direttamente con SQL Server Management Studio o eseguendo codice T-SQL direttamente dentro lo stesso SSMS.

    Detto questo, dovresti dirmi cosa userai sui pc di casa per immettere i dati nel database.

    La strada più semplice sarebbe quella di disporre di una connessione vpn che ti connetta con quel sql server e che tu, a casa utilizziil file di access di front-end con le sue maschere già pronte.


    Edoardo Benussi
    Microsoft MVP - Directory Services
    edo[at]mvps[dot]org

    mercoledì 11 settembre 2013 13:08
    Moderatore
  • Ciao Edoardo,

    prima di entrare nel merito della discussione mi spieghi come inserisci il commento dei partecipanti con sfondo grigio e le risposte su sfondo normale (bianco)? A me succede che se apro un nuovo post con citazione non mi permette di farlo.

    =============================

    dopo aver fatto la creazione guidata che hai indicato all'inizio di questo post, quando hai separato il back-end dal front-end, di fatto hai già ottenuto un database di SQL Server infatti puoi aggiungere o modificare record nel database dalle maschere che hai nel front-end ma puoi anche aggiungere, modificare o cancellare record aprendo le tabelle del database direttamente con SQL Server Management Studio o eseguendo codice T-SQL direttamente dentro lo stesso SSMS

    ==========================

    anche se il senso è questo, in realtà dopo aver diviso il database in SSMS non trovo nulla.

    Mi spiego meglio.

    All'interno del database di Access (2007), nella barra dei menu ci sono due pulsanti: "Database di Access" per dividere il database in back-end e front-end e "SQL Server" per fare l'upsize. Solo facendo l'upsize me lo ritroverò poi in SSMS. 

    Ti spiego tutti i passaggi dell'upsize.

    Nel primo passaggio debbo obbligatoriamente scegliere nuovo database in quanto (poniamo) non esiste nessun db che abbia già creato in SQL.

    Secondo passaggio trovo:

    1)Indicare il computer SQL Server da utilizzare per il database.

    2)Specificare l'ID di accesso e la password di un account con privilegi di creazione di database sul server.

    3)Usa connessione di tipo trusted 

    4)Nome da assegnare al nuovo database di SQL Server.

    Lascio il segno di spunta su connessione di tipo trusted poiché in SQL Server è possibile attivare l'integrazione con la protezione del sistema operativo Windows  e fornire un accesso singolo protetto alla rete e al database.

    Terzo passaggio indicare le tabelle che si vogliono esportare in SQL.

    Quarto passaggio:

    1)chiede se importare anche i dati con le tabelle,

    2)mettere il segno di spunta su “Usa DRI” oppure “Usa trigger”: pur non sapendo cosa fossero. ho lasciato il segno di spunta su DRI 

    Quinto passaggio:

    1)Crea una nuova applicazione client/server di Access.

    2)Collega tabelle di SQL Server all’applicazione esistente.

    Se scelgo il primo punto mi crea un nuovo database Microsoft Office Access Project (.adp) in cui viene creato un nuovo pulsante di connessione a SQL ma vengono eliminate le query.

    Se scelgo il secondo punto mi inserisce all'interno del database le stesse tabelle (con lo stesso nome di origine) però collegate al server mentre alle tabelle  di origine ci aggiunge al nome un trattino più la parola local.

    (inutile dividere il database in back-end e front-end in quanto ne uscirebbero due entità distaccate)

    Insomma sia l’uno che l’altro funzionano con SQL Server: solo che io ancora non ho capito cosa fare :-(

    ========================

    Detto questo, dovresti dirmi cosa userai sui pc di casa per immettere i dati nel database.

    ========================

    Io ho indicato due PC di casa, è vero. In realtà, oltre a questo la mia intenzione è quella di imparare come mettere il database su un server esterno (come ad esempio un servizio pubblico a pagamento in quanto per pochi euro se ne possono trovare) e collegarmi da più postazioni (due-tre) esterne ad esso.

    ========================

    La strada più semplice sarebbe quella di disporre di una connessione vpn che ti connetta con quel sql server e che tu, a casa utilizziil file di access di front-end con le sue maschere già pronte.

    ========================

    non so cos'è una connessione vpn, ma l'idea è proprio questa.

    Vladimiro

    mercoledì 11 settembre 2013 22:15
  • 1) per fare quel tipo di quoting, clicchi citazione e poi clicchi sul pulsante HTML per modificare l'html della risposta andando a posizionare i tags <blockquote> e </blockquote> nella posizione voluta.

    2) ora ho capito ancora meglio quello che hai fatto e quale sia il tuo problema.

    io non userei l'Upsizing Wizard ma esporterei tutto il contenuto del database Access verso SQL Server utilizzando Import Export Data che è il Wizard dei SQL Tools per esportare dati da qualsiasi formato verso SQL Server o viceversa

    infine andrei a crearmi un progetto di database .adp vuoto andandolo poi a connettere al database di SQL esistente creato come da passo precedente

    ti allego qui due utilissimi documenti per capire i passi chiave

    http://technet.microsoft.com/en-us/library/ms140052.aspx

    http://office.microsoft.com/en-us/access-help/create-an-access-project-HA010341589.aspx#_Toc257281381

    mentre qui trovi il dettaglio di ciò che fa lUpsizing Wizard

    http://office.microsoft.com/en-us/access-help/move-access-data-to-a-sql-server-database-by-using-the-upsizing-wizard-HA010275537.aspx

    dopo queste letture, se hai ancora bisogno, dovresti dettagliare cosa contiene/eva il database originale di access in modo da capire quale possa essere la strategia di migrazione migliore.

    ciao.


    Edoardo Benussi
    Microsoft MVP - Directory Services
    edo[at]mvps[dot]org

    giovedì 12 settembre 2013 08:57
    Moderatore
  • Ciao Edoardo,

    ieri non ho avuto tempo di approfondire, comunque i link li conoscevo e tra l'altro Import Export Data (smanettando) già l'avevo fatto. Questa sera cercherò di capirci meglio e poi ti farò sapere.

    Vladimiro

    venerdì 13 settembre 2013 04:51
  • Ciao Edoardo,

    io non userei l'Upsizing Wizard ma esporterei tutto il contenuto del database Access verso SQL Server utilizzando Import Export Data che è il Wizard dei SQL Tools per esportare dati da qualsiasi formato verso SQL Server o viceversa

    non potrei fare diversamente in quanto è successo un qualcosa che non mi permette di usufruire dell'Upsize verso SQL; mentre per la connessione tramite SSMS non ci sono problemi. Detto ciò mi dovresti spiegare come fare in quanto da quello che ho capito si possono importare o esportare solo gli adp

    infine andrei a crearmi un progetto di database .adp vuoto andandolo poi a connettere al database di SQL esistente creato come da passo precedente

    come me lo creo?

    Grazie Vladimiro

    nb

    Debbo aprire un altro post per i problemi che ho avuto nell'utilizzare l'Upsize guidato.

    domenica 15 settembre 2013 17:50
  • vedi qui

    http://office.microsoft.com/en-us/access-help/create-an-access-project-HA010341589.aspx#_Toc257281381

    e segui le istruzioni passo passo

    ciao.


    Edoardo Benussi
    Microsoft MVP - Directory Services
    edo[at]mvps[dot]org

    • Contrassegnato come risposta Vladimiro Leone mercoledì 18 settembre 2013 16:33
    lunedì 16 settembre 2013 07:38
    Moderatore
  • Ciao Edoardo,<o:p></o:p>

    ho seguito le istruzioni e guarda un po':<o:p></o:p>

    partendo da un nuovo database vuoto optando per un progetto di Access, quando mi chiede di eseguire la connessione ad un database esistente di SQL Server, l'Upsize guidato funziona; purtroppo continua a non funzionarmi da un db esistente per cui mi è impossibile creare, almeno finché non risolvo, nessun collegamento a SQL.<o:p></o:p>

    Comunque, visto che ho già un db collegato con il server (sono riuscito a crearlo nel momento in cui in proprietà configurazione di SQL ho disattivato Shared Memory bloccando la connessione a SQL Server Management Studio: improvvisamente l'Upsize guidato è andato a buon fine. Provando e riprovando però non è successo più) potrei cominciare a fare qualcosa :-)<o:p></o:p>

    Domanda:<o:p></o:p>

    siccome le query nel db sono scomparse, dovrò sicuramente ricrearle (stored procedure giusto?), mi sapresti dare un consiglio su come procedere? Ho già provato con "Progetta query nell'editor" però una volta creata come si fa a trasferirla al client?<o:p></o:p>

    Vladimiro<o:p></o:p>

    lunedì 16 settembre 2013 22:57

  • Domanda:<o:p></o:p>

    siccome le query nel db sono scomparse, dovrò sicuramente ricrearle (stored procedure giusto?), mi sapresti dare un consiglio su come procedere? Ho già provato con "Progetta query nell'editor" però una volta creata come si fa a trasferirla al client?<o:p></o:p>

    Vladimiro<o:p></o:p>

    le query di Access non corrispondono alle stored procedure di sql server ma alle view. sono molto semplici da costruire ed hai anche il wizard per costruirle.

    ciao.


    Edoardo Benussi
    Microsoft MVP - Directory Services
    edo[at]mvps[dot]org

    • Contrassegnato come risposta Vladimiro Leone mercoledì 18 settembre 2013 16:33
    mercoledì 18 settembre 2013 07:12
    Moderatore

  • le query di Access non corrispondono alle stored procedure di sql server ma alle view. sono molto semplici da costruire ed hai anche il wizard per costruirle.


    Grazie, sei stato molto gentile.

    Alla prossima Vladimiro

    mercoledì 18 settembre 2013 16:35
  • grazie a te del feedback. ciao.

    Edoardo Benussi
    Microsoft MVP - Directory Services
    edo[at]mvps[dot]org

    giovedì 19 settembre 2013 06:58
    Moderatore