Quando e come ridimensionare i database di Microsoft Access a SQL Server

Ora che hai visto le varie architetture e le opzioni del motore di database disponibili, ti consigliamo di esplorare i punti decisionali e i parametri per prendere la decisione di upsizing.

La parte più importante in questo processo è capire che non tutti gli Accessdatabase devono essere ridimensionati. In effetti, la maggior parte delle applicazioni di accesso non dovrebbe essere ridimensionata: il costo e l’interruzione del business non sono semplicemente un uso economico delle risorse. Questi database funzionano bene giorno per giorno e donot bisogno di attributi come scalabilità, sicurezza e affidabilità al 100%. Di tutti i database di accesso nella tua organizzazione, solo pochi sono candidati per l’upsizing.

Inoltre, dall’elenco dei candidati per l’upsizing, una maggioranza può essere upsizedusing un processo economico in cui solo i dati vengono spostati in SQL Server. Tutte le funzionalità dell’applicazione in termini di moduli e report sono mantenute in Access. Solo la percentuale più piccola di progetti di upsizing comporta la riscrittura di Accessapplication in un nuovo ambiente come .NET.

Opportunità di upsizing di Microsoft Access per SQL Server

La sezione seguente esamina ciascuna delle aree chiave coinvolte nella pianificazione del database e illustra le prestazioni di Access in ciascuna area.

Sicurezza

Microsoft Access offre tre diversi meccanismi di sicurezza.

  1. Password del database: assegna una password a un database. Solo gli utenti che conoscono la password possono aprire il database.
  2. Jet Workgroup Security: è possibile definire utenti, gruppi e autorizzazioni oggetto per limitare chi può visualizzare / modificare i dati e cosa può essere eseguito. La sicurezza del gruppo di lavoro è disponibile per i database MDB ma non per i database ACCDB.
  3. Crittografia dei file: il contenuto del database può essere crittografato a livello di file. La crittografia ACCDB è significativamente migliore della crittografia per MDBS.

Sfortunatamente, questi meccanismi non sono né robusti né affidabili. Le password del database utilizzano un meccanismo di crittografia molto semplice. In realtà, la rimozione di una password di database di accesso è semplice questione dato che la password gratuita e commerciale “removers” si trovano facilmente sul web. Mentre gli utenti di accesso non possono essere preoccupati per tali lacune, responsabili IT certamente dovrebbe essere.

Mentre Jet Workgroup Security è più robusto, lascia ancora il contenuto dell’intero database MDB aperto dal file system. Poiché tutti i dati e il codice della tabella sono memorizzati in bella vista, è una questione banale aprire un file MDB in un editor compatibile con le stringhe e visualizzare codice, password e dati della tabella.

Infine, poiché l’accesso richiede autorizzazioni di lettura complete per tutti gli utenti al file di database effettivo, chiunque possa vedere un’unità di rete condivisa può uscire con il database su un disco o CDR o inviarlo via email al di fuori della propria organizzazione.

Se la sicurezza è importante, SQL Server è molto più sicuro di Microsoft Access, Excel, Word o qualsiasi altro programma che memorizza i propri file direttamente sul disco rigido accessibile all’utente.

Affidabilità e manutenzione

L’affidabilità è uno dei parametri chiave da esaminare quando si considera l’upsizing. Infatti, per molte applicazioni mission critical, l’affidabilità è la considerazione più importante. Microsoft Access non è affidabile come SQL Server per diversi motivi.

Corruzione del database

Quando i database Microsoft Access/Jet incontrano un errore interno imprevisto o un problema di connessione, potrebbero essere danneggiati. Un database corrotto generalmente blocca tutti gli utenti del database e si traduce in perdita di dati e interruzioni aziendali.

I database Microsoft Access/Jet sono più soggetti a corruzione rispetto a SQL Server per una serie di motivi. Poiché Access / Jet utilizza un modello di condivisione file, tutti gli utenti tengono contemporaneamente connessioni attive ai dati. Se uno di questi utenti perde inaspettatamente la connessione, il database potrebbe danneggiarsi. La perdita di connessione può verificarsi se la connessione di rete dell’utente è intermittente, le versioni dei driver non sono attuali o le versioni in conflitto delle DLL Jet vengono utilizzate per leggere lo stesso file di database.

