Top 50 dotazů a odpovědí na rozhovory se serverem SQL Server (2025)

Zde jsou otázky a odpovědi na pohovory s SQL Serverem pro čerstvější i zkušené kandidáty, aby získali svou vysněnou práci.

Otázky a odpovědi k pohovoru o SQL Serveru pro Freshers


1. Jaké jsou dva režimy ověřování na serveru SQL Server?

Existují dva režimy ověřování –

  • Windows režim
  • Smíšený režim

Režimy lze změnit výběrem nabídky nástrojů vlastností konfigurace SQL Server a výběrem stránky zabezpečení.

👉 Zdarma ke stažení PDF: SQL Server Interview Otázky a odpovědi


2. Co je SQL Profiler?

SQL Profiler je nástroj, který umožňuje správci systému sledovat události na SQL serveru. To se používá hlavně k zachycení a uložení dat o každé události souboru nebo tabulky pro analýzu.


3. Co je rekurzivní uložená procedura?

SQL Server podporuje rekurzivní uloženou proceduru, která volá sama o sobě. Rekurzivní uloženou proceduru lze definovat jako metodu řešení problémů, kde řešení přichází opakovaně. Může se vnořit až do 32 úrovní.

CREATE PROCEDURE [dbo].[Fact]
(
@Number Integer,
@RetVal Integer OUTPUT
)
AS
DECLARE @In Integer
DECLARE @Out Integer
IF @Number != 1
BEGIN
SELECT @In = @Number – 1
EXEC Fact @In, @Out OUTPUT - Same stored procedure has been called again(Recursively)
SELECT @RetVal = @Number * @Out
END
ELSE
BEGIN
SELECT @RetVal = 1
END
RETURN
GO

4. Jaké jsou rozdíly mezi lokálními a globálními dočasnými tabulkami?

  • Místní dočasné tabulky jsou viditelné, když existuje připojení, a jsou odstraněny, když je připojení uzavřeno.
CREATE TABLE #<tablename>
  • Globální dočasné tabulky jsou viditelné pro všechny uživatele a jsou odstraněny po uzavření připojení, které je vytvořilo.
CREATE TABLE ##<tablename>

5. Co je omezení CHECK?

Na sloupec v tabulce lze použít omezení CHECK, aby se omezily hodnoty, které lze do sloupce umístit. Kontrolním omezením je vynutit integritu.


6. Mohou se SQL servery propojit s jinými servery?

sqlserver lze připojit k jakékoli databázi, která má poskytovatele OLE-DB, aby poskytl odkaz. Příklad: Oracle má poskytovatele OLE-DB, který má odkaz pro připojení ke skupině serverů SQL.


7. Co je dílčí dotaz a jeho vlastnosti?

Poddotaz je dotaz, který lze vnořit do hlavního dotazu, jako jsou příkazy Select, Update, Insert nebo Delete. To lze použít, když je povolen výraz. Vlastnosti dílčího dotazu lze definovat jako

  • Dílčí dotaz by neměl mít pořadí podle klauzule
  • Dílčí dotaz by měl být umístěn na pravou stranu porovnávacího operátoru hlavního dotazu
  • Dílčí dotaz by měl být uzavřen v závorkách, protože musí být proveden jako první před hlavním dotazem
  • Lze zahrnout více než jeden dílčí dotaz

8. Jaké jsou typy dílčích dotazů?

Existují tři typy dílčích dotazů –

  • Jednořádkový dílčí dotaz, který vrací pouze jeden řádek
  • Víceřádkový dílčí dotaz, který vrací více řádků
  • Dílčí dotaz s více sloupci, který vrací více sloupců do hlavního dotazu. S tímto výsledkem dílčího dotazu bude proveden hlavní dotaz.

9. Co je SQL server agent?

SQL Server agent hraje zásadní roli v každodenních úkolech správce SQL serveru (DBA). Účelem serverového agenta je snadno implementovat úlohy pomocí plánovacího stroje, který umožňuje našim úlohám spouštět naplánované datum a čas.


10. Co jsou naplánované úlohy v SQL Server?

Naplánované úlohy nebo úlohy se používají k automatizaci procesů, které lze spouštět v naplánovaný čas v pravidelných intervalech. Toto plánování úkolů pomáhá omezit lidské zásahy během noci a krmení lze provádět v určitou dobu. Uživatel si také může objednat úkoly, ve kterých má být generován.


11. Co je COALESCE v SQL Server?

COALESCE se používá k vrácení prvního nenulového výrazu v rámci argumentů. Tato funkce se používá k vrácení nenulové hodnoty z více než jednoho sloupce v argumentech.

Příklad -

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

12. Jak lze zpracovat výjimky v programování SQL Server?

Výjimky jsou zpracovávány pomocí konstrukcí TRY—-CATCH a zpracovává se psaním skriptů uvnitř bloku TRY a zpracováním chyb v bloku CATCH.


13. Jaký je účel funkce FLOOR?

Funkce FLOOR se používá k zaokrouhlení neceločíselné hodnoty na předchozí nejmenší celé číslo. Je uveden příklad

