När och hur du uppgraderar Microsoft Access-databaser till SQL Server

nu när du har sett de olika arkitekturerna och databasmotoralternativen som finns tillgängliga, Vill du utforska beslutspunkterna och parametrarna för att göra utvidgningsbeslutet.

den viktigaste delen i denna process är att förstå att inte alla Accessdatabaser behöver ökas. Faktum är att en majoritet av Access-applikationerna inte bör ökas-kostnaden och störningen i verksamheten är helt enkelt inte en kostnadseffektivanvändning av dina resurser. Dessa databaser fungerar bra dagligen och behöver inte attribut som skalbarhet, säkerhet och 100% tillförlitlighet. Av alla Access-databaser i din organisation är endast ett fåtal kandidater för förstoring.

dessutom, från listan över kandidater för förstoring, en majoritet kan upsizedusing en kostnadseffektiv process där endast data flyttas till SQL Server. Alla programmets funktioner i form av formulär och rapporter hålls i Access. Endast den minsta andelen utvidgningsprojekt innebär omskrivning av Åtkomstapplikationen i en ny miljö som .NET.

 Microsoft Access-Utvidgningsmöjligheter för SQL Server

följande avsnitt undersöker vart och ett av de viktigaste områdena som är involverade i databasplanering och diskuterar hur Access fungerar i varje område.

säkerhet

Microsoft Access erbjuder tre olika säkerhetsmekanismer.

  1. Databaslösenord: tilldela ett lösenord till en databas. Endast användare som känner till lösenordet kan öppna databasen.
  2. Jet Workgroup Security: Användare, Grupper och objektbehörigheter kan definieras för att begränsa vem som kan visa/redigera data och vad de kan köra. Workgroup security är tillgängligt för MDB-databaser men inte ACCDB-databaser.
  3. filkryptering: innehållet i databasen kan krypteras på filnivå. ACCDB-kryptering är betydligt bättre än kryptering för MDB.

tyvärr är dessa mekanismer varken robusta eller tillförlitliga. Databaslösenord använder en mycket enkel krypteringsmekanism. I själva verket, ta bort en Access-databas lösenord är enkel sak med tanke på att gratis och kommersiella lösenord” removers ” är lätt att hitta på webben. Medan Access-användare kanske inte är oroliga för sådana bortfall, bör IT-chefer verkligen vara.

medan Jet Workgroup Security är mer robust, lämnar det fortfarande innehållet i hela MDB-databasen öppen från filsystemet. Eftersom alla tabelldata och kod lagras i vanlig vy är det en trivial sak att öppna en MDB-fil i en strängkompatibel redigerare och visa kod, lösenord och tabelldata.

slutligen, eftersom åtkomst kräver fullständiga läsbehörigheter för alla användare till den faktiska databasfilen, kan alla som kan se en delad nätverksenhet gå av med databasen på en disk eller CDR eller e-posta den utanför din organisation.

om Säkerhet är av betydelse är SQL Server mycket säkrare än Microsoft Access, Excel, Word eller något annat program som lagrar sina filer direkt på hårddisken som är tillgänglig för användaren.

tillförlitlighet och underhåll

tillförlitlighet är ett av de viktigaste riktmärkena att undersöka när man överväger att öka storleken. För många verksamhetskritiska applikationer är tillförlitlighet faktiskt det viktigaste övervägandet. Microsoft Access är inte lika pålitlig som SQL Server av flera skäl.

Databaskorruption

när Microsoft Access/Jet-databaser stöter på ett oväntat internt fel eller anslutningsproblem kan de skadas. En korrupt databas låser i allmänhet ut alla användare av databasen och resulterar i dataförlust och störningar i verksamheten.

Microsoft Access/Jet-databaser är mer benägna att korruption än SQL Server för ett antal skäl. Eftersom Access / Jet använder en fildelningsmodell håller alla användare samtidigt aktiva anslutningar till data. Om någon av dessa användare oväntat förlorar anslutningen kan databasen bli skadad. Anslutningsförlust kan inträffa om användarens nätverksanslutning är intermittent, drivrutinsversioner är inte aktuella eller motstridiga versioner av Jet DLL används för att läsa samma databasfil.

