teraz, gdy widzisz dostępne różne architektury i opcje silnika bazy danych, będziesz chciał zbadać punkty decyzyjne i parametry do podjęcia decyzji o zwiększeniu rozmiaru.
najważniejszą częścią tego procesu jest zrozumienie, że nie wszystkie bazy danych Accessdat muszą być powiększone. W rzeczywistości większość aplikacji dostępu nie powinna być zwiększana—koszty i zakłócenia w działalności nie są po prostu opłacalnym wykorzystaniem zasobów. Te bazy danych działają dobrze na co dzień i nie potrzebują takich atrybutów, jak skalowalność, bezpieczeństwo i 100% niezawodność. Spośród wszystkich baz danych Access w Twojej organizacji, tylko nieliczni są kandydatami do zwiększenia rozmiaru.
dodatkowo, z listy kandydatów do powiększenia, większość może zostać powiększona przy użyciu opłacalnego procesu, w którym tylko dane są przenoszone do serwera SQL. Cała funkcjonalność aplikacji w zakresie formularzy i raportów jest utrzymywana w dostępie. Tylko najmniejszy procent projektów zwiększających rozmiar wymaga przepisania aplikacji Accessapplication w nowym środowisku, takim jak. NET.
poniższa sekcja analizuje każdy z kluczowych obszarów związanych z planowaniem baz danych i omawia działanie programu Access w każdym z tych obszarów.
bezpieczeństwo
Microsoft Access oferuje trzy różne mechanizmy zabezpieczeń.
- hasła do bazy danych: Przypisz hasło do bazy danych. Tylko użytkownicy, którzy znają hasło, mogą otworzyć bazę danych.
- zabezpieczenia Jet Workgroup: można zdefiniować Uprawnienia użytkowników, grup i obiektów, aby ograniczyć, kto może przeglądać/edytować dane i co może uruchamiać. Workgroup security jest dostępny dla baz danych MDB, ale nie dla baz danych ACCDB.
- Szyfrowanie plików: zawartość bazy danych może być szyfrowana na poziomie pliku. Szyfrowanie ACCDB jest znacznie lepsze niż szyfrowanie dla MDB.
niestety, mechanizmy te nie są ani solidne, ani niezawodne. Hasła do baz danych wykorzystują bardzo prosty mechanizm szyfrowania. W rzeczywistości usunięcie hasła dostępu do bazy danych jest prostą sprawą, biorąc pod uwagę, że bezpłatne i komercyjne „usuwacze haseł” można łatwo znaleźć w Internecie. Chociaż użytkownicy dostępu mogą nie być zaniepokojeni takimi przerwami, menedżerowie IT z pewnością powinni.
chociaż Jet Workgroup Security jest bardziej niezawodny, nadal pozostawia zawartość całej bazy danych MDB otwartą z systemu plików. Ponieważ wszystkie dane tabeli i Kod jest przechowywany w widoku zwykłym, jest to błaha sprawa, aby otworzyć plik MDB w edytorze zgodnym z ciągiem znaków i wyświetlić kod, hasła i dane tabeli.
wreszcie, ponieważ dostęp wymaga pełnych uprawnień do odczytu dla wszystkich użytkowników do rzeczywistego pliku bazy danych, każdy, kto widzi współdzielony dysk sieciowy, może odejść z bazą danych na dysku lub CDR lub wysłać ją pocztą e-mail poza organizacją.
jeśli Bezpieczeństwo ma znaczenie, SQL Server jest znacznie bezpieczniejszy niż Microsoft Access, Excel, Word lub jakikolwiek inny program, który przechowuje swoje pliki bezpośrednio na dysku twardym dostępnym dla użytkownika.
niezawodność i konserwacja
niezawodność jest jednym z kluczowych punktów odniesienia do zbadania przy rozważaniu zwiększenia rozmiaru. W wielu krytycznych zastosowaniach najważniejsza jest niezawodność. Microsoft Access nie jest tak niezawodny jak SQL Server z kilku powodów.
uszkodzenie bazy danych
gdy bazy danych Microsoft Access/Jet napotkają nieoczekiwany błąd wewnętrzny lub problem z połączeniem, mogą zostać uszkodzone. Uszkodzona baza danych zazwyczaj blokuje wszystkich użytkowników bazy danych i powoduje utratę danych i zakłócenia działalności.
bazy danych Microsoft Access/Jet Są bardziej podatne na uszkodzenia niż SQL Server z wielu powodów. Ponieważ Access / Jet używa modelu współdzielenia plików, wszyscy użytkownicy jednocześnie utrzymują aktywne połączenia z danymi. Jeśli któryś z tych użytkowników niespodziewanie utraci połączenie, baza danych może zostać uszkodzona. Utrata połączenia może się zdarzyć, jeśli połączenie sieciowe użytkownika jest przerywane, wersje sterowników nie są aktualne lub sprzeczne wersje bibliotek DLL Jet Są używane do odczytu tego samego pliku bazy danych.
Microsoft Access zawiera narzędzie Compact / Repair, ale poważne uszkodzenie bazy danych nie jest naprawiane przez to narzędzie. Dostępne są usługi naprawy stron trzecich, ale wymaga to wysłania dotkniętej bazy danych do innej lokalizacji, uiszczenia opłaty i oczekiwania na jej zwrot z mieszanymi wynikami.
problemy z konserwacją
System Windows umożliwia kopiowanie bazy danych Microsoft Access, nawet jeśli ludzie mają ją otwartą, więc można utworzyć kopię zapasową, ale może to być problem, jeśli ktoś modyfikuje dane w czasie kopiowania pliku.
zagęszczanie bazy danych Microsoft Access wymaga, aby wszyscy użytkownicy byli poza bazą danych, co jest problematyczne w przypadku rozwiązań działających 24/7. Blokada jest umieszczana na bazie danych na poziomie pliku (*.ldb lub *.laccdb plików), jak tylko zostanie otwarty przez pierwszego użytkownika.
W środowisku wielu użytkowników program Microsoft Access nie informuje, kto jest obecnie w bazie danych, więc usunięcie osób z systemu może być bólem głowy. Nasz program Total Access Admin pozwala monitorować użytkowników wchodzących i wychodzących z bazy danych w czasie rzeczywistym, co pomaga i może skompaktować bazę danych po wyjściu wszystkich, ale nie jest to wbudowana funkcja Microsoft Access.
często trudno jest skoordynować proces zapewnienia wszystkim użytkownikom wylogowania się z aplikacji dostępowej przed wykonaniem kopii zapasowej.Typowe scenariusze polegają na tym, że użytkownicy zostawiają włączone Komputery po wyjściu z Biura na cały dzień. Spowoduje to otwarcie bazy danych, a oprogramowanie do tworzenia kopii zapasowych nie będzie w stanie wiarygodnie skopiować pliku bazy danych. Często jest to wykrywane dopiero po awarii kopii zapasowej, pozostawiając administratorowi systemu śledzenie problemu i nadzieję, że zostanie on rozwiązany przed uruchomieniem następnej kopii zapasowej.
ponadto program Microsoft Access nie jest samo-dostrajający się jak SQL Server. Nie odzyskuje automatycznie utraconej przestrzeni bazy danych ani nie optymalizuje indeksów i zapytań. Ta konserwacja jest wykonywana przez uruchomienie funkcji naprawa / kompaktowanie. Nasz program Total Visual Agent umożliwia automatyzację tego procesu zgodnie z ustalonym harmonogramem i utrzymywanie ścieżki audytu, ale nie jest to wbudowana funkcja programu Microsoft Access.
jeśli organizacja nie tworzy regularnie kopii zapasowych pojedynczych baz danych pulpitu, ludzie mogą tworzyć bazy danych dostępowych na swoich komputerach, które nigdy nie są archiwizowane ani utrzymywane. Organizacje mogą traktować je jako dane użytkownika, które mogą zostać utracone, tak jakby były to arkusze kalkulacyjne Excel lub dokumenty programu Word, ale powinny istnieć lepsze zasady, aby użytkownicy mogli zapisywać swoje bazy danych, w których zapewnia się podstawową administrację systemem.
kopie zapasowe baz danych programu Microsoft Access należy wykonać w celu odzyskiwania po awarii i okresowo kompresować, aby zachować zdrowie. Należy wdrożyć zautomatyzowany system, aby zadbać o to dla wielu baz danych dostępowych, które istnieją dzisiaj i te utworzone w przyszłości. Zwiększenie rozmiaru serwera SQL należy rozważyć w przypadku baz danych, w których takie zautomatyzowane procesy nie mogą być realizowane z powodu ciągłego korzystania z bazy danych lub koszt utraty jakichkolwiek danych jest wysoki.
skalowalność
skalowalność jest zdefiniowana jako zdolność aplikacji do działania w akceptowalny sposób w miarę wzrostu liczby użytkowników lub procesów wywołujących aplikację. W niektórych sytuacjach Microsoft Access / Jet nie może skalować w celu obsługi zapotrzebowania na bazę danych.
Dzielona Architektura bazy danych
przed powiększeniem bazy danych programu Access powinna mieć dzieloną architekturę bazy danych. Oddziela To bazę danych aplikacji użytkownika od bazy danych udostępnionych danych zaplecza. Linki do bazy danych aplikacji front-end do udostępnionej bazy danych i uaktualnień są łatwiejsze, ponieważ dane nie muszą być modyfikowane dla nowych wersji (dostarczone struktury tabel nie są modyfikowane). Aby uzyskać więcej informacji, zapoznaj się z naszym artykułem na temat architektury dzielonej bazy danych Microsoft Access w celu obsługi środowisk wieloosobowych, poprawy wydajności i uproszczenia konserwacji. Dzielona Architektura bazy danych pomoże również w dążeniu do zwiększenia rozmiaru, aby zachować istniejący front-end dostępu.
jeśli jedna kopia bazy danych Microsoft Access znajduje się na dysku sieciowym i jest otwierana przez wielu użytkowników jednocześnie, może wystąpić problem ze skalowalnością. Ale to powinno być rozwiązane za pomocą podzielonej architektury bazy danych, a nie zwiększenia rozmiaru do SQL Server.
liczba jednoczesnych użytkowników
istnieją mity na temat tego, że bazy danych Microsoft Access nie są w stanie obsługiwać więcej niż 20 użytkowników. Mogło tak być, gdy Microsoft Access został wprowadzony w 1992 roku, ale tak nie było od dłuższego czasu.
Microsoft Access technicznie umożliwia do 255 połączeń na bazę danych. Oznacza to, że może być używany w aplikacjach dla zespołów wiele razy, jeśli nie wszystkie muszą używać go w tym samym czasie.
liczba połączeń / użytkowników, które może obsługiwać baza danych Access, zależy od tego, jak dobrze aplikacja została zaprojektowana i wdrożona. Dobrze zaprojektowana aplikacja dostępu może obsługiwać 100 + jednoczesnych użytkowników z przyzwoitą wydajnością. Z drugiej strony, źle zaprojektowana aplikacja dostępu może działać w indeksowaniu z dwoma użytkownikami. Lub niektóre procesy są po prostu czasochłonne i będą powolne bez względu na to, jaka baza danych jest używana. Tak naprawdę nie chodzi o technologię, ale o implementację.
niestety wiele baz danych dostępu nie jest dobrze zaprojektowanych lub wdrożonych przy użyciu najlepszych praktyk. Dzieje się tak dlatego, że większość baz danych dostępowych jest tworzona przez użytkowników, którzy po prostu nie mają doświadczenia ani wiedzy, aby tworzyć profesjonalne aplikacje bazodanowe. Są one budowane w czasie, a nowe funkcje i modele danych są łączone w miarę potrzeby. Rezultatem jest ogólne rozwiązanie, które nie może niezawodnie obsługiwać więcej niż kilku użytkowników.
nie zwiększaj rozmiaru aplikacji Microsoft Access ze względu na liczbę użytkowników, jeśli liczba jednoczesnych użytkowników jest stosunkowo niska. Upsizing należy rozważyć, jeśli trzeba wspierać 100 + jednoczesnych użytkowników i więcej w przyszłości.
maksymalny rozmiar bazy danych
każda baza danych Microsoft Access ma maksymalny rozmiar 2 GB. To dużo danych tekstowych i liczbowych, ale można je łatwo przekroczyć, jeśli przechowywane są pliki i grafika. W przypadku zdecydowanej większości baz danych Microsoft Access jest to znacznie większe niż kiedykolwiek uzyskana baza danych. Czasami bazy danych stają się duże, ale kompakt Zwykle redukuje je do bardziej rozsądnych rozmiarów. Należy również od czasu do czasu dekompilować bazy danych programu Microsoft Access podczas zagęszczania.
dzięki podzielonej architekturze bazy danych aplikacja Microsoft Access może łączyć się z danymi z wielu baz danych Microsoft Access, które sumują się do więcej niż 2 GB. Oczywiście nie jest to dobry projekt, jeśli dane nie powinny być dzielone na wiele tabel lub baz danych.
zwiększenie rozmiaru należy rozważyć, jeśli baza danych przekracza 1 GB lub przekroczy 2 GB w najbliższej przyszłości.
różne wersje Microsoft Access i Jet
istnieje wiele wersji Microsoft Access. Rozwiązanie bazy danych Access może zależeć od konkretnej wersji formatu bazy danych Access, polegać na funkcjach dostępnych tylko w niektórych wersjach Access, komponentach takich jak ADO i DAO itp. Chociaż łatwo jest rozpowszechniać bazę danych Access wśród użytkowników, którzy mają już zainstalowany dostęp na swoim komputerze, nie jest tak łatwo kontrolować, która wersja Access jest otwarta, aby ją uruchomić.
komputer może mieć zainstalowane wiele wersji programu Access. Otwarcie pliku ACCDB lub MDB bezpośrednio uruchamia wersję dostępu, która jest związana z tym rozszerzeniem pliku (zwykle ostatnia wersja dostępu, która została otwarta).
dodatkowo, gdy wprowadzono Access 2000, nowy format pliku MDB nie był kompatybilny z wcześniejszą wersją Access 97. Otwieranie bazy danych w programie Access 2000 (lub nowszym) mogłoby uaktualnić bazę danych do nowego formatu i uniemożliwić użytkownikom starej wersji jej otwarcie, co stanowiło problem w środowiskach wieloosobowych. Ten problem nie pojawił się ponownie od wersji z 2000 roku.
nasz program Total Access Startup pomaga organizacjom centralnie zarządzać i wdrażać bazy danych Microsoft Access na pulpicie każdego użytkownika oraz kontrolować, która wersja programu Access zostanie dla niego uruchomiona. Ułatwia to dystrybucję aplikacji dostępowych za pomocą skrótu, a najnowsza wersja bazy danych jest zawsze instalowana na komputerze każdego użytkownika. Ułatwia to również uaktualnienie aplikacji z jednej wersji dostępu do drugiej.
problemy z zarządzaniem różnymi wersjami Microsoft Access lub dystrybucją aktualizacji baz danych Microsoft Access nie są rozwiązywane przez migrację do SQL Server, jeśli zachowasz front-end dostępu do bazy danych. Można temu zaradzić jedynie poprzez całkowite zastąpienie programu Microsoft Access. To może rozwiązać natychmiastowy problem, ale uniemożliwia użytkownikom wykonywanie ich pracy. Widzieliśmy, jak organizacje zakazują Microsoft Access tylko pracownikom kupowania gorszych produktów bazodanowych, ponieważ problem z bazą danych nie zniknął. W większości organizacji korzystanie z profesjonalnych programistów do tworzenia każdej bazy danych jest niepraktyczne, gdy większość z nich może być obsługiwana przez użytkowników końcowych.
wydajność
wydajność jest częstym powodem, dla którego ludzie chcą uaktualnić swoje bazy danych Microsoft Access do SQL Server. Istnieje założenie, że SQL Server będzie działał szybciej niż baza danych Microsoft Access. W końcu SQL Server jest zarządzany przez oddzielny serwer, który wysyła tylko żądane rekordy i może używać wielu procesorów i maszyn do zarządzania ogromnymi zbiorami danych.
Microsoft Access, bazując na plikach, wysyła całą bazę danych, tabelę lub indeks w zależności od żądania klienta (komputera) do przetworzenia.
chociaż zapewniłoby to przewagę podejściu serwerowemu, odkryliśmy, że wydajność nie jest poprawiona w wielu sytuacjach. Oto kilka powodów:
- wiele dostępowych baz danych jest stosunkowo niewielkich (poniżej 100 MB). Przy obecnym sprzęcie i łączności sieciowej ilość przekazywanych danych jest niemal natychmiastowa, niezależnie od tego, czy jest to kilka rekordów, czy cała tabela.
- SQL Server wykonuje dodatkową pracę, której nie wykonuje dostęp do baz danych. Na przykład, SQL Server może prowadzić dziennik transakcji i wykonuje ciągłą konserwację, która dodaje narzut. Zauważyliśmy spadek wydajności, gdy małe bazy danych są powiększane do SQL Server.
- SQL Server jest przeznaczony do obsługi bardzo dużych baz danych znacznie przekraczających limit 2 GB dostępu. Nie jest zoptymalizowany pod kątem małych baz danych.
- wykonywanie zapytań z różnych połączonych źródeł tabel może nie przynieść korzyści z optymalizacji serwera SQL, ponieważ praca jest nadal wykonywana przez Access
- buforowanie danych przez Microsoft Access dla tabel Access istnieje, ponieważ wie, czy DANE się zmieniły. W przypadku danych SQL Server buforowanie w pamięci nie jest możliwe, ponieważ dane mogły ulec zmianie od ostatniego żądania.
- źle zaprojektowany zestaw tabel, zapytań lub kodu VBA będzie działał powoli, niezależnie od tego, czy dane są w Access, czy SQL Server.
przed zwiększeniem rozmiaru do SQL Server ze względu na wydajność upewnij się, że baza danych Access jest zoptymalizowana, tak aby działała jak najlepiej w programie Access. Przejście do SQL Server nie naprawi poważnych problemów z projektowaniem bazy danych i zapytań. Naprawienie ich w Access jest w rzeczywistości łatwiejsze niż później w SQL Server, więc czas i wysiłek spędzony na robieniu tego jest zachowany, jeśli później zwiększysz rozmiar.
aby mieć pewność, że baza danych Microsoft Access nie ma poważnych problemów, użyj naszego programu Total Access Analyzer do dokumentowania i analizowania bazy danych. Wykrywa ponad 300 rodzajów błędów, sugestii projektowych i problemów z wydajnością, które mogą pomóc w optymalizacji bazy danych Access.
w przypadku relatywnie małych baz danych Microsoft Access nie należy zwiększać rozmiaru do SQL Server wyłącznie ze względu na wydajność. Może wystąpić spadek wydajności po zwiększeniu rozmiaru. Przed dokonaniem inwestycji w upsize poszukaj sposobów optymalizacji problemów związanych z dostępem. Problemy z wydajnością mogą być niezwiązane z przechowywaniem danych.