Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

50 najważniejszych pytań do rozmowy kwalifikacyjnej na temat SQL Server, które musisz przygotować w 2022 r.

W erze, w której codziennie generowane są ogromne ilości danych, dane odgrywają kluczową rolę w podejmowaniu decyzji dotyczących operacji biznesowych. Tak więc do obsługi danych potrzebujemy baz danych, a to daje nam potrzebę zrozumienia systemów zarządzania bazami danych. Z różnymi systemami zarządzania bazami danych, MS SQL Server jest jednym z najpopularniejszych systemów zarządzania relacyjnymi bazami danych. Ten typ DBMS wykorzystuje strukturę, która pozwala użytkownikom identyfikować i uzyskiwać dostęp do danych powiązanych do innej części danych w bazie danych. Tak więc znajomość MS SQL Server otwiera drzwi do zostania administratorem bazy danych. Wierzę, że jesteś już świadomy tych faktów i to sprawiło, że znalazłeś się w tym artykule z pytaniami do wywiadu dotyczącego MS SQL Server.

W tym artykule na temat pytań do wywiadów dotyczących Microsoft SQL Server omówię najczęściej zadawane pytania dotyczące MS SQL Server podczas wywiadów. Pytania te zbierane są po konsultacjach z osobami posiadającymi doskonałe umiejętności w tej dziedzinie.

Zacznijmy!

P1. Wspomnij o różnicach między SQL Server i MySQL.

Serwer SQL MySQL

Opracowany przez Microsoft

Opracowany przez Oracle

Licencjonowane oprogramowanie

Oprogramowanie typu open source

Obsługuje C#, Java C++, PHP, Visual Basic, Perl, Python, Ruby itp.

Obsługuje PHP, Perl, Python, Ruby itp.

Nie pozwala na jakąkolwiek manipulację plikami bazy danych podczas działania

Umożliwia manipulację plikami bazy danych podczas pracy.

Umożliwia anulowanie zapytania w połowie procesu

Nie pozwala na anulowanie zapytania w trakcie procesu.

Podczas tworzenia kopii zapasowej danych nie blokuje bazy danych

Podczas tworzenia kopii zapasowej danych blokuje bazę danych

Zajmuje dużą ilość miejsca w pamięci operacyjnej.

Zajmuje mniej miejsca w pamięci operacyjnej.

Dostępne w trybie ekspresowym i niestandardowym.

Dostępne w MySQL Community Edition i MySQL Enterprise Edition

P2. Co rozumiesz przez SQL Server Agent?

SQL Server Agent to usługa Windows służąca do planowania i wykonywania zadań. Tutaj każde zadanie zawiera jeden lub więcej kroków, a każdy krok zawiera zadanie. Tak więc agent serwera używa serwera SQL do przechowywania informacji o zadaniach i uruchamiania zadania zgodnie z harmonogramem.

Głównymi składnikami agenta SQL Server są zadania, harmonogramy, operatorzy i alerty.

Przykład:

Jeśli przedsiębiorstwo chce wykonać kopię zapasową serwerów firmowych w każdy piątek o 21:00, możesz bardzo dobrze zautomatyzować to zadanie, aby harmonogram działał sam . W scenariuszu kopia zapasowa napotyka błąd, agent serwera SQL rejestruje zdarzenie i powiadamia odpowiedni zespół.

P3. Wspomnij o różnych trybach uwierzytelniania w SQL Server.

Zanim opowiem o różnych trybach uwierzytelniania w SQL Server, powiem, że tryb uwierzytelniania jest używany do uwierzytelniania użytkownika w SQL Server. Tryb uwierzytelniania jest wybierany podczas konfigurowania silnika bazy danych. Jeśli więc chcesz wiedzieć, jak skonfigurować Microsoft SQL Server, możesz zapoznać się z moim artykułem.

Różne tryby uwierzytelniania oferowane przez SQL SERVER są następujące:

  • Tryb uwierzytelniania Windows: Ten tryb służy do łączenia się z serwerem za pośrednictwem konta Windows. Tutaj serwer pobiera nazwę użytkownika i hasło komputera w celu uwierzytelnienia. Ponadto tryb uwierzytelniania serwera SQL jest w tym trybie wyłączony.
  • Tryb mieszany: Tryb mieszany służy do łączenia się z wystąpieniem programu SQL Server przy użyciu uwierzytelniania programu SQL Server lub uwierzytelniania systemu Windows. W tym trybie nazwa użytkownika i hasło są ustawiane przez użytkownika dla bazy danych.

