50 najczęściej zadawanych pytań podczas rozmowy kwalifikacyjnej dotyczącej SQL Server & Odpowiedzi

Anonim

ściągnij PDF

1. Jakie są dwa tryby uwierzytelniania w programie SQL Server?

Istnieją dwa tryby uwierzytelniania -

  • Tryb Windows
  • Tryb mieszany

Tryby można zmienić, wybierając menu narzędzi we właściwościach konfiguracyjnych programu SQL Server i wybierając stronę zabezpieczeń.

2. Co to jest SQL Profiler?

SQL Profiler to narzędzie, które umożliwia administratorowi systemu monitorowanie zdarzeń na serwerze SQL. Służy to głównie do przechwytywania i zapisywania danych o każdym zdarzeniu pliku lub tabeli do analizy.

3. Co to jest cykliczna procedura składowana?

SQL Server obsługuje rekursywne procedury składowane, które same wywołują. Rekurencyjną procedurę składowaną można zdefiniować jako metodę rozwiązywania problemów, w której rozwiązanie jest dostarczane w sposób powtarzalny. Może zagnieżdżać do 32 poziomów.

CREATE PROCEDURE [dbo].[Fact](@Number Integer,@RetVal Integer OUTPUT)ASDECLARE @In IntegerDECLARE @Out IntegerIF @Number != 1BEGINSELECT @In = @Number - 1EXEC Fact @In, @Out OUTPUT - Same stored procedure has been called again(Recursively)SELECT @RetVal = @Number * @OutENDELSEBEGINSELECT @RetVal = 1ENDRETURNGO

4. Jakie są różnice między lokalnymi i globalnymi tabelami tymczasowymi?

  • Lokalne tabele tymczasowe są widoczne, gdy istnieje połączenie, i są usuwane po zamknięciu połączenia.
CREATE TABLE #
  • Globalne tabele tymczasowe są widoczne dla wszystkich użytkowników i są usuwane po zamknięciu połączenia, które je utworzyło.
CREATE TABLE ##

5. Co to jest ograniczenie CHECK?

Ograniczenie CHECK można zastosować do kolumny w tabeli, aby ograniczyć wartości, które można umieścić w kolumnie. Ograniczenie sprawdzające ma na celu wymuszenie integralności.

6. Czy serwery SQL mogą łączyć się z innymi serwerami?

Serwer SQL można podłączyć do dowolnej bazy danych, która ma dostawcę OLE-DB w celu udostępnienia łącza. Przykład: Oracle ma dostawcę OLE-DB, który ma łącze do połączenia z grupą serwera SQL.

7. Co to jest zapytanie podrzędne i jego właściwości?

Zapytanie podrzędne to zapytanie, które może być zagnieżdżone w zapytaniu głównym, takim jak instrukcje Select, Update, Insert lub Delete. Można tego użyć, gdy wyrażenie jest dozwolone. Właściwości zapytania podrzędnego można zdefiniować jako

  • Zapytanie podrzędne nie powinno mieć klauzuli order by
  • Zapytanie podrzędne należy umieścić po prawej stronie operatora porównania głównego zapytania
  • Zapytanie podrzędne powinno być umieszczone w nawiasach, ponieważ musi zostać wykonane najpierw przed zapytaniem głównym
  • Można uwzględnić więcej niż jedno zapytanie podrzędne

8. Jakie są rodzaje zapytań podrzędnych?

Istnieją trzy typy zapytań podrzędnych -

  • Zapytanie podrzędne w jednym wierszu, które zwraca tylko jeden wiersz
  • Zapytanie podrzędne z wieloma wierszami, które zwraca wiele wierszy
  • Zapytanie podrzędne zawierające wiele kolumn, które zwraca wiele kolumn do zapytania głównego. Z tym wynikiem zapytania podrzędnego zostanie wykonane zapytanie główne.

9. Co to jest agent serwera SQL?

Agent SQL Server odgrywa istotną rolę w codziennych zadaniach administratora serwera SQL (DBA). Celem agenta serwera jest łatwe wdrażanie zadań za pomocą mechanizmu harmonogramu, który umożliwia wykonywanie zadań w zaplanowanym dniu i czasie.

