Considerazioni principali quando si passa dalla programmazione MS Access a SQL Server


8

Sono un programmatore autodidatta MS Access al 100% (la parte principale del mio lavoro è la programmazione), ora sto costruendo database più grandi; sto ancora usando MS Access come UI ma SQL Server per archiviare tutti i dati e fare di più del "lavoro".

In sostanza la mia domanda è; quali argomenti devo conoscere per SQL Server che probabilmente non ho imparato o che non ho bisogno di usare Access?

Non cercare te per dirmi come fare qualcosa, più ciò che pensi siano le cose più importanti che dovrei fare una ricerca - ci sono molti argomenti e un sacco di dettagli, non voglio trovarmi a lungo lungo un percorso meno prezioso ...

Brain Dump:

  • Manutenzione: quali sono i più importanti (controllare il database, ridurre il database, aggiornare le statistiche, ricostruire ecc.)
  • Indici - Non so quanto dovrei, c'è un buon libro / blog ecc. Che può insegnarmi le basi verso l'alto?
  • Qualsiasi altra cosa mi sia sfuggita (probabilmente ce ne sono molte, come ho detto che sono nuovo di SQL Server ...)

Se mi aiuta a lavorare per un rivenditore di medie dimensioni e per i database, mi occupo principalmente di coprire cose come

  • Piattaforma di reporting (riepiloga vendite / entrate / inventario ecc. Dal sistema principale e fornisce report rapidi)
  • Uno strumento di riconciliazione tra una terza parte e ciò che i nostri negozi inseriscono nei registri (importa i dati da terze parti e fa riferimento ai registri delle transazioni)
  • Memorizza tutti i dati relativi alle nostre promozioni; prodotto, prezzi, proiezioni, risultati effettivi ecc

Perché SQl Server 2005? È un po 'vecchio, con 3 versioni principali dietro.
Marian,

È ciò che attualmente abbiamo installato sul mio lavoro e poiché sono l'unico che lo utilizza davvero, dovrò dimostrare quale valore posso aggiungere prima di aggiornarlo.
Simon1979,

@ Simon1979 uno dei valori sta avendo un semplice percorso di aggiornamento. In SQL Server 2012 è possibile ripristinare il backup del database da SQL Server 2005, ma non da una versione precedente (SQL Server 2000). Forse la prossima versione di SQL Server non ti consentirà di ripristinare il backup del database da SQL Server 2005. Il ripristino di un backup è uno dei modi più semplici per trasferire dati da server diversi
Max

Risposte:


4

Man mano che imparerai di più su SQL Server scoprirai (con tua grande gioia) una serie di cose che puoi fare in SQL Server a livello di database che in precedenza dovevi fare in Access a livello di applicazione. Alcuni esempi includono:

Trigger: procedure definite a livello di tabella per fare in modo che le cose accadano automaticamente ogni volta che c'è un INSERT / UPDATE / DELETE sulla tabella.

Stored procedure: in qualche modo simile alle macro di Access e alle piccole procedure VBA che Subhai creato in Access per fare "cose ​​utili", tranne che in SQL Server fanno parte del database stesso. Quindi, è possibile scrivere una Stored Procedure (SP) una volta e usarla (quasi) ovunque, anche tra le applicazioni che condividono lo stesso database.

Funzioni: sono in qualche modo analoghi ai piccoli VBA Functionscritti in Access da incorporare nelle query, tranne per il fatto che le funzioni di SQL Server, come gli SP, sono più strettamente legate al database. Inoltre, le funzioni di SQL Server possono essere con valori scalari (restituire un singolo valore scalare) o con valori di tabella (restituire un set di righe).

Divertenti trucchi SQL: ci sono molte funzionalità SQL disponibili in SQL Server che non sono supportate in Access (Jet / ACE) SQL. "Common Table Expressions" (CTE) e " RANKe PARTITION" sono quelli che mi hanno dato "momenti" aha "mentre stavo iniziando.