P4. Wspomnij o różnicach między lokalnymi i globalnymi tabelami tymczasowymi.

Lokalna tabela tymczasowa Globalna tabela tymczasowa

Te tabele istnieją tylko przez czas trwania połączenia lub czas trwania tej instrukcji.

Te tabele istnieją na stałe w bazie danych i tylko wiersze są usuwane po zamknięciu połączenia.

Składnia: CREATE TABLE #

Składnia: CREATE TABLE ##

P5. Jak sprawdzić wersję SQL Server?

Aby sprawdzić wersję SQL Server, możesz użyć następującego polecenia:

SELECT @@version

@@VERSION daje dane wyjściowe jako jeden ciąg nvarchar.

P6. Co to jest tryb jednego użytkownika i jakie kroki należy wykonać, aby uruchomić SQL Server w trybie jednego użytkownika?

Często może się zdarzyć, że będziesz chciał uruchomić instancję SQL Server w trybie jednego użytkownika. Możesz to zrobić, gdy chcesz odzyskać dane z innych systemów baz danych lub chcesz zmienić konfiguracje serwera.

Kiedy uruchamiasz SQL Server w trybie jednego użytkownika, każdy członek lokalnej grupy Administratorzy komputera łączy się z instancją SQL Server jako sysadmin.

Następujące zdarzenia występują podczas uruchamiania bazy danych w trybie jednego użytkownika:

  • Pojedynczy użytkownik łączy się z serwerem.
  • PUNKT KONTROLNY proces nie jest wykonywany, ponieważ jest wykonywany domyślnie przy starcie.

Pamiętaj również, że musisz zatrzymać usługę SQL Server Agent przed połączeniem się z instancją SQL Server w trybie jednego użytkownika.

  • Aby uruchomić SQL Server w trybie jednego użytkownika, użyj polecenia: sqlcmd –m
  • Aby połączyć się przez Edytor zapytań w Management Studio, użyj: -m"Microsoft SQL Server Management Studio - Query".

P7. Co to jest SQL Server Profiler?

Microsoft SQL Server Profiler to interfejs używany do tworzenia i zarządzania śladami. Analizuje również i odtwarza wyniki śledzenia. Tutaj zdarzenia są zapisywane w pliku śledzenia, który jest później analizowany lub używany do odtworzenia określonej serii kroków podczas debugowania problemu.

Możesz użyć programu SQL Server Profiler do działań takich jak:

  1. Znajdowanie pierwotnej przyczyny problemu
  2. Monitorowanie wydajności SQL Server w celu obsługi obciążeń.
  3. Diagnozowanie powolnych zapytań
  4. Przechwytywanie serii instrukcji SQL powodujących problem, w celu dalszej replikacji problemu na serwerze testowym podczas debugowania problemu.
  5. Pomaga również w korelowaniu liczników wydajności w celu łatwego debugowania problemów.

P8. Jaki jest port TCP/IP, na którym działa SQL Server?

Port TCP/IP, na którym działa SQL Server to 1433.

P9. Czym są podzapytania w serwerze SQL? Wyjaśnij jego właściwości.

Podzapytanie to zapytanie wewnątrz innego zapytania, w którym zapytanie jest zdefiniowane w celu pobrania danych lub informacji z powrotem z bazy danych. W podzapytaniu zapytanie zewnętrzne jest nazywane zapytaniem głównym, podczas gdy zapytanie wewnętrzne jest nazywane podzapytaniem. Podzapytania są zawsze wykonywane jako pierwsze, a wynik podzapytania jest przekazywany do głównego zapytania. Może być zagnieżdżony wewnątrz zapytania SELECT, UPDATE lub dowolnego innego zapytania. Podzapytanie może również używać dowolnych operatorów porównania, takich jak>,

Właściwości podzapytań są następujące:

  • Musi być ujęty w nawiasy, ponieważ musi być wykonane przed głównym zapytaniem
  • Można dodać więcej niż jedno zapytanie.
  • Kwerenda podrzędna nie powinna zawierać klauzuli ORDER BY, ale może zawierać WHERE, GROUP BY i HAVING CLAUSE
  • Podzapytanie musi znajdować się po prawej stronie operatora porównania głównego zapytania
  • Podzapytanie musi zawierać klauzulę SELECT i klauzulę FROM.

