Przewodnik po projektowaniu, wdrażaniu i rozwiązywaniu problemów w bazie danych programu SQL Server

0

Baza danych to model, w którym dane mogą być przechowywane logicznie i mogą być pobierane do wykorzystania w przyszłości. Jeśli znasz Microsoft Excel, przechowujesz już ważne dane w formie tabelarycznej.

Baza danych to nic innego jak podobna tabelaryczna forma przechowywania danych, podobnie jak arkusze kalkulacyjne. Zawiera kolumny i wiersze, gdzie kolumny składają się z atrybutów, a wiersze zbudowane są z rekordów.

Na przykład, jeśli tworzysz bazę danych nazwisk i numerów telefonów swoich klientów, potrzebujesz nazw kolumn, takich jak Imię, Nazwisko i Numer telefonu. Następnie wiersze można dodawać pod kolumnami zgodnie z wymaganiami liczby klientów. Baza danych może pobierać i aktualizować dane w razie potrzeby. Może przeprowadzać różne złożone obliczenia i sprawdzać krzyżowo zapisy w różnych tabelach.

Rodzaje baz danych

Bazy danych można zasadniczo podzielić na dwa różne typy – plik płaski i relacyjny.

Płaski plik

Jeśli masz do czynienia z niewielką ilością danych, system płaskich baz danych może być najlepszym rozwiązaniem dla Twoich potrzeb. Chociaż złożone dane mogą być przechowywane w plikach płaskich, proces ten może być czasochłonny i kosztowny w porównaniu z relacyjnym systemem zarządzania. Zatem proste dane, w których ciągi danych można rozróżnić po prostu przecinkiem, znajdują się w płaskim systemie plików.

Relacyjny

Baza danych, na przykład MySQL, Oracle lub serwer MS SQL, może służyć do tworzenia dużych i złożonych struktur danych w bardzo logiczny sposób. Ponieważ tabele mogą być ze sobą powiązane, nazywane są „relacyjnymi bazami danych".

Kroki projektowania bazy danych za pomocą SQL Server

Krok 1

Zainstaluj oprogramowanie – Najpierw musisz zainstalować oprogramowanie firmy Microsoft. Użytkownicy komputerów Mac mogą instalować z programów DbVisualizer lub Squirrel, które mają charakter open source.

Krok 2

Przedstaw SQL Server Studio — musisz uruchomić program, uruchamiając studio zarządzania serwerem SQL. Jeśli masz już uruchomiony serwer, potrzebujesz pozwolenia na połączenie. Ale jeśli tworzysz nową, musisz wybrać „Uwierzytelnianie systemu Windows” i wstawić nazwę bazy danych jako (.) Teraz wszystko jest gotowe do połączenia po kliknięciu przycisku „Połącz”.

Krok 3

Znajdź folder bazy danych — musisz zlokalizować folder bazy danych. Po połączeniu otworzy się okno Eksploratora obiektów. Możesz kliknąć ikonę „+”, aby rozwinąć opcję, a następnie łatwo znaleźć folder bazy danych.

Krok 4

Utwórz nową — zdalni eksperci DBA przystąpią teraz do tworzenia nowej bazy danych. Musisz nazwać bazę danych i pozostawić resztę funkcji, aby działały automatycznie. Podczas wpisywania nazw baz danych dwa pliki, a mianowicie; Dane i Plik dziennika zostaną utworzone domyślnie. Pliki danych przechowują wszystkie dane, podczas gdy pliki dziennika mogą śledzić aktualizacje w bazie danych. Teraz musisz kliknąć „OK”, aw folderze pojawi się ikona nowej cylindrycznej bazy danych.

Krok 5

Utwórz tabelę — wybierz folder „Tabele”, klikając prawym przyciskiem myszy rozwinięty folder bazy danych. Stamtąd można wybrać „Nowy stół” do tworzenia i edytowania nowego stołu.

Krok 6

Utwórz klucz podstawowy — pierwsza kolumna w tabeli bazy danych musi zawierać klucz podstawowy. Tym kluczem może być dowolny element, taki jak identyfikator lub numer seryjny. Możesz odznaczyć przycisk „allow null” i wpisać „int” w opcji Typ danych. Ale jeśli chcesz zezwolić na wartość null, Twój pierwszy wpis z pewnością będzie równy zero.

Krok 7

Struktura stołu – Struktura stołu musi być ułożona w odpowiedni sposób. Ponieważ tabele są tworzone przez kolumny i pola, musisz reprezentować wpis bazy danych przez każdą kolumnę. Na przykład, jeśli tworzysz bazę kontaktów swoich klientów, muszą istnieć kolumny takie jak „Imię”, „Nazwisko”, „Adres” i „Numer telefonu”.

Krok 8