10. Jakie są zaplanowane zadania w SQL Server?

Zaplanowane zadania lub zadania służą do automatyzacji procesów, które można uruchamiać w zaplanowanym czasie w regularnych odstępach czasu. Takie planowanie zadań pomaga zmniejszyć interwencję człowieka w porze nocnej, a karmienie może odbywać się o określonej porze. Użytkownik może również zamówić zadania, w których ma zostać wygenerowany.

11. Co to jest COALESCE w SQL Server?

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

Przykład -

Select COALESCE(empno, empname, salary) from employee;

12. Jak można obsługiwać wyjątki w programowaniu w SQL Server?

Wyjątki są obsługiwane za pomocą konstrukcji TRY ---- CATCH i są obsługiwane przez pisanie skryptów w bloku TRY i obsługę błędów w bloku CATCH.

13. Do czego służy funkcja PODŁOGA?

Funkcja FLOOR służy do zaokrąglania wartości niecałkowitej do poprzedniej najmniejszej liczby całkowitej. Podano przykład

FLOOR(6.7)

Zwraca 6.

14. Czy możemy sprawdzić blokady w bazie danych? Jeśli tak, jak możemy to sprawdzić?

Tak, możemy sprawdzić blokady w bazie danych. Można to osiągnąć za pomocą wbudowanej procedury składowanej o nazwie sp_lock.

15. Jaki jest pożytek z funkcji SIGN?

Funkcja SIGN służy do określenia, czy podana liczba jest dodatnia, ujemna i zerowa. Zwróci to + 1, -1 lub 0.

Przykład -

SIGN(-35) returns -1

16. Co to jest wyzwalacz?

Wyzwalacze są używane do wykonania partii kodu SQL, gdy polecenia wstawiania, aktualizowania lub usuwania są wykonywane względem tabeli. Wyzwalacze są automatycznie wyzwalane lub wykonywane, gdy dane są modyfikowane. Może być wykonywany automatycznie podczas operacji wstawiania, usuwania i aktualizacji.

17. Jakie są typy wyzwalaczy?

Istnieją cztery typy wyzwalaczy i są to:

  • Wstawić
  • Kasować
  • Aktualizacja
  • Zamiast

18. Co to jest kolumna TOŻSAMOŚĆ w instrukcjach wstawiania?

Kolumna TOŻSAMOŚĆ jest używana w kolumnach tabeli, aby ustawić tę kolumnę jako automatyczną liczbę inkrementalną lub klucz zastępczy.

19. Co to jest Bulkcopy w SQL?

Bulkcopy to narzędzie używane do kopiowania dużej ilości danych z tabel. To narzędzie służy do ładowania dużej ilości danych w programie SQL Server.

20. Jakie zapytanie zostanie użyte, aby uzyskać listę wyzwalaczy w bazie danych?

Zapytanie o listę wyzwalaczy w bazie danych

Select * from sys.objects where

21. Jaka jest różnica między UNION a UNION ALL?

  • SUMA: Do wybierania powiązanych informacji z dwóch tabel służy polecenie SUMA. Działa podobnie do polecenia JOIN.
  • UNION All: Polecenie UNION ALL jest równe poleceniu UNION ALL, z wyjątkiem tego, że UNION ALL wybiera wszystkie wartości. Nie usunie zduplikowanych wierszy, zamiast tego pobierze wszystkie wiersze ze wszystkich tabel.

22. Jak reprezentowane są globalne tabele tymczasowe i jego zakres?

Globalne tabele tymczasowe są oznaczone znakiem ## przed nazwą tabeli. Zakres będzie poza sesją, podczas gdy lokalne tabele tymczasowe znajdują się wewnątrz sesji. Identyfikator sesji można znaleźć za pomocą @@ SPID.

23. Jakie są różnice między procedurą składowaną a dynamicznym SQL?