P10. Jak uruchomić tryb pojedynczego użytkownika w klastrze instalacje?

W instalacji klastrowej SQL Server używa dostępnego połączenia DLL, a tym samym blokuje wszelkie inne połączenia z serwerem.

W tym stanie, jeśli spróbujesz przełączyć zasoby agenta SQL Server w tryb online, może on przełączyć zasoby SQL w tryb awaryjny do innego węzła, ponieważ może być skonfigurowany dla grupy. Tak więc, aby uruchomić tryb pojedynczego użytkownika w instalacji klastrowej, możesz wykonać następujące kroki:

  1. Przejdź do właściwości zaawansowanych i usuń parametr startowy -m.
  2. Teraz wyłącz zasób SQL Server.
  3. Wydaj następujące polecenie z wiersza poleceń i upewnij się, że jesteś w węźle bieżącego właściciela grupy:
    net start MSSQLSERVER /m.
  4. Następnie musisz zweryfikować od administratora klastra lub awaryjnej konsoli zarządzania klastrem, czy zasób SQL Server jest nadal w trybie offline, czy nie.
  5. Następnie połącz się z serwerem SQL za pomocą następującego polecenia i wykonaj wymaganą operację:SQLCMD -E -S<servername>.
  6. Po zakończeniu operacji musisz zamknąć wiersz poleceń, a następnie przywrócić SQL i inne zasoby online za pośrednictwem administratora klastra.

P11. Co rozumiesz przez replikację w SQL Server? Wspomnij o różnych typach replikacji w SQL Server.

Replikacja w Microsoft SQL Server to proces synchronizacji danych na wielu serwerach. Zwykle odbywa się to za pomocą zestawu replik, a te zestawy zapewniają wiele kopii danych z nadmiarowością i wysoką dostępnością na różnych serwerach.

Nie tylko to, ale replikacja zapewnia mechanizm odzyskiwania po awariach. Usuwa również zależności z jednego serwera, aby chronić utratę danych z jednego serwera.

Oto trzy typy replikacji w SQL Server:

  1. Replikacja scalająca: Ta replikacja grupuje dane z różnych źródeł w jedną scentralizowaną bazę danych i jest używana na serwerze do środowiska klienta.
  2. Replikacja transakcyjna: Ta replikacja jest procesem dystrybucji danych od wydawcy do subskrybenta i jest używana w środowisku serwer-serwer.
  3. Replikacja migawki: Ta replikacja dystrybuuje dane dokładnie tak, jak pojawiają się w określonym momencie i jest używana do replikacji danych, które rzadko się zmieniają.

P12. Jakie są różnice między MS SQL Server i Oracle?

MS SQL Server Oracle

Zapewnia prostą i łatwą składnię.

Składa się ze złożonej i stosunkowo wydajniejszej składni.

Korzysta z transakcyjnego SQL lub T-SQL.

Używa PL/SQL

Nie obsługuje optymalizacji zapytań.

Korzysta z optymalizacji zapytania gwiazdką.

Cofnięcia nie są dozwolone w procesie transakcji.

Cofnięcia są dozwolone podczas procesu transakcji.

Umożliwia tworzenie przyrostowych, częściowych i pełnych kopii zapasowych

Umożliwia tworzenie przyrostowych , pełnych kopii zapasowych na poziomie plików i różnicowych.

Nie obsługuje grupowania.

Oferuje obsługę konfiguracji klastrowej.

Instrukcje takie jak INSERT, UPDATE, DELETE są wykonywane szeregowo.

Instrukcje takie jak INSERT, UPDATE, DELETE, MERGE są wykonywane równolegle.

Zadania są planowane za pośrednictwem agenta SQL Server

Zlecenia są planowane za pomocą harmonogramu Oracle lub OEM

P13. Co rozumiesz przez blokady INTENT?

Microsoft SQL Server używa hierarchii blokad za każdym razem, gdy dane są odczytywane lub coś się w nich zmienia. Za każdym razem, gdy odczytywany jest wiersz, SQL Server nabywa wspólną blokadę. Podobnie, gdy tylko zmienimy wiersz, SQL Server uzyskuje blokadę Exclusive. Te zamki są ze sobą niezgodne. Tak więc blokady INTENT są używane do wskazywania na wyższym poziomie, które blokady są stosowane w ramach hierarchii blokad. Istnieją głównie trzy rodzaje zamków INTENT:

  1. Zamierzona blokada współdzielona (IS): Ta blokada jest używana, gdy masz wspólną blokadę na poziomie wiersza.
  2. Zamierzona blokada aktualizacji (IU): Blokada aktualizacji intencji jest używana, gdy masz blokadę aktualizacji na poziomie wiersza.
  3. Blokada na wyłączność w tekście (IX): Ta blokada jest używana, gdy masz wyłączną blokadę na poziomie wiersza.