Microsoft Access innehåller ett kompakt / reparationsverktyg, men allvarlig databaskorruption åtgärdas inte av det här verktyget. Reparationstjänster från tredje part är tillgängliga, men detta kräver att den berörda databasen skickas till en annan plats, betalar en avgift och väntar på att den ska returneras med blandade resultat.

underhållsproblem

Windows tillåter kopiering av en Microsoft Access-databas även om människor har den öppen, så du kan skapa en säkerhetskopia, men det kan vara ett problem om någon ändrar data när filen kopieras.

komprimering av en Microsoft Access-databas kräver att alla användare är borta från databasen, vilket är problematiskt för lösningar som kör 24/7. Ett lås placeras i databasen på filnivå ( * .ldb eller *.LACCDB-filer) så snart den öppnas av den första användaren.

 schema Microsoft Access-databas kompakt och reparationövervaka dina Microsoft Access-databaser i realtidi en miljö med flera användare, Microsoft Access inte berätta vem som för närvarande i databasen, så det kan vara en administrativ huvudvärk för att få folk från systemet. Vårt Total Access Admin-program låter dig övervaka användarna som går in och ut ur databasen i realtid, vilket hjälper och kan komprimera databasen när alla avslutar, men det är inte en inbyggd funktion i Microsoft Access.

det är ofta svårt att samordna processen för att säkerställa att alla användare loggar ut från en Access-applikation innan de gör en säkerhetskopia.Typiska scenarier innebär att användare lämnar sina datorer när de lämnar kontoret för dagen. Detta lämnar databasen öppen och säkerhetskopieringsprogramvara kommer inte att kunna kopiera databasfilen på ett tillförlitligt sätt. Ofta upptäcks detta först efter att säkerhetskopieringen misslyckats, vilket gör att systemadministratören kan spåra problemet och hoppas att det löser sig innan nästa säkerhetskopiering körs.

dessutom är Microsoft Access inte självinställning som SQL Server. Det är inte automatiskt återta förlorade databasutrymme eller optimera index och frågor. Detta underhåll utförs genom att köra reparation / compact-funktionen. Vårt Total Visual Agent-program låter dig automatisera detta på ett schema som du anger och underhåller en verifieringskedja, men det är inte en inbyggd funktion i Microsoft Access.

om en organisation inte regelbundet säkerhetskopierar enskilda skrivbordsdatabaser kan personer skapa Access-databaser på sina datorer som aldrig säkerhetskopieras eller underhålls. Organisationer kan behandla dem som användardata som kan gå förlorade som om det vore ett Excel-kalkylblad eller Word-dokument, men bättre politik bör vara på plats så att användarna kan spara sina databaser där grundläggande systemadministration tillhandahålls.

Microsoft Access-databaser måste säkerhetskopieras för katastrofåterställning och komprimeras regelbundet för att förbli friska. Ett automatiserat system bör implementeras för att ta hand om det för de många Access-databaser som finns idag och de som skapas i framtiden. SQL Server-förstoring bör övervägas för databaser där sådana automatiserade processer inte kan implementeras på grund av kontinuerlig användning av databasen eller kostnaden för att förlora data är hög.

skalbarhet

skalbarhet definieras som en applikations förmåga att fungera på ett acceptabelt sätt när antalet användare eller processer som anropar applikationen ökar. I vissa situationer kan Microsoft Access/Jet inte skala för att stödja efterfrågan på databasen.

delad Databasarkitektur

innan du gör en förstoring bör din Access-databas ha en delad Databasarkitektur. Detta skiljer användarprogramdatabasen från back-end delad datadatabas. Front-end programdatabas länkar till den delade databasen och uppgraderingar är enklare eftersom data inte behöver ändras för nya versioner (förutsatt tabeller strukturer inte ändras). Mer information finns i vår artikel om Microsoft Access Split Database Architecture för att stödja miljöer med flera användare, förbättra prestanda och förenkla underhåll. Den delade databasarkitekturen kommer också att hjälpa till i en ökning av strävan att bevara den befintliga Åtkomstfronten.