Twórz różne kolumny — po wypełnieniu klucza podstawowego możesz skupić się na tworzeniu różnych kolumn poniżej klucza podstawowego. Musisz wybrać dokładny typ danych, aby dopasować wszystkie informacje.

  • int – Ten typ danych jest zasadniczo używany dla liczb całkowitych i można go zaobserwować w polu ID.
  • nchar (#) – Stosowany głównie do tekstów, takich jak imiona, nazwiska i adresy. Nawiasy powinny zawierać maksymalną dopuszczalną liczbę znaków w każdym polu. Numery telefonów można również zapisywać w tym formacie, ponieważ nie wymaga to żadnych obliczeń matematycznych.
  • decimal(x,y) – Tutaj można zapisać dziesiętną postać liczb. Nawiasy oznaczają całkowitą liczbę cyfr na cyfrze oraz liczbę cyfr tuż po przecinku. Na przykład dziesiętny (4, 2) zapisze liczby jako 00.00.
Krok 9

Zapisz tabelę danych — po zakończeniu zadania tworzenia tabeli z różnymi polami i kolumnami należy zapisać tabelę, nadając jej nazwę. Nazwa tabeli musi pomóc w rozpoznaniu zawartości tabeli bazy danych. Pasek narzędzi zawiera ikonę Zapisz, którą należy kliknąć, aby wykonać akcję.

Krok 10

Dodaj dane w tabeli – Gdy jesteś gotowy z tabelą, możesz teraz dodać dane zgodnie ze swoimi wymaganiami. Możesz rozwinąć swój folder Tables z okna Eksploratora obiektów, a jeśli ładowanie nowej tabeli zajmuje trochę czasu, wystarczy odświeżyć folder Tables. Na przykład, jeśli dodałeś 400 wierszy, po prostu wybierz „Edytuj 400 pierwszych wierszy”, klikając prawym przyciskiem myszy folder Tabela.

Krok 11

Zapisz dane i wykonaj tabelę – Jeśli jesteś gotowy po zapisaniu wszystkich danych, po prostu kliknij przycisk Wykonaj SQL na pasku narzędzi. Serwer SQL wykona się automatycznie i przejrzy wszystkie zapisane dane. Możesz także wykonać SQL, naciskając Ctrl + R na klawiaturze. Ewentualne błędy zostaną podświetlone przed wykonaniem.

Krok 12

Zapytanie o dane – Teraz, po zakończeniu procesu projektowania, możesz łatwo wyszukiwać dane w celu wykonania wszystkich analiz i raportów. Dzięki temu raporty zapytań o dane mogą być wykorzystywane do celów administracyjnych Twojego przedsiębiorstwa.

Rozwiązywanie problemów z bazą danych w SQL Server

Problemy z łącznością

Łączność może być bardzo częstym problemem serwera bazy danych. Gdy nowi użytkownicy zaczną wchodzić w interakcję z serwerem, połączenie może czasami zostać nawiązane. Serwer może utrzymywać doskonałe połączenie przez wiele lat, ale może nagle stracić synchronizację między aplikacjami a użytkownikami końcowymi w swoim systemie.

Aby rozwiązać ten problem, należy skoncentrować się na czasie trwania generowania błędów. Poniższy rysunek prawidłowo wyjaśnia proces rozwiązywania problemów.

Jeśli błąd jest generowany w ciągu 25-30 sekund, możesz być pewien, że na serwerze występują problemy z łącznością. Z drugiej strony, jeśli czas trwania wynosi zaledwie kilka sekund, na przykład 5-6 sekund, można łatwo założyć, że problem jest związany z konfiguracją i ustawieniami lub problemami związanymi z uprawnieniami na serwerze. W przypadku 30-sekundowego limitu czasu wymagane jest prawidłowe wysłanie polecenia ping do hosta, a wtedy serwer może nie zapewnić dostępu nowym klientom. Zawsze zaleca się, aby serwer mógł być używany z określonymi nazwanymi instancjami, aby uniknąć tego konkretnego problemu.

Jeśli połączenie nadal działa uporczywie, możesz przeprowadzić Profiler z Audit Login, a następnie sprawdzić przycisk Failed Audit Login, aby zidentyfikować wszystkie nieudane zdarzenia. Jeśli nic się nie dzieje, możesz mieć pewność, że zapory ogniowe, nazwane instancje i odbiorniki portów są dostępne domyślnie. Jeśli wystąpi tutaj jakiekolwiek zdarzenie, potrzebujesz dalszych szczegółowych informacji na temat problemu z połączeniem.

Kwestie architektoniczne

Kwestie architektoniczne mogą obejmować bloki, zakleszczenia i proces nadmiernego blokowania. Wraz ze wzrostem obciążenia i liczby użytkowników końcowych te problemy z architekturą mogą przybrać dużą formę na Twoim serwerze. W tym przypadku kod nie reprezentuje poprawnie współbieżnego modelu serwera SQL ze względu na bloki w spójności różnych transakcji. Chociaż problem pozostaje ukryty do czasu wzmożonego wykorzystania aplikacji, nadal wymaga rozwiązania, aby uzyskać odpowiednie zaplecze architektoniczne. Ten problem jest nieco podobny, gdy opona samochodowa działa dobrze na gładkich drogach w mieście, ale może być podatna na wypadki podczas jazdy po pagórkowatych drogach. Zapytanie DMV może być najlepszym rozwiązaniem w leczeniu tych uśpionych problemów na twoim serwerze. Możesz przedstawić polecenie zapytania, takie jak sys. dm_os_waiting_tasks, aby dowiedzieć się, ile zapytań ma status oczekiwania. Na przykład ten konkretny DMV sprawdza zapytania, które są zablokowane.

SELECT
w.session_id
w.wait_duration_ms
w.wait_time
w.blocking_session_id
r.total_elapsed_time
FROM
sys.dm_os_waiting_tasks
WHERE
w.session_id>100

DMV może również sprawdzić ogólne statystyki serwera, jeśli jakieś zadanie jest w stanie oczekiwania. W związku z tym problemy z blokowaniem można wyeliminować, jeśli zapytania mogą być zgłaszane prawidłowo. Kolizji danych można uniknąć, jeśli indeks może działać znacznie szybciej podczas całej operacji. Potrafisz zlokalizować impas i skutecznie sobie z nim poradzić. Impasowi można zaradzić poprzez ponowne uporządkowanie rozkazów operacji ze wszystkimi problemami w sekwencji. Można również skorzystać z opcji wskazówek NOLOCK, ale musisz być świadomy wszystkich jej odwrotnych skutków w swoim środowisku spójności danych. Rozwiązywanie problemów związanych z zakleszczeniami może wymagać specjalistycznej wiedzy. Jeśli popełnisz błąd w jednym kroku, rozwiązywanie problemów może okazać się dla Ciebie bardzo kosztowne!

Odzyskiwanie po awarii

Chociaż odzyskiwanie danych jest możliwe na różnych etapach rozwiązywania problemów z SQL, zawsze zaleca się wykonanie odpowiedniej kopii zapasowej poza siedzibą firmy na wypadek różnych awarii i zdarzeń losowych. Musisz osiągnąć cel punktu odzyskiwania (RPO) i cel czasu odzyskiwania (RTO), regularnie aktualizując istniejący plan odzyskiwania. Regularne aktualizacje i testy pomagają Twojemu serwerowi radzić sobie ze zmianami środowiskowymi w środku sytuacji kryzysowej.

Alerty i błędy

Regularne konfigurowanie alertów jest jednym z ważnych zadań wykonywanych przez serwer bazy danych. Błędy i problemy mogą łatwo pojawić się, jeśli alerty są wykorzystywane w odpowiedniej konfiguracji. Komunikat o błędzie może pojawić się wraz ze szczegółami technicznymi i może być bardzo korzystny w rozwiązaniu problemów. W kilku wyjątkach, gdy komunikat o błędzie nie zawiera szczegółów, zautomatyzowane operacje mają być wykonywane przez różne opcje rejestrowania udostępniane przez serwery SQL. Wyszukiwarki mogą być również bardzo pomocne, jeśli wstawisz odpowiedni kod błędu w ich polach wyszukiwania. Musisz tylko zidentyfikować pierwotną przyczynę, zanim podejmiesz działania w celu rozwiązania jakichkolwiek problemów z serwerem. Jeśli chcesz skorzystać z pomocy mediów społecznościowych, możesz zwrócić uwagę na #sqlhelp na Twitterze, który oferuje również doskonałe opcje rozwiązywania błędów.

Problemy z wydajnością

Wydajność bazy danych pozostaje bez zarzutów, dopóki rozmiar nie jest mały. Jednak gdy rozmiar bazy danych wzrasta, na serwerze mogą wystąpić różne problemy z wydajnością. W związku z tym serwery mogą stopniowo przestać odpowiadać na niektóre zapytania, które działają w tle i powodują różne problemy. Teraz, aby zidentyfikować te zapytania, możesz użyć procesu sp_WhoIsActive i znaleźć je. Ten DMV okazuje się bardzo przydatnym narzędziem podczas rozwiązywania problemów i dostrajania wydajności bazy danych.

Jak każda inna aplikacja systemu Windows, baza danych serwera SQL może również powodować różne problemy. Chociaż rozwiązywanie problemów nie jest zadaniem niemożliwym, wymaga praktycznych umiejętności ekspertów od baz danych. Zapytania i operacje muszą być wykonywane jednocześnie z całym oprogramowaniem do tworzenia kopii zapasowych i oprogramowaniem antywirusowym, aby zapewnić wydajność bazy danych. Właściwe wykonanie hosta serwera SQL zależy od ogólnej wydajności i domyślnych możliwości rozwiązywania problemów. Tańsze może okazać się zlecenie rozwiązywania problemów odpowiedniemu zespołowi ekspertów i skupienie się na prawidłowym wdrożeniu bazy danych w Twojej organizacji.

Comments are closed, but trackbacks and pingbacks are open.

Ta strona korzysta z plików cookie, aby poprawić Twoje wrażenia. Zakładamy, że nie masz nic przeciwko, ale możesz zrezygnować, jeśli chcesz. Akceptuję Więcej szczegółów