FLOOR(6.7)

Návraty 6.


14. Můžeme zkontrolovat zámky v databázi? Pokud ano, jak můžeme provést tuto kontrolu zámku?

Ano, můžeme zkontrolovat zámky v databázi. Toho lze dosáhnout pomocí vestavěné uložené procedury s názvem sp_lock.


15. K čemu slouží funkce SIGN?

Funkce SIGN se používá k určení, zda je zadané číslo kladné, záporné a nulové. To vrátí +1,-1 nebo 0.

Příklad -

SIGN(-35) returns -1

16. Co je to spoušť?

Spouštěče se používají ke spuštění dávky kódu SQL, když jsou v tabulce prováděny příkazy vložení nebo aktualizace nebo odstranění. Spouštěče se automaticky spouštějí nebo spouštějí při změně dat. Může být spuštěn automaticky při operacích vložení, odstranění a aktualizace.


17. Jaké jsou typy spouštěčů?

Existují čtyři typy spouštěčů a jsou to:

  • Vložit
  • Vymazat
  • Aktualizace
  • Místo

18. Co je sloupec IDENTITY ve vkládacích příkazech?

Sloupec IDENTITY se používá ve sloupcích tabulky k vytvoření tohoto sloupce jako automatického přírůstkového čísla nebo náhradního klíče.


19. Co je to Bulkcopy v SQL?

Bulkcopy je nástroj používaný ke kopírování velkého množství dat z tabulek. Tento nástroj se používá k načtení velkého množství dat na SQL Server.


20. Jaký dotaz bude použit k získání seznamu spouštěčů v databázi?

Dotaz na získání seznamu spouštěčů v databázi-

Select * from sys.objects where type='tr'

21. Jaký je rozdíl mezi UNION a UNION ALL?

  • UNION: K výběru souvisejících informací ze dvou tabulek se používá příkaz UNION. Je to podobné příkazu JOIN.
  • UNION All: Příkaz UNION ALL je roven příkazu UNION, kromě toho, že UNION ALL vybírá všechny hodnoty. Neodstraní duplicitní řádky, místo toho načte všechny řádky ze všech tabulek.

22. Jak jsou reprezentovány globální dočasné tabulky a jejich rozsah?

Globální dočasné tabulky jsou reprezentovány znakem ## před názvem tabulky. Rozsah bude mimo relaci, zatímco místní dočasné tabulky jsou uvnitř relace. ID relace lze nalézt pomocí @@SPID.


Otázky a odpovědi k pohovoru se serverem SQL Server pro zkušené

23. Jaké jsou rozdíly mezi uloženou procedurou a dynamickým SQL?

Uložená procedura je sada příkazů, která je uložena v kompilované podobě. Dynamický SQL je sada příkazů, které se dynamicky konstruují za běhu a nebudou uloženy v databázi a jednoduše se spouštějí během běhu.


24. Co je řazení?

Porovnání je definováno pro určení pořadí řazení v tabulce. Existují tři typy řazení –

  1. Citlivý na velká písmena
  2. Nerozlišují se malá a velká písmena
  3. Dvojitý

25. Jak zjistíme počet záznamů v tabulce?

Níže jsou uvedeny dotazy, které lze použít k získání počtu záznamů v tabulce –

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

26. Jaký příkaz se používá k získání verze SQL Serveru?

Select SERVERPROPERTY('productversion')

se používá k získání verze SQL Server.


27. Co je příkaz UPDATE_STATISTICS?

Příkaz UPDATE_STATISTICS se používá k aktualizaci indexů v tabulkách, když v indexech dochází k velkému množství mazání nebo úprav nebo hromadného kopírování.


28. K čemu slouží příkaz SET NOCOUNT ON/OFF?

Ve výchozím nastavení je NOCOUNT nastaveno na OFF a vrací počet ovlivněných záznamů, kdykoli je příkaz spuštěn. Pokud uživatel nechce zobrazovat počet ovlivněných záznamů, může být explicitně nastaven na ON- (SET NOCOUNT ON).


29. Která tabulka serveru SQL se používá k uložení skriptů uložených procedur?

Sys.SQL_Modules je SQL Server tabulka sloužící k uložení skriptu uložené procedury. Název uložené procedury je uložen v tabulce nazvané Sys.Procedures.


30. Co jsou magické tabulky na serveru SQL Server?

Během operací DML, jako je vložení, odstranění a aktualizace, SQL Server vytváří magické tabulky, které uchovávají hodnoty během operací DML. Tyto magické tabulky se používají uvnitř spouštěčů pro datové transakce.


31. Jaký je rozdíl mezi SUBSTR a CHARINDEX na serveru SQL?

Funkce SUBSTR se používá k vrácení konkrétní části řetězce v daném řetězci. Ale funkce CHARINDEX udává pozici znaku v daném zadaném řetězci.

SUBSTRING('Smiley',1,3)

Dává výsledek jako Smi

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

Dává 3 jako výsledek, jak se objevím ve 3rd poloha struny


32. Jak můžete vytvořit přihlašovací jméno?