P14. Jakie kroki należy wykonać, aby ukryć instancje SQL Server?

Kroki, które należy wykonać, aby ukryć instancje SQL Server, są następujące:

  • Otwórz Menedżera konfiguracji SQL Server i rozwiń Konfigurację sieci SQL Server.
  • Następnie przejdź do Protokołów i wybierz instancję SQL Server .
  • Później kliknij prawym przyciskiem myszy instancję i wybierz Właściwości

  • Następnie w polu Ukryj instancję , przejdź do karty Flagi i wybierz Tak .
  • Na koniec kliknij OK i zamknij okno dialogowe.

P15. Co rozumiesz przez usługi jakości danych w SQL Server?

Usługi jakości danych w SQL Server to oparty na wiedzy produkt jakości danych. Usługi SQL Server Data Quality Services (DQS) umożliwiają użytkownikowi zbudowanie bazy wiedzy, a następnie wykorzystanie jej do wykonywania zadań, takich jak korekcja, deduplikacja, wzbogacanie, standaryzacja danych.

Oprócz tego, DQS zapewnia również profilowanie i umożliwia czyszczenie danych za pomocą usług danych w chmurze.

DQS składa się z dwóch komponentów:

  • Serwer jakości danych: Jest to funkcja instancji SQL Server składająca się z trzech katalogów SQL Server z funkcjonalnością i pamięcią masową o jakości danych
  • Klient jakości danych: Jest to funkcja SQL Server, której użytkownicy mogą używać do wykonywania wspomaganej komputerowo analizy jakości danych i interaktywnego zarządzania jakością danych.

P16. Wyjaśnij magiczne tabele na serwerze SQL

Magiczne tabele to tabele automatycznie tworzone w SQL Server, używane do wewnętrznego przechowywania wstawionych, zaktualizowanych wartości dla operacji DML, takich jak (SELECT, DELETE, INSERT, UPDATE, itp.).

P17. Co rozumiesz przez Zmień przechwytywanie danych ?

Zmiana przechwytywania danych lub najczęściej znana jako CDC służy do rejestrowania działań INSERT, UPDATE, DELETE zastosowanych w tabelach. Tak więc, jak sama nazwa wskazuje, Change Data Capture służy do przechwytywania danych, które zostały ostatnio zmienione. Informacje o kolumnach i metadane wymagane do zastosowania zmian w środowisku docelowym są przechwytywane dla zmodyfikowanych wierszy i ostatecznie przechowywane w tabelach zmian. Te tabele zmian są lustrzanym odbiciem oryginalnej struktury kolumn.

P18. Co rozumiesz przez wyzwalacze i wymieniasz ich różne rodzaje?

Wyzwalacze są używane do wykonywania partii kodu SQL za każdym razem, gdy polecenia INSERT, DELETE lub UPDATE są wykonywane względem tabeli. Zasadniczo wyzwalacze są uruchamiane automatycznie za każdym razem, gdy dane są modyfikowane na podstawie operacji manipulacji danymi.

Różne rodzaje wyzwalaczy są następujące:

  1. WSTAW
  2. AKTUALIZACJA
  3. USUŃ
  4. ZAMIAST

P19. Co rozumiesz przez rekurencyjną procedurę składowaną?

Rekurencyjna procedura składowana to metoda rozwiązywania problemów, dzięki której można wielokrotnie znaleźć rozwiązanie.

P20. Wyjaśnij wysyłkę dzienników i wspomnij o jej zaletach.

Proces automatyzacji tworzenia kopii zapasowych w celu przywrócenia baz danych z jednego serwera autonomicznego na inny samodzielny serwer rezerwowy jest znany jako Log Shipping. Przesyłkę dziennika można również rozumieć jako jedno z rozwiązań odzyskiwania po awarii, ponieważ zapewnia ono, że nawet w przypadku awarii jednego serwera serwer rezerwowy będzie miał te same dane, co sam serwer.