Potrei continuare, ma queste sono le cose che ricordo di aver scoperto presto che mi hanno fatto "pensare in SQL Server".

Non fraintendetemi, penso ancora che Access sia uno strumento eccellente se usato in modo appropriato e dovrebbe essere preso in seria considerazione come un modo per

  • compilare (o semplicemente simulare) applicazioni front-end su un back-end di SQL Server e

  • eseguire la pulizia dei dati, creare query e report ad hoc ed eseguire attività simili sui dati di SQL Server.

Infine, anche se lavorerai con SQL Server 2005, ti consiglio vivamente di ottenere una copia di SQL Server 2008 (o 2012) Express per l' apprendimento , principalmente a causa dei miglioramenti dell'IDE in SQL Server Management Studio (ovvero completamento automatico e debug interattivo). Basta essere consapevoli delle nuove funzionalità (2008+) che potresti incontrare e non fare affidamento su di esse per il tuo codice di produzione. (Oppure, usali come punti elenco per l'aggiornamento del tuo pitch da SQL Server 2005 ....)


4

C'è molto da imparare ... sia online che attraverso i libri. Ecco alcuni dei primi link per iniziare (elenco molto incompleto, ma dovrebbe tenerti occupato per un po '):

Forum

Blog

Libri


3

Avendo usato SQL Server per alcuni anni (e prima di quell'Accesso), suggerirei quanto segue.

  1. Backup e ripristino: non si sta più eseguendo una copia di un file per eseguire il backup del database, a seconda delle esigenze (dimensioni, necessità di ripristini al minuto, ecc.). Provare a eseguire il backup e il ripristino di un database. Non sei niente senza i tuoi dati!
  2. Guarda i video di Brent Ozar: http://www.youtube.com/brentozar - il ragazzo è una leggenda di SQL Server. Si rivolge più al lato tecnico, ma ci sono anche dei buoni video per principianti. Ho imparato molto da loro (anche se l'argomento è piuttosto asciutto!)
  3. Manutenzione - Immagino che le esigenze siano minime se Access è andato bene fino ad ora: a meno che non abbiate un sacco di elaborazione, molti dati (10 GB +) o query complesse, potreste tranquillamente eseguire SQL Server senza eseguire manutenzione per mesi senza problemi. Reindice / ricostruzioni dell'indice (c'è una differenza) sono probabilmente la prima cosa che vorrai usare se hai molti record.
  4. Ho davvero consigliato le scale su SQL Server Central http://www.sqlservercentral.com/stairway/ - sono ottime introduzioni ai tipi di indice, ai tipi di dati (questi differiscono un po 'da Access!)
  5. Se sei mai preoccupato che il tuo database non sia in ottime condizioni, prova la procedura memorizzata sp_blitz di Brent Ozar (Google per questo - ho bisogno di più reputazione per pubblicare un link extra!) - controlla molte statistiche / parametri del database, fornisce un elenco prioritario di ciò che deve essere fatto con collegamenti al sito Web per offrire discussioni più approfondite.

Ho iniziato a lavorare con SQL Server Reporting di recente, ma può essere una seccatura da configurare: per la maggior parte dei casi aziendali, ottenere Excel per recuperare i dati da una stored procedure di SQL Server è spesso più flessibile per i manager.

Spero che questo aiuti, benvenuto a bordo :)


2