Procedura składowana to zestaw instrukcji przechowywanych w skompilowanej formie. Dynamiczny SQL to zestaw instrukcji, które są tworzone dynamicznie w czasie wykonywania i nie będą przechowywane w bazie danych, a po prostu będą wykonywane w czasie wykonywania.

24. Co to jest sortowanie?

Sortowanie jest definiowane w celu określenia porządku sortowania w tabeli. Istnieją trzy rodzaje kolejności sortowania -

  1. Rozróżniana jest wielkość liter
  2. Bez rozróżniania wielkości liter
  3. Dwójkowy

25. Jak możemy obliczyć liczbę rekordów w tabeli?

Poniżej znajdują się zapytania, których można użyć, aby uzyskać liczbę rekordów w tabeli -

Select * from 
 Select count(*) from 
 Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2

26. Jakie polecenie służy do pobierania wersji programu SQL Server?

Select SERVERPROPERTY('productversion')

służy do pobierania wersji programu SQL Server.

27. Co to jest polecenie UPDATE_STATISTICS?

Polecenie UPDATE_STATISTICS służy do aktualizowania indeksów w tabelach, gdy w indeksach występuje duża liczba usunięć lub modyfikacji lub kopii zbiorczych.

28. Do czego służy instrukcja SET NOCOUNT ON / OFF?

Domyślnie NOCOUNT jest ustawione na OFF i zwraca liczbę rekordów, na które wpłynął, gdy polecenie jest wykonywane. Jeśli użytkownik nie chce wyświetlać liczby rekordów, na które ma to wpływ, może jawnie ustawić wartość ON- (SET NOCOUNT ON).

29. Która tabela serwera SQL jest używana do przechowywania skryptów procedur składowanych?

Sys.SQL_Modules to tabela programu SQL Server używana do przechowywania skryptu procedury składowanej. Nazwa procedury składowanej jest zapisywana w tabeli o nazwie Sys.Procedures.

30. Co to są Magic Tables w SQL Server?

Podczas operacji DML, takich jak wstawianie, usuwanie i aktualizowanie, SQL Server tworzy magiczne tabele do przechowywania wartości podczas operacji DML. Te magiczne tabele są używane wewnątrz wyzwalaczy dla transakcji danych.

31. Jaka jest różnica między SUBSTR i CHARINDEX w SQL Server?

Funkcja SUBSTR służy do zwracania określonej części ciągu w danym ciągu. Ale funkcja CHARINDEX podaje pozycję znaku w podanym ciągu.

SUBSTRING('Smiley',1,3)

Daje wynik jako Smi

CHARINDEX('i', 'Smiley',1)

3 daje jako wynik jak pojawia się w 3 -ciej pozycji łańcucha

32. Jak możesz stworzyć login?

Możesz użyć następującego polecenia, aby utworzyć login

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. Co to jest operator ISNULL ()?

Funkcja ISNULL służy do sprawdzania, czy podana wartość jest równa NULL, czy nie jest równa NULL w serwerze sql. Ta funkcja umożliwia również zastąpienie wartości wartością NULL.

34. Jaki jest pożytek z klauzuli FOR?

Klauzula FOR jest używana głównie w przypadku XML i opcji przeglądarki. Ta klauzula jest używana głównie do wyświetlania wyników zapytania w formacie XML lub w przeglądarce.

35. Jaka będzie maksymalna liczba indeksów w tabeli?

W przypadku programu SQL Server 2008 100 Indeks może być używany jako maksymalna liczba na tabelę. 1 Indeks klastrowy i 999 indeksów nieklastrowych na tabelę mogą być używane w SQL Server.

Maksymalną liczbą na tabelę może być 1000 Indeks. 1 Indeks klastrowy i 999 indeksów nieklastrowych na tabelę mogą być używane w SQL Server.

1 Indeks klastrowy i 999 indeksów nieklastrowych na tabelę mogą być używane w SQL Server.

36. Jaka jest różnica między COMMIT i ROLLBACK?

Każda instrukcja między BEGIN i COMMIT staje się trwała w bazie danych po wykonaniu polecenia COMMIT. Każda instrukcja między BEGIN i ROOLBACK jest przywracana do stanu, w którym została wykonana ROLLBACK.