Zalety wysyłki dzienników są następujące:

  • Wymaga niewielkiej konserwacji i jest łatwy w konfiguracji
  • Utworzona pomocnicza baza danych jest używana tylko do odczytu.
  • Można utworzyć wiele pomocniczych serwerów w trybie gotowości
  • Zezwala na opóźnienie określone przez użytkownika na czas między serwerem głównym, który tworzy kopię zapasową dziennika podstawowej bazy danych, gdy serwery pomocnicze przywracają (stosują) kopię zapasową dziennika.

P21. Co to są flagi śledzenia i wspomnieć o kilku typowych flagach śledzenia używanych w SQL Server?

Flagi te służą do zmiany zachowania serwera lub ustawienia cech serwera. Kilka typowych flag śledzenia używanych z SQL Server to:

  • 1204, 1205, 1222 – Te flagi są używane do informacji o zakleszczeniu.
  • 174 – Ta flaga śledzenia zwiększa liczbę zasobników pamięci podręcznej programu SQL Server Database Engine z 40 0009 do 160 001 w systemach 64-bitowych.
  • 1118 – Wymusza jednolite alokacje zakresu zamiast mieszanych alokacji stron — (SQL 2005 i 2008) Aby zmniejszyć rywalizację o TempDB.
  • 652 – Ta flaga śledzenia wyłącza skanowanie z funkcją wstępnego pobierania strony.
  • 2566 – Służy do uruchamiania polecenia DBCC CHECKDB bez sprawdzania czystości danych, chyba że określono opcję DATA_PURITY.

P22. Wspomnij o różnicach między SUBSTR i CHARINDEX w SQL Server.

SUBSTR CHARINDEX

Służy do zwracania określonej części ciągu w danym ciągu

Służy do zwracania pozycji znaku w podanym ciągu

Przykład:

SUBSTRING(‘Edureka’,1,4)

Wyjście:

Edur

Przykład:

CHARINDEX(‘r’,’Edureka’,1)

Wyjście:

4

P23. Co rozumiesz przez usługi Analysis Services w programie SQL Server?

Usługi analityczne w Microsoft SQL Server to analityczny silnik danych używany w analityce biznesowej i wspieraniu decyzji. Ta usługa zapewnia modele semantyczne klasy korporacyjnej dla aplikacji klienckich i raportów, takich jak Power BI, Microsoft Excel i inne narzędzia do wizualizacji.

Usługi analityczne są dostępne na platformach takich jak:

  1. Azure Analysis Services
  2. Power BI Premium
  3. Usługi analizy serwera SQL

P24. Co rozumiesz przez tworzenie kopii lustrzanych i wspominasz o zaletach tworzenia kopii lustrzanych?

Mirroring w SQL Server ma na celu utrzymywanie gorącego serwera rezerwowego, który jest spójny z serwerem podstawowym pod względem transakcji. Ponadto rekordy dziennika transakcji są wysyłane z serwera głównego do serwera pomocniczego.

Oto zalety dublowania:

  1. Składa się z automatycznego mechanizmu przełączania awaryjnego.
  2. Bardziej wydajna niż wysyłka dzienników i bardziej wytrzymała.
  3. Serwer główny jest synchronizowany z serwerem pomocniczym w czasie rzeczywistym

P25. Kiedy Twoim zdaniem programista powinien używać kursorów opartych na SQL Server?

Kursory oparte na SQL Server są używane, gdy chcesz pracować nad rekordem w dowolnym momencie, zamiast zbiorczo pobierać wszystkie dane z tabeli. Jednak kursory nie są preferowane do użycia, gdy obecne są duże ilości danych, ponieważ wpływa to na wydajność. W scenariuszu, w którym nie można uniknąć kursorów, spróbuj zmniejszyć liczbę rekordów do przetworzenia za pomocą tabeli tymczasowej, a następnie zbuduj z niej kursor.

P26. Jaka część projektu bazy danych odgrywa rolę w wydajności aplikacji opartej na SQL Server?

Fizyczny i logiczny projekt odgrywa ważną rolę w wydajności aplikacji opartych na SQL Server. Musimy upewnić się, że prawidłowe dane są rejestrowane w odpowiednich tabelach, elementy danych mają odpowiednie relacje między nimi, a redundancja danych jest zmniejszona. Sugerowałbym również, aby podczas projektowania bazy danych upewnić się, że jest to proces iteracyjny do osiągnięcia wszystkich wymaganych celów systemu i jest pod stałą obserwacją. Po ustaleniu projektu bazy danych bardzo trudno jest zmienić projekt zgodnie z wymaganiami. Możesz dodawać tylko nowe relacje i elementy danych.