Per tutti coloro che iniziano con SQL Server, consiglierei di iniziare con l'apprendimento dei blocchi di base prima di entrare nel DBA.

  1. Tipi e funzioni di base di diversi oggetti SQL (tabelle, chiavi, viste, procedure memorizzate, funzioni definite dall'utente, trigger)
  2. Scrittura di base T-SQL, DML e DDL

Una volta che hai un handle su questi e puoi lavorare su SQL Server senza dover usare MS Access, usando principalmente i tipi T-SQL, puoi passare a saperne di più sulle attività di base del tipo DBA, come:

  1. Ripristinare il backup

  2. Manutenzione

  3. Amministrazione

I siti MSDN e di apprendimento di Microsoft avranno lezioni ed esercitazioni molto utili per te. Capisco che non è sempre chiaro da dove cominciare, ma se segui approssimativamente gli elenchi sopra, dovresti essere SQL-ing in pochissimo tempo.

Nota : anche se la maggior parte dei corsi di certificazione Microsoft SQL 2005 è stata probabilmente interrotta, è comunque possibile utilizzare le risorse disponibili per SQL 2008 R2. Potrei essere colpito per aver detto questo, ma SQL 2008 R2 è abbastanza simile a SQL 2005 (nel contesto di ciò che vuoi imparare) in modo da poter studiare 2008 R2 ed essere ancora OK.

Infine: benvenuto in dba.stackexchange.com e SQL Server


2

Attualmente sono esattamente nella stessa situazione in cui sei mio amico e posso capirlo completamente. Quindi consiglierò il libro che ha risolto molte delle domande che avevo riguardo al passaggio al server SQL.

Libro: Guida per gli sviluppatori di Microsoft Access a SQL Server di Mary Chipman e Any Baron

Il libro spiega tutto ciò che devi sapere dai vantaggi di sicurezza alle autorizzazioni degli utenti, ecc. E, soprattutto, è spiegato in modo molto leggibile e diretto.

Probabilmente esiste una versione più aggiornata di questo libro, ma questa è quella corrente che utilizzo e soddisfa pienamente tutte le mie esigenze!

Spero che ti aiuti tanto quanto mi ha aiutato.

In bocca al lupo!


2

Per rispondere alle tue domande -

Manutenzione: quali sono i più importanti (controllare il database, ridurre il database, aggiornare le statistiche, ricostruire ecc.)

Uno dei migliori soluton per la manutenzione è il backup di SQL Server, il controllo dell'integrità e la manutenzione di indici e statistiche Basta leggere e distribuire. Testato e utilizzato ampiamente dalla comunità SQL Server.

Indici - Non so quanto dovrei, c'è un buon libro / blog ecc. Che può insegnarmi le basi verso l'alto?

Stairway to SQL Server Indexes - Serie eccellenti dal livello base a quello avanzato.

Qualsiasi altra cosa mi sia sfuggita (probabilmente ce ne sono molte, come ho detto che sono nuovo di SQL Server ...)

C'è molto di più della semplice manutenzione e indicizzazione in SQL Server. Il mio consiglio sarebbe di leggere su qualsiasi contenuto pubblicato da siti sottostanti ... (Sono i migliori !!)

SQLSkills.com

brentozar.com

SQLServerCentral.com

Lavorando con SQL Server regolarmente, sentirai la necessità di acquisire maggiori conoscenze in diverse aree come Disaster Recovery, Ottimizzazione delle prestazioni, Alta disponibilità, Corruzione del database, ecc.

Nota: sul Web è disponibile una grande quantità di informazioni con ottimi consigli. Quindi il mio consiglio sarebbe di essere istruito dalle persone che hanno lavorato e lavorano con SQL Server quotidianamente.

Infine, controlla questa formazione da SQLSkills , una delle migliori offerte. Personalmente ho preso IE1 e IE2 e mi fido di me .. Sentirai la differenza!


0

Una cosa molto interessante che puoi studiare su SQL Server è il piano di esecuzione delle query e il suggerimento per le query SQL che puoi utilizzare quando il piano di esecuzione della query non è quello che ti aspetti.

Il piano di esecuzione delle query è un argomento avanzato, ma può aiutarti a comprendere le prestazioni di SQL Server.

Naturalmente non dovresti fare un uso improprio del suggerimento per le query , nella mia esperienza sono l'ultima risorsa quando una query non funziona con le prestazioni previste.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.