37. Jaka jest różnica między typami varchar i nvarchar?

Varchar i nvarchar są takie same, ale jedyną różnicą jest to, że nvarhcar może być używany do przechowywania znaków Unicode dla wielu języków, a także zajmuje więcej miejsca w porównaniu z varchar.

38. Do czego służy @@ SPID?

@@ SPID zwraca identyfikator sesji bieżącego procesu użytkownika.

39. Jakie polecenie służy do rekompilacji procedury składowanej w czasie wykonywania?

Procedurę składowaną można wykonać za pomocą słowa kluczowego o nazwie RECOMPILE.

Przykład

Exe  WITH RECOMPILE

Lub możemy dołączyć WITHRECOMPILE w samej procedurze składowanej.

40. Jak usunąć zduplikowane wiersze w SQL Server?

Zduplikowane wiersze można usunąć za pomocą funkcji CTE i NUMER WIERSZ w SQL Server.

41. Gdzie są przechowywane nazwy użytkowników i hasła SQL Server w SQL Server?

Nazwy użytkowników i hasła są przechowywane w sys.server_principals i sys.sql_logins. Ale hasła nie są przechowywane w zwykłym tekście.

42. Jaka jest różnica między GETDATE a SYSDATETIME?

Oba są takie same, ale GETDATE może dać czas do milisekund, a SYSDATETIME może dać precyzję do nanosekund. SYSDATE TIME jest dokładniejsze niż GETDATE.

43. W jaki sposób można skopiować dane z jednej tabeli do innej?

WSTAW DO WYBORU

To polecenie służy do wstawiania danych do już utworzonej tabeli.

WYBIERZ

To polecenie służy do tworzenia nowej tabeli, a jej strukturę i dane można skopiować z istniejącej tabeli.

44. Co to jest TABLESAMPLE?

TABLESAMPLE służy do losowego wyodrębniania próbek wierszy, które są niezbędne dla aplikacji. Pobrane próbki wierszy są oparte na odsetku wierszy.

45. Które polecenie jest używane w przypadku komunikatów o błędach zdefiniowanych przez użytkownika?

RAISEERROR to polecenie używane do generowania i inicjowania przetwarzania błędów dla danej sesji. Te wiadomości zdefiniowane przez użytkownika są przechowywane w tabeli sys.messages.

46. ​​Co oznacza określenie typu danych XML?

Typ danych XML służy do przechowywania dokumentów XML w bazie danych SQL Server. Tworzone są kolumny i zmienne, które przechowują wystąpienia XML w bazie danych.

47. Co to jest CDC?

CDC jest w skrócie Change Data Capture, które jest używane do przechwytywania danych, które zostały ostatnio zmienione. Ta funkcja jest obecna w SQL Server 2008.

48. Co to jest wstrzyknięcie SQL?

Wstrzyknięcie SQL to atak złośliwych użytkowników, w którym złośliwy kod może zostać wstawiony do ciągów znaków, które można przekazać do wystąpienia serwera SQL w celu przeanalizowania i wykonania. Wszystkie instrukcje muszą być sprawdzane pod kątem luk w zabezpieczeniach, ponieważ wykonuje wszystkie otrzymane zapytania poprawne składniowo.

Wykwalifikowani i doświadczeni napastnicy mogą manipulować nawet parametrami.

49. Jakie są metody ochrony przed atakiem typu SQL injection?

Poniżej przedstawiono metody stosowane do ochrony przed atakiem typu SQL injection:

  • Użyj parametrów dla procedur składowanych
  • Filtrowanie parametrów wejściowych
  • Użyj kolekcji parametrów z dynamicznym SQL
  • W klauzuli like, znaki zmiany znaczenia użytkownika

50. Co to jest filtrowany indeks?

Filtrowany indeks służy do filtrowania części wierszy w tabeli w celu poprawy wydajności zapytań, obsługi indeksów i zmniejszenia kosztów przechowywania indeksów. Kiedy indeks jest tworzony z klauzulą ​​WHERE, wtedy nazywa się go filtrowanym indeksem