P27. Co rozumiesz przez funkcję zdefiniowaną przez użytkownika w SQL Server i wyjaśniasz kroki tworzenia i wykonywania funkcji zdefiniowanej przez użytkownika w SQL Server?

Funkcja zdefiniowana przez użytkownika to funkcja napisana zgodnie z potrzebami użytkownika poprzez implementację logiki. W tego typu funkcjach użytkownik nie ogranicza się do predefiniowanych funkcji i upraszcza złożony kod predefiniowanej funkcji, pisząc prosty kod. Ta funkcja zwraca wartość skalarną lub tabelę.

Aby utworzyć funkcję zdefiniowaną przez użytkownika, zapoznaj się z następującym przykładem:

CREATE FUNCTION samplefunc(@num INT)
RETURNS TABLE
AS
RETURN SELECT * FROM customers WHERE CustId=@num

Aby wykonać powyższą funkcję, skorzystaj z następującego polecenia:

SELECT * FROM samplefunc(10)

P28. Jak możesz upewnić się, że baza danych i aplikacja oparta na SQL Server działają dobrze?

Programista musi sprawdzić rodzaj przechowywanych informacji, ilość danych i dane które będą dostępne.

W scenariuszu, w którym aktualizujesz istniejący system, powinieneś przeanalizować obecne dane, występują istniejące wolumeny danych i sprawdzić metodę dostępu do danych, aby pomóc Ci zrozumieć obszary problemowe w projektowaniu.

W scenariuszu, w którym korzystasz z nowego systemu, musisz zachować informacje o tym, jakie dane zostaną przechwycone, jakie są składniki danych i jaki jest związek między nimi elementy danych.

P29. Czym są relacje i wspomnij o różnych typach relacji w DBMS

Relacja w DBMS to scenariusz, w którym dwie jednostki są ze sobą powiązane. W takim scenariuszu tabela składająca się z odniesień do klucza obcego do klucza podstawowego drugiej tabeli.

Różne typy relacji w DBMS są następujące:

  • Relacja jeden-do-jednego – Używane, gdy pojedynczy wiersz w Tabeli A jest powiązany z pojedynczym wierszem w Tabeli B.
  • Relacja jeden-do-wielu – Używane, gdy pojedynczy wiersz w tabeli A jest powiązany z wieloma wierszami w tabeli B.
  • Relacja wiele-do-wielu – Używane, gdy wiele wierszy w tabeli A może być powiązanych z wieloma wierszami w tabeli B.
  • Powiązanie z własnym odniesieniem – Używane, gdy rekord w tabeli A jest powiązany z rekordem w tej samej tabeli.

P30. Co to są złączenia w SQL i jakie są różne typy złączeń?

Klauzula JOIN służy do łączenia wierszy z co najmniej dwóch tabel na podstawie powiązanej między nimi kolumny. Służy do łączenia dwóch tabel lub pobierania z nich danych. W SQL są 4 złącza, a mianowicie:

  • Łączenie wewnętrzne
  • Właściwe dołączenie
  • Dołącz lewy
  • Pełne dołączenie

P31. Do czego służy polecenie DBCC CHECKDB?

Polecenie DBCC CHECKDB służy do sprawdzenia fizycznej i logicznej integralności wszystkich obiektów we wspomnianej bazie danych. W tym celu wykonuje następujące operacje:

  • DziałaDBCC CHECKALLOC we wspomnianej bazie danych.
  • W każdej tabeli i widoku w bazie danych DBCC CHECKTABLE polecenie jest wykonywane.
  • Działa DBCC CHECKCATALOG w bazie danych.
  • Następnie sprawdził zawartość każdego zindeksowanego widoku we wspomnianej bazie danych.
  • Sprawdza również spójność na poziomie łącza między katalogami systemu plików i metadanymi tabeli podczas przechowywania danych varbinary(max) w systemie plików za pomocą FILESTREAM.
  • Na koniec sprawdza poprawność danych Service Broker w bazie danych.

Więc wystarczy wykonać polecenie DBCC CHECKDB i automatycznie zostaną wykonane polecenia DBCC CHECKALLOC, DBCC CHECKTABLE lub DBCC CHECKCATALOG.