om en enda kopia av en Microsoft Access-databas finns på en nätverksenhet och öppnas av flera användare samtidigt kan du ha ETT skalbarhetsproblem. Men det bör åtgärdas genom att använda en delad databasarkitektur snarare än att uppgradera till SQL Server.

antal samtidiga användare

det har funnits myter om att Microsoft Access-databaser inte kan stödja mer än 20 användare. Det kan ha varit fallet när Microsoft Access introducerades 1992, men det har inte varit fallet på länge.

Microsoft Access tillåter Tekniskt upp till 255 anslutningar per databas. Det betyder att det kan användas för applikationer för lag många gånger att om de inte alla behöver använda det samtidigt.

antalet anslutningar / användare som en Access-databas kan stödja dikteras av hur väl applikationen designades och implementerades. En väl utformad Access-applikation kan stödja 100 + samtidiga användare med anständig prestanda. Å andra sidan kan en dåligt utformad Access-applikation köras vid en genomsökning med två användare. Eller vissa processer är bara tidskrävande och kommer att vara långsam oavsett vilken databas som används. Det handlar egentligen inte om tekniken utan om implementeringen.

tyvärr är många Access-databaser inte väl utformade eller implementerade med bästa praxis. Detta beror på att de flesta Access-databaser skapas av användare som helt enkelt inte har erfarenhet eller kunskap för att skapa professionella databasapplikationer. De är byggda över tid och nya funktioner och datamodeller tackas på när behovet uppstår. Resultatet är en övergripande lösning som inte på ett tillförlitligt sätt kan stödja mer än ett fåtal användare.

öka inte Microsoft Access-applikationer av användarantal om antalet samtidiga användare är relativt lågt. Upsizing bör övervägas om man behöver stödja 100 + samtidiga användare och mer i framtiden.

maximal databasstorlek

varje Microsoft Access-databaser har en maximal storlek på 2 GB. Det är mycket text och numeriska data, men kan lätt överskridas om filer och grafik lagras. För de allra flesta Microsoft Access-databaser är det mycket större än databasen någonsin kommer att få. Ibland blir databaser stora, men en kompakt reducerar den vanligtvis till en mer rimlig storlek. Se till att du också dekompilerar dina Microsoft Access-databaser då och då när du komprimerar.

med en delad databasarkitektur kan ett Microsoft Access-program länka till data från flera Microsoft Access-databaser som ger upp till mer än 2 GB. Naturligtvis är det inte en bra design om data inte ska delas över flera tabeller eller databaser.

förstoring bör övervägas om databasen överstiger 1 GB eller kommer att överstiga 2 GB inom en snar framtid.

olika versioner av Microsoft Access och Jet

Microsoft Access Database Launcherdet finns många versioner av Microsoft Access. En Access-databaslösning kan vara beroende av en viss version av ett Access-databasformat, förlita sig på funktioner som endast är tillgängliga på vissa versioner av Access, komponenter som ADO och DAO, etc. Även om det är lätt att distribuera en Access-databas till användare som redan har Access installerat på sin dator, är det inte så lätt att kontrollera vilken version av Access som öppnas för att köra den.

en dator kan ha flera versioner av Access installerade på den. Om du öppnar en ACCDB-eller MDB-fil startar du direkt Access-versionen som är associerad med filtillägget (vanligtvis den senaste Access-versionen som öppnades).

dessutom, när Access 2000 introducerades, var det nya MDB-filformatet inte kompatibelt med den tidigare Access 97-versionen. Att öppna databasen i Access 2000 (eller senare) kan uppgradera databasen till det nya formatet och förhindra att användare av den gamla versionen öppnar den, vilket var ett problem i fleranvändarmiljöer. Detta problem har inte återkommit sedan 2000-versionen.