Pro vytvoření přihlášení můžete použít následující příkaz

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. Co je operátor ISNULL()?

Funkce ISNULL se používá ke kontrole, zda zadaná hodnota je NULL nebo ne NULL na serveru SQL. Tato funkce také umožňuje nahradit hodnotu NULL.


34. Jaké je použití doložky FOR?

Klauzule FOR se používá hlavně pro XML a možnosti prohlížeče. Tato klauzule se používá hlavně k zobrazení výsledků dotazu ve formátu XML nebo v prohlížeči.


35. Jaký bude maximální počet indexů na tabulku?

Pro SQL Server 2008 lze jako maximální počet na tabulku použít 100 Index. 1 Clustered Index a 999 Non-clustered indexs na tabulku lze použít v SQL Server.

1000 Index lze použít jako maximální počet na tabulku. 1 Clustered Index a 999 Non-clustered indexs na tabulku lze použít v SQL Server.

1 Clustered Index a 999 Non-clustered indexs na tabulku lze použít v SQL Server.


36. Jaký je rozdíl mezi COMMIT a ROLLBACK?

Každý příkaz mezi BEGIN a COMMIT se po provedení COMMIT stane trvalým pro databázi. Každý příkaz mezi BEGIN a ROOLBACK se vrátí do stavu, kdy byl proveden ROLLBACK.


37. Jaký je rozdíl mezi typy varchar a nvarchar?

Varchar a nvarchar jsou stejné, ale jediný rozdíl je v tom, že nvarhcar lze použít k ukládání znaků Unicode pro více jazyků a také zabírá více místa ve srovnání s varchar.


38. K čemu slouží @@SPID?

@@ SPID vrátí ID relace aktuálního uživatelského procesu.


39. Jaký příkaz se používá k překompilování uložené procedury za běhu?

Uloženou proceduru lze spustit pomocí klíčového slova REKOMPILE.

Příklad

Exe <SPName>  WITH RECOMPILE

Nebo můžeme zahrnout WITHRECOMPILE do samotné uložené procedury.


40. Jak odstranit duplicitní řádky v SQL Serveru?

Duplicitní řádky lze odstranit pomocí funkce CTE a ROW NUMER SQL Serveru.


41. Kde jsou v SQL Serveru uložena uživatelská jména a hesla SQL Server?

Uživatelská jména a hesla jsou uložena v sys.server_principals a sys.sql_logins. Hesla ale nejsou uložena v běžném textu.


42. Jaký je rozdíl mezi GETDATE a SYSDATETIME?

Oba jsou stejné, ale GETDATE může poskytnout čas do milisekund a SYSDATETIME může poskytnout přesnost až nanosekundy. SYSDATE TIME je přesnější než GETDATE.


43. Jak lze kopírovat data z jedné tabulky do druhé?

INSERT INTO SELECT

Tento příkaz slouží k vložení dat do již vytvořené tabulky.

SELECT INTO

Tento příkaz slouží k vytvoření nové tabulky a její strukturu a data lze zkopírovat z existující tabulky.


44. Co je TABULKA VZOR?

TABLESAMPLE se používá k náhodnému extrahování vzorku řádků, které jsou všechny nezbytné pro aplikaci. Vzorové řádky jsou založeny na procentuálním zastoupení řádků.


45. Který příkaz se používá pro uživatelem definované chybové zprávy?

RAISEERROR je příkaz používaný ke generování a zahájení zpracování chyb pro danou relaci. Tyto uživatelem definované zprávy jsou uloženy v tabulce sys.messages.


46. ​​Co znamená datový typ XML?

Datový typ XML se používá k ukládání dokumentů XML v Databáze serveru SQL. Vytvářejí se sloupce a proměnné a ukládají instance XML do databáze.


47. Co je CDC?

CDC je zkráceno jako Change Data Capture, které se používá k zachycení dat, která byla nedávno změněna. Tato funkce je k dispozici v SQL Server 2008.


48. Co je SQL injection?

SQL injection je útok uživatelů se zlými úmysly, při kterém lze škodlivý kód vložit do řetězců, které lze předat instanci serveru SQL pro analýzu a spuštění. Všechny příkazy musí zkontrolovat zranitelnost, protože provádí všechny syntakticky platné dotazy, které obdrží.

Dokonce i parametry mohou být manipulovány zkušenými a zkušenými útočníky.


49. Jaké metody se používají k ochraně před útokem SQL injection?

Níže jsou uvedeny metody používané k ochraně před útokem SQL injection:

  • Použijte parametry pro uložené procedury
  • Filtrování vstupních parametrů
  • Použijte kolekci parametrů s dynamickým SQL
  • V podobné klauzuli uživatelské znaky escape

50. Co je to Filtrovaný index?

Filtrovaný index se používá k filtrování některých částí řádků v tabulce za účelem zlepšení výkonu dotazů, údržby indexu a snížení nákladů na ukládání indexu. Když je index vytvořen s klauzulí WHERE, pak se nazývá Filtrovaný index.

Tyto otázky na pohovoru také pomohou ve vašem životě (ústních)