Microsoft Access include un’utilità Compact/Repair, ma la corruzione grave del database non viene risolta da questa utility. Sono disponibili servizi di riparazione di terze parti, ma ciò richiede l’invio del database interessato in un’altra posizione, il pagamento di una tassa e l’attesa che venga restituito con risultati contrastanti.

Problemi di manutenzione

Windows consente di copiare un database Microsoft Access anche se le persone lo hanno aperto, quindi è possibile creare un backup, ma potrebbe essere un problema se qualcuno sta modificando i dati al momento della copia del file.

La compattazione di un database Microsoft Access richiede che tutti gli utenti siano fuori dal database, il che è problematico per le soluzioni in esecuzione 24/7. Un blocco viene posizionato sul database a livello di file (*.ldb o *.file laccdb) non appena viene aperto dal primo utente.

Programma Microsoft Access Database Compatto e riparazioneMonitorare i database di Microsoft Access in tempo reale In un ambiente multiutente, Microsoft Access non ti dice che è attualmente nel database, in modo che possa essere un mal di testa amministrativo per ottenere le persone fuori dal sistema. Il nostro programma Total Access Admin ti consente di monitorare gli utenti che entrano ed escono dal database in tempo reale, il che aiuta e può compattare il database dopo che tutti escono, ma non è una funzionalità integrata di Microsoft Access.

È spesso difficile coordinare il processo per garantire che tutti gli utenti si disconnettano da un’applicazione di accesso prima di effettuare un backup.Gli scenari tipici coinvolgono gli utenti che lasciano i loro computer accesi quando lasciano l’ufficio per la giornata. Questo lascia il database aperto e il software di backup non sarà in grado di copiare in modo affidabile il file di database. Spesso questo viene rilevato solo dopo che il backup non riesce, lasciando l’amministratore di sistema per rintracciare il problema e sperare che isresolved prima che venga eseguito il backup successivo.

Inoltre, Microsoft Access non è auto-tuning come SQL Server. Non recupera automaticamente lo spazio del database perso o ottimizza indici e query. Questa manutenzione viene eseguita eseguendo la funzione repair / compact. Il nostro programma Total Visual Agent ti consente di automatizzarlo secondo una pianificazione specificata e di mantenere una traccia di controllo, ma non è una funzionalità integrata di Microsoft Access.

Se un’organizzazione non esegue regolarmente il backup di singoli database desktop, le persone possono creare database di Access sui propri PC che non vengono mai sottoposti a backup o mantenuti. Le organizzazioni possono trattarli come dati utente che possono essere persi come se si trattasse di un foglio di calcolo Excel o di un documento Word, ma dovrebbero essere applicate politiche migliori in modo che gli utenti possano salvare i loro database in cui viene fornita l’amministrazione di sistema di base.

I database Microsoft Access devono essere sottoposti a backup per il ripristino di emergenza e periodicamente compattati per rimanere sani. Un sistema automatizzato dovrebbe essere implementato per prendersi cura di quello per i molti database di accesso che esistono oggi e quelli creati in futuro. L’upsizing di SQL Server dovrebbe essere considerato per i database in cui tali processi automatizzati non possono essere implementati a causa dell’uso continuo del database o del costo di perdita di dati elevato.

Scalabilità

La scalabilità è definita come la capacità di un’applicazione di operare in modo accettabile all’aumentare del numero di utenti o processi che chiamano l’applicazione. In alcune situazioni, Microsoft Access / Jet non può scalare per supportare la domanda nel database.

Architettura del database diviso

Prima di eseguire l’upsizing, il database Access dovrebbe avere un’architettura del database diviso. Questo separa il database dell’applicazione utente dal database di dati condivisi di back-end. I collegamenti al database delle applicazioni front-end al database condiviso e agli aggiornamenti sono più semplici perché i dati non devono essere modificati per le nuove versioni (a condizione che le strutture delle tabelle non vengano modificate). Per ulteriori informazioni, consultare il documento sull’architettura di database Split di Microsoft Access per supportare ambienti multiutente, migliorare le prestazioni e semplificare la manutenibilità. L’architettura del database diviso aiuterà anche in uno sforzo di upsizing per preservare il front-end di accesso esistente.