Należy również pamiętać, że DBCC jest obsługiwane w bazach danych zawierających tabele zoptymalizowane pod kątem pamięci, ale nie zapewnia opcji naprawy. Oznacza to, że musisz regularnie tworzyć kopie zapasowe baz danych i testować te kopie zapasowe.

P32. Co rozumiesz przez ograniczenie CHECK w SQL Server?

Ograniczenie CHECK w SQL Server służy do ograniczenia wartości lub typu danych przechowywanych w kolumnie. Po zastosowaniu ograniczenia CHECK do pojedynczej kolumny możesz przejść dalej i zastosować określone wartości dla tej konkretnej kolumny.

Przykład:

CREATE TABLE Customer (&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;Cust_ID int NOT NULL,&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;FirstName varchar(255),&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;Age int,&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;City varchar(255),&nbsp;&nbsp;
&nbsp;&nbsp;&nbsp;&nbsp;CONSTRAINT CHK_Customer CHECK (Age>20 AND City= 'Hyderabad')&nbsp;&nbsp;
);&nbsp;&nbsp;

P33. Co robić rozumiesz przez COALESCE w SQL Server?

Ta funkcja służy do zwracania pierwszego wyrażenia niepustego w argumentach. Polecenie COALESCE służy do zwracania wartości różnej od null z więcej niż jednej kolumny w argumentach.

Przykład:

SELECT COALESCE(CustID, CustName, Amount) from Customers;

P34. Wyjaśnij użycie funkcji FLOOR w SQL Server.

Funkcja FLOOR służy do zaokrąglania wartości niebędącej liczbą całkowitą do poprzedniej najmniejszej wartości całkowitej. Ta funkcja zwraca unikalną wartość po zaokrągleniu cyfr.

Składnia:

FLOOR(expression)

Przykład:

FLOOR(7.3)

P35. Jakie polecenie służy do sprawdzania blokad w Microsoft SQL Server?

Aby sprawdzić blokady w bazie danych, możesz użyć wbudowanej procedury składowanej sp_lock.

Składnia

sp_lock [ [ @spid1 = ] 'session ID1' ] [ , [@spid2 = ] 'session ID2' ]
[ ; ]

Przykład:

Aby wyświetlić listę wszystkich blokad aktualnie przechowywanych w instancji aparatu bazy danych, użyj następującego polecenia:

USE SampleDB;  
GO  
EXEC sp_lock;  
GO  

P36. Wymień 3 sposoby na zliczenie liczby rekordów w tabeli.

Poniżej przedstawiono trzy sposoby obliczania liczby rekordów w tabeli:

SELECT * FROM TableName;
SELECT COUNT(*) FROM TableName;
SELECT rows FROM indexes WHERE id = OBJECT_ID(TableName) AND indexid< 2;

P37. Jakie jest zastosowanie funkcji SIGN?

Ta funkcja służy do określenia, czy wspomniana liczba jest zerowa, dodatnia i ujemna. Czyli zwróci 0, +1, -1.

Składnia:

SIGN(number)

Przykład:

SIGN (0)  returns 0
SIGN (21)  returns 1
SIGN (-21)  returns -1

P38. Napisz zapytanie SQL, aby znaleźć pierwszy dzień tygodnia w miesiącu?

Aby znaleźć pierwszy dzień tygodnia w miesiącu, możesz napisać zapytanie w następujący sposób:

SELECT DATENAME(dw, DATEADD(dd, – DATEPART(dd, GETDATE()) + 1, GETDATE())) AS FirstDay;

P39. Wspomnij o poleceniu użytym do zmiany nazwy bazy danych.

Aby zmienić nazwę bazy danych, musisz użyć polecenia sp_renamedb w następujący sposób:

sp_renamedb 'OldDatabaseName', 'NewDatabaseName';

P40. Napisz zapytanie, aby znaleźć piątą najwyższą wypłaconą kwotę z tabeli Customer.

To find the 5th highest amount paid from the customers’ table, you can write a query as below:

SELECT TOP 1 amount FROM (SELECT DISTINCT TOP 5 amount FROM customers ORDER BY amount DESC) ORDER BY amount;

Q41. How can we delete a table in SQL Server?

To delete a table in SQL Server, use the Delete command.

Składnia:

DELETE TableName

Przykład:

DELETE Customers;