vårt startprogram Total Access hjälper organisationer att centralt hantera och distribuera Microsoft Access-databaser till varje användares skrivbord och kontrollera vilken version av Access som lanseras för den. Detta gör det enkelt att distribuera dina Access-applikationer med en genväg, och den senaste versionen av din databas är alltid installerad på varje användares maskin. Det gör det också enkelt att uppgradera din ansökan från en version av tillgång till en annan.

problem med att hantera olika versioner av Microsoft Access, eller distribuera uppdateringar av Microsoft Access-databaser, löses inte genom att migrera till SQL Server om du behåller access-fronten i databasen. Det kan bara åtgärdas genom att ersätta Microsoft Access helt. Det kan lösa det omedelbara problemet, men det hindrar användare från att få sitt arbete gjort. Vi har sett organisationer förbjuda Microsoft Access endast för anställda att köpa sämre databasprodukter istället eftersom databasproblemet inte försvann. För de flesta organisationer är det opraktiskt att använda professionella utvecklare för att skapa varje databas som behövs när de flesta kan hanteras av slutanvändare.

prestanda

prestanda är en vanlig anledning till att människor vill uppgradera sina Microsoft Access-databaser till SQL Server. Det antas att SQL Server kommer att köras snabbare än en Microsoft Access-databas. När allt kommer omkring hanteras SQL Server av en separat server som bara skickar de begärda posterna och kan använda flera processorer och maskiner för att hantera stora datamängder.

Microsoft Access, som är filbaserad, skickar hela databasen, tabellen eller indexet beroende på begäran för klienten (PC) att bearbeta.

Microsoft Access Database Analyzer även om detta skulle ge kanten till serverns tillvägagångssätt, har vi funnit att prestanda inte förbättras i många situationer. Här är några anledningar:

  • många Access-databaser är relativt små (under 100 MB). Med nuvarande hårdvaru-och nätverksanslutning är datamängderna nästan omedelbara oavsett om det är några poster eller hela tabellen.
  • SQL Server utför extra arbete som Access-databaser inte gör. Till exempel, SQL Server kan upprätthålla en transaktionslogg och utför kontinuerligt underhåll som lägger overhead. Vi har sett minskningar i prestanda när små databaser är uppdimensionerade till SQL Server.
  • SQL Server är utformad för att hantera mycket stora databaser långt bortom 2 GB-gränsen för åtkomst. Det är inte optimerat för vad det skulle betrakta små databaser.
  • att utföra frågor från olika länkade tabellkällor kan inte dra nytta av SQL Server-optimering eftersom arbetet fortfarande utförs av Access
  • Datacaching av Microsoft Access för Access-tabeller finns eftersom det vet om data har ändrats. För SQL Server-data är caching i minnet inte möjligt eftersom data kan ha ändrats sedan den senaste begäran.
  • en dåligt utformad uppsättning tabeller, frågor eller VBA-kod kommer att köras långsamt oavsett om data finns i Access eller SQL Server.

innan du uppgraderar till SQL Server av prestandaskäl, se till att din Access-databas är optimerad så att den körs så bra som möjligt i Access. Att gå till SQL Server fixar inte allvarliga databas-och frågedesignproblem. Att fixa dessa i Access är faktiskt lättare än att göra det senare i SQL Server, så den tid och ansträngning som spenderas på att göra detta bevaras om du ökar senare.

för att säkerställa att din Microsoft Access-databas inte har allvarliga problem, använd vårt Total Access Analyzer-program för att dokumentera och analysera din databas. Den upptäcker över 300 typer av fel, designförslag och prestandaproblem som kan hjälpa dig att optimera din Access-databas.

för relativt små Microsoft Access-databaser, inte upsize till SQL Server enbart av prestandaskäl. Det kan finnas en minskning av prestanda efter uppgradering. Leta efter sätt att optimera problemen i Access innan du gör investeringen för att öka storleken. Prestandaproblem kan inte vara relaterade till datalagringen.

Lämna ett svar

Din e-postadress kommer inte publiceras.

Previous post Picha Farms pumpa patch i Puyallup, WA
Next post ansluta. Upptäcka. Aktie.