Se una singola copia di un database Microsoft Access risiede su un’unità di rete e viene aperta da più utenti contemporaneamente, potrebbe verificarsi un problema di scalabilità. Ma questo dovrebbe essere affrontato utilizzando un’architettura di database divisa piuttosto che l’upsizing su SQL Server.

Numero di utenti simultanei

Ci sono stati miti su database Microsoft Access non essere in grado di supportare più di un 20 utenti. Che potrebbe essere stato il caso quando Microsoft Access è stato introdotto nel 1992, ma che non è stato il caso per un bel po ‘ di tempo.

Microsoft Access consente tecnicamente fino a 255 connessioni per database. Ciò significa che può essere utilizzato per le applicazioni per i team molte volte che se non tutti hanno bisogno di usarlo allo stesso tempo.

Il numero di connessioni/utenti che un database Access può supportare è dettato dal modo in cui l’applicazione è stata progettata e implementata. Un’applicazione di accesso ben progettata può supportare oltre 100 utenti simultanei con prestazioni decenti. D’altra parte, un’applicazione di accesso mal progettata può essere eseguita a passo d’uomo con due utenti. Oppure alcuni processi richiedono solo tempo e saranno lenti indipendentemente dal database utilizzato. In realtà non si tratta della tecnologia ma dell’implementazione.

Sfortunatamente, molti database di Access non sono ben progettati o implementati con le migliori pratiche. Questo perché la maggior parte dei database di Access sono creati da utenti che semplicemente non hanno l’esperienza o la conoscenza per creare applicazioni di database professionali. Essi sono costruiti nel tempo e nuove funzionalità e modelli di dati sono virato-on in caso di necessità. Il risultato è una soluzione globale che non può supportare in modo affidabile più di pochi utenti.

Non ridimensionare le applicazioni Microsoft Access per motivi di conteggio utenti se il numero di utenti simultanei è relativamente basso. Upsizing dovrebbe essere considerato se uno ha bisogno di supportare 100 + utenti simultanei e più in futuro.

Dimensione massima del database

Ogni database Microsoft Access ha una dimensione massima di 2 GB. Questo è un sacco di testo e dati numerici, ma può essere facilmente superato se i file e la grafica vengono memorizzati. Per la stragrande maggioranza dei database di Microsoft Access, che è molto più grande di quanto il database potrà mai ottenere. A volte i database diventano grandi, ma un compatto di solito lo riduce a dimensioni più ragionevoli. Assicurarsi di decompilare anche i database di Microsoft Access di volta in volta durante la compattazione.

Con un’architettura di database divisa, un’applicazione Microsoft Access può collegarsi a dati provenienti da più database Microsoft Access che aggiungono fino a più di 2 GB. Naturalmente, questo non è un buon design se i dati non devono essere suddivisi su più tabelle o database.

L’upsizing dovrebbe essere considerato se il database supera 1 GB o supererà 2 GB nel prossimo futuro.

Diverse versioni di Microsoft Access e Jet

Microsoft Access Database Launcher Ci sono molte versioni di Microsoft Access. Una soluzione di database Access può dipendere da una particolare versione di un formato di database Access, fare affidamento su funzionalità disponibili solo su determinate versioni di Access, componenti come ADO e DAO, ecc. Mentre è facile distribuire un database di Access agli utenti che hanno Access già installato sul proprio PC, non è così facile controllare quale versione di Access è aperta per eseguirlo.

Un PC può avere più versioni di Access installate su di esso. L’apertura di un file ACCDB o MDB avvia direttamente la versione di accesso associata a tale estensione di file (in genere l’ultima versione di accesso aperta).

Inoltre, quando Access 2000 è stato introdotto, il nuovo formato di file MDB non era compatibile con la precedente versione di Access 97. L’apertura del database in Access 2000 (o versione successiva) potrebbe aggiornare il database al nuovo formato e impedire agli utenti della vecchia versione di aprirlo, il che era un problema in ambienti multiutente. Questo problema non si è ripresentato dalla versione 2000.

Il nostro programma di avvio Total Access aiuta le organizzazioni a gestire e distribuire centralmente i database Microsoft Access sul desktop di ciascun utente e a controllare quale versione di Access viene avviata per l’it. Ciò semplifica la distribuzione delle applicazioni di accesso con un collegamento e l’ultima versione del database viene sempre installata sulla macchina di ciascun utente. Rende anche semplice aggiornare l’applicazione da una versione di accesso a un’altra.

I problemi di gestione di versioni diverse di Microsoft Access o distribuzione di aggiornamenti dei database Microsoft Access non vengono risolti migrando a SQL Server se si mantiene il front-end Access del database. Può essere affrontato solo sostituendo completamente Microsoft Access. Che può risolvere il problema immediato, ma impedisce agli utenti di ottenere il loro lavoro fatto. Abbiamo visto le organizzazioni vietare Microsoft Access solo per i dipendenti di acquistare prodotti di database peggiori invece dal momento che il problema del database non è andato via. Per la maggior parte delle organizzazioni, non è pratico utilizzare sviluppatori professionisti per creare ogni database necessario quando la maggior parte può essere gestita dagli utenti finali.

Prestazioni

Le prestazioni sono un motivo comune per cui le persone desiderano aggiornare i propri database Microsoft Access a SQL Server. Si presume che SQL Server verrà eseguito più velocemente di un database Microsoft Access. Dopo tutto, SQL Server è gestito da un server separato che invia solo i record richiesti e può utilizzare più CPU e macchine per gestire enormi set di dati.

Microsoft Access, essendo basato su file, invia l’intero database, la tabella o l’indice a seconda della richiesta per il client (PC) da elaborare.

Microsoft Access Database Analyzer Mentre questo darebbe il bordo per l’approccio server, abbiamo scoperto che le prestazioni non sono migliorate in molte situazioni. Ecco alcuni motivi:

  • Molti database Access sono relativamente piccoli (meno di 100 MB). Con l’hardware corrente e la connettività di rete, la quantità di dati passati è quasi istantanea se si tratta di pochi record o dell’intera tabella.
  • SQL Server esegue lavori extra che i database Access non eseguono. Ad esempio, SQL Server può mantenere un log delle transazioni ed esegue una manutenzione continua che aggiunge un sovraccarico. Abbiamo visto diminuzioni delle prestazioni quando piccoli database vengono ridimensionati a SQL Server.
  • SQL Server è progettato per gestire database molto grandi ben oltre il limite di accesso di 2 GB. Non è ottimizzato per quello che considererebbe piccoli database.
  • L’esecuzione di query da diverse fonti di tabelle collegate potrebbe non beneficiare dell’ottimizzazione di SQL Server poiché il lavoro è ancora svolto da Access
  • La memorizzazione nella cache dei dati da parte di Microsoft Access per le tabelle di accesso esiste perché sa se i dati sono cambiati. Per i dati di SQL Server, la memorizzazione nella cache in memoria non è possibile perché i dati potrebbero essere cambiati dall’ultima richiesta.
  • Un insieme mal progettato di tabelle, query o codice VBA verrà eseguito lentamente indipendentemente dal fatto che i dati siano in Access o SQL Server.

Prima di eseguire l’upsizing su SQL Server per motivi di prestazioni, assicurarsi che il database Access sia ottimizzato in modo che funzioni nel miglior modo possibile in Access. Andando a SQL Server non risolverà gravi problemi di progettazione di database e query. Correggerli in Access è in realtà più facile che farlo in seguito in SQL Server, quindi il tempo e lo sforzo spesi per farlo vengono preservati in caso di upsize in seguito.

Per garantire che il database di Microsoft Access non presenta problemi gravi, utilizzare il nostro programma Total Access Analyzer per documentare e analizzare il database. Rileva oltre 300 tipi di errori, suggerimenti di progettazione e problemi di prestazioni che possono aiutarti a ottimizzare il tuo database Access.

Per database Microsoft Access relativamente piccoli, non eseguire l’upsize su SQL Server esclusivamente per motivi di prestazioni. Potrebbe esserci una diminuzione delle prestazioni dopo l’upsizing. Cercare modi per ottimizzare i problemi di accesso prima di effettuare l’investimento per upsize. I problemi di prestazioni potrebbero non essere correlati all’archiviazione dei dati.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.

Previous post Picha Farms’ Pumpkin patch in Puyallup, WA
Next post Collegare. Scoprire. Condividere.