Q42. What is the purpose of UPDATE STATISTICS and SCOPE_IDENTITY() function ?

  • UPDATE _STATISTICS is used to update the information used by indexes such as the distribution of key values for one or more statistic groups in the mentioned indexed view or table.
  • SCOPE_IDENTITY is used to create identity value for tables in the current execution scope.

Q43. What do you understand by PHYSICAL_ONLY option in DBCC CHECKDB?

  • The PHYSICAL_ONLY option is used to limit check to the integrity of the physical structure of the record headers, page, and also the allocation consistency of the database.
  • The PHYSICAL_ONLY check is used to provide a small overhead check of the physical consistency of the database.
  • Also, the PHYSICAL_ONLY option causes a shorter run-time for DBCC CHECKDB on large databases. So, it is generally recommended for frequent use on production systems.

Q44. Can you explain how long are locks retained within the REPEATABLE_READ and SERIALIZABLE isolation levels, during a read operation with row-level locking?

With REPEATABLE_READ and SERIALIZABLE isolation levels, locks are held during the transaction. But, if you consider READ_COMMITTED, then locks are held for isolation level.

Q45. Mention the differences between HAVING and WHERE clause.

HAVING WHERE
Used only with SELECT statement Used in a GROUP BY clause
Used with the GROUP BY function in a query Applied to each row before they are a part of the GROUP BY function in a query

Uwaga: Whenever GROUP BY is not used, HAVING behaves like a WHERE clause.

Q46. What do you understand by integration services in SQL Server?

Integration services is a platform offered by Microsoft to build enterprise-level data transformation solutions and integration. These services solve complex business problems by loading data warehouses, perform data wrangling, copy or download files, and manage SQL Server objects.

Also, integration services can extract and transform data from a wide variety of sources such as relational data sources, XML data files, load the data into more than a single database. So, basically, you can use the integration services to create solutions without coding, code complex tasks, program the extensive integration object model to create packages.

The integration services include good set of built-in tasks and transformations, graphical tools used for building packages and also contain the Catalog database to store, run and manage packages.

Q47. What do you understand by Hotfixes and Patches in SQL Server?

Hotfixes are single, cumulative software packages applied to live systems. This includes one or more files used to address a problem in a software product. Patches are a programs installed on the machines to rectify the problem occurred in the system and ensured the security of the system. So, basically hotfixes are a kind of patch offered by Microsoft SQL Server to address specific issues.

Q48. Can you name a few encryption mechanisms in SQL server?

These are few encryption mechanisms in SQL Server to encrypt data in the database:

  1. Transparent Data Encryption
  2. Symmetric Keys
  3. Asymmetric Keys
  4. Transact SQL functions
  5. Certificates

Q49. What are the options which must be set to allow the usage of optimistic models?

The READ_COMMITED_SNAPSHOT option and the ALLOW_SNAPSHOT_ISOLATION option must be set to allow the usage of optimistic models.

  • The READ_COMMITTED_SNAPSHOT option is used for the read committed optimistic model.
  • ALLOW_SNAPSHOT_ISOLATION option is used for the snapshot isolation level.

Q50. What are the common performance issues in SQL Server?

The common performance issues in SQL Server are as follows:

  • Fragmentation
  • Input/Output bottlenecks
  • Blocking Queues
  • Deadlocks
  • Missing and unused indexes

So this brings us to the end of the SQL Server Interview Questions article. I hope this set of SQL Server Interview Questions will help you ace your job interview. All the best for your interview!

Check out this Szkolenie certyfikacyjne MySQL DBA by Edureka, a trusted online learning company with a network of more than 250,000 satisfied learners spread across the globe. This course trains you on the core concepts &advanced tools and techniques to manage data and administer the MySQL Database. It includes hands-on learning on concepts like MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, etc. End of the training you will be able to create and administer your own MySQL Database and manage data.

Masz do nas pytanie? Please mention it in the comments section of this “SQL Server Interview Questions” article and we will get back to you as soon as possible.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Zwróć numer partycji dla każdego wiersza podczas wysyłania zapytań do tabeli partycjonowanej w SQL Server (T-SQL)

  2. Jak znaleźć element listy w określonej pozycji w SQL Server

  3. Jak zainstalować sqlcmd i bcp na Ubuntu?

  4. 13 najlepszych praktyk w zakresie bezpieczeństwa SQL Server

  5. Sprawdź, czy tabela ma klucz obcy w SQL Server za pomocą OBJECTPROPERTY()