Le 50 principali domande e risposte dell'intervista su SQL Server (2026)

Ecco le domande e le risposte al colloquio su SQL Server per i candidati piรน freschi ed esperti che vogliono ottenere il lavoro dei loro sogni.

Domande e risposte all'intervista su SQL Server per le matricole


1. Quali sono le due modalitร  di autenticazione in SQL Server?

Esistono due modalitร  di autenticazione:

  • Windows Moda
  • Modalita `mista

Le modalitร  possono essere modificate selezionando il menu Strumenti delle proprietร  di configurazione di SQL Server e scegliendo la pagina Sicurezza.

๐Ÿ‘‰ Download gratuito del PDF: domande e risposte all'intervista su SQL Server


2. Cos'รจ SQL Profiler?

SQL Profiler รจ uno strumento che consente all'amministratore di sistema di monitorare gli eventi nel server SQL. Viene utilizzato principalmente per acquisire e salvare dati su ciascun evento di un file o di una tabella per l'analisi.


3. Cos'รจ la procedura memorizzata ricorsiva?

SQL Server supporta la procedura memorizzata ricorsiva che chiama da sola. La procedura memorizzata ricorsiva puรฒ essere definita come un metodo di risoluzione dei problemi in cui la soluzione viene raggiunta ripetutamente. Puรฒ nidificare fino a 32 livelli.

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. Quali sono le differenze tra le tabelle temporanee locali e globali?

  • Le tabelle temporanee locali sono visibili quando รจ presente una connessione e vengono eliminate quando la connessione viene chiusa.
CREATE TABLE #<tablename>
  • Le tabelle temporanee globali sono visibili a tutti gli utenti e vengono eliminate quando la connessione che le ha create viene chiusa.
CREATE TABLE ##<tablename>

5. Cos'รจ il vincolo CHECK?

รˆ possibile applicare un vincolo CHECK a una colonna di una tabella per limitare i valori che possono essere inseriti in una colonna. Il vincolo di controllo serve a garantire l'integritร .


6. I server SQL possono essere collegati ad altri server?

Server SQL puรฒ essere connesso a qualsiasi database che abbia un provider OLE-DB per fornire un collegamento. Esempio: Oracle dispone di un provider OLE-DB che dispone di un collegamento per connettersi al gruppo di server SQL.


7. Cos'รจ la sottoquery e le sue proprietร ?

Una sottoquery รจ una query che puรฒ essere nidificata all'interno di una query principale come le istruzioni Select, Update, Insert o Delete. Puรฒ essere utilizzato quando รจ consentita l'espressione. Le proprietร  della sottoquery possono essere definite come

  • Una sottoquery non deve avere una clausola order by
  • Una sottoquery dovrebbe essere posizionata sul lato destro dell'operatore di confronto della query principale
  • Una sottoquery deve essere racchiusa tra parentesi perchรฉ deve essere eseguita prima della query principale
  • รˆ possibile includere piรน di una sottoquery

8. Quali sono i tipi di sottoquery?

Esistono tre tipi di sottoquery:

  • Sottoquery a riga singola che restituisce solo una riga
  • Sottoquery a piรน righe che restituisce piรน righe
  • Sottoquery con piรน colonne che restituisce piรน colonne alla query principale. Con il risultato della sottoquery, verrร  eseguita la query principale.

9. Cos'รจ l'agente SQL Server?

L'agente SQL Server svolge un ruolo fondamentale nelle attivitร  quotidiane dell'amministratore del server SQL (DBA). Lo scopo dell'agente server รจ implementare facilmente le attivitร  con il motore di pianificazione che consente l'esecuzione dei nostri lavori alla data e all'ora pianificate.


10. Cosa sono le attivitร  pianificate in SQL Server?

Le attivitร  o i processi pianificati vengono utilizzati per automatizzare i processi che possono essere eseguiti in un orario pianificato a intervalli regolari. Questa pianificazione delle attivitร  aiuta a ridurre l'intervento umano durante la notte e l'alimentazione puรฒ essere effettuata in un momento particolare. L'utente puรฒ anche ordinare le attivitร  in cui deve essere generato.


11. Cos'รจ COALESCE in SQL Server?

COALESCE viene utilizzato per restituire la prima espressione non nulla all'interno degli argomenti. Questa funzione viene utilizzata per restituire un valore diverso da null da piรน di una colonna negli argomenti.

Esempio -

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

12. Come possono essere gestite le eccezioni nella programmazione di SQL Server?

Le eccezioni vengono gestite utilizzando i costrutti TRYโ€”-CATCH e vengono gestite scrivendo script all'interno del blocco TRY e la gestione degli errori nel blocco CATCH.


13. Qual รจ lo scopo della funzione FLOOR?

La funzione FLOOR viene utilizzata per arrotondare un valore non intero al numero intero precedente. Viene fornito un esempio

FLOOR(6.7)

Restituisce 6.


14. Possiamo controllare le serrature nel database? Se sรฌ, come possiamo eseguire questo controllo della serratura?

Sรฌ, possiamo controllare le serrature nel database. Puรฒ essere ottenuto utilizzando la procedura memorizzata incorporata denominata sp_lock.


15. A cosa serve la funzione SEGNO?

La funzione SEGNO viene utilizzata per determinare se il numero specificato รจ positivo, negativo e zero. Ciรฒ restituirร  +1,-1 o 0.

Esempio -

SIGN(-35) returns -1

16. Cos'รจ un trigger?

I trigger vengono utilizzati per eseguire un batch di codice SQL quando vengono eseguiti comandi di inserimento, aggiornamento o eliminazione su una tabella. I trigger vengono attivati โ€‹โ€‹o eseguiti automaticamente quando i dati vengono modificati. Puรฒ essere eseguito automaticamente durante le operazioni di inserimento, eliminazione e aggiornamento.


17. Quali sono i tipi di Trigger?

Esistono quattro tipi di trigger e sono:

  • inserire
  • Elimina
  • Aggiornanento
  • Invece di

18. Cos'รจ una colonna IDENTITY nelle istruzioni di inserimento?

La colonna IDENTITY viene utilizzata nelle colonne della tabella per rendere tale colonna come numero incrementale automatico o chiave surrogata.


19. Che cos'รจ la copia di massa in SQL?

Bulkcopy รจ uno strumento utilizzato per copiare grandi quantitร  di dati dalle tabelle. Questo strumento viene utilizzato per caricare grandi quantitร  di dati in SQL Server.


20. Quale query verrร  utilizzata per ottenere l'elenco dei trigger in un database?

Query per ottenere l'elenco dei trigger nel database-

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

21. Qual รจ la differenza tra UNION e UNION ALL?

  • UNION: per selezionare informazioni correlate da due tabelle viene utilizzato il comando UNION. รˆ simile al comando UNISCI.
  • UNION All: il comando UNION ALL รจ uguale al comando UNION, tranne per il fatto che UNION ALL seleziona tutti i valori. Non rimuoverร  le righe duplicate, ma recupererร  tutte le righe da tutte le tabelle.

22. Come vengono rappresentate le tabelle temporanee globali e il loro ambito?

Le tabelle temporanee globali sono rappresentate con ## prima del nome della tabella. L'ambito sarร  esterno alla sessione, mentre le tabelle temporanee locali si troveranno all'interno della sessione. L'ID sessione puรฒ essere trovato utilizzando @@SPID.


Domande e risposte all'intervista su SQL Server per esperti

23. Quali sono le differenze tra Stored Procedure e SQL dinamico?

La procedura memorizzata รจ un insieme di istruzioni archiviate in un formato compilato. Dynamic SQL รจ un insieme di istruzioni costruite dinamicamente in fase di esecuzione e non verranno archiviate in un database e verranno semplicemente eseguite durante l'esecuzione.


24. Cos'รจ la fascicolazione?

Le regole di confronto vengono definite per specificare l'ordinamento in una tabella. Esistono tre tipi di ordinamento:

  1. Che tiene conto del maiuscolo o minuscolo
  2. Senza distinzione tra maiuscole e minuscole
  3. Binario

25. Come possiamo contare il numero di record in una tabella?

Di seguito sono riportate le query che possono essere utilizzate per ottenere il conteggio dei record in una tabella:

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

26. Qual รจ il comando utilizzato per ottenere la versione di SQL Server?

Select SERVERPROPERTY('productversion')

viene utilizzato per ottenere la versione di SQL Server.


27. Cos'รจ il comando UPDATE_STATISTICS?

Il comando UPDATE_STATISTICS viene utilizzato per aggiornare gli indici sulle tabelle quando si verifica una grande quantitร  di eliminazioni o modifiche o copie di massa negli indici.


28. A cosa serve l'istruzione SET NOCOUNT ON/OFF?

Per impostazione predefinita, NOCOUNT รจ impostato su OFF e restituisce il numero di record interessati ogni volta che il comando viene eseguito. Se l'utente non desidera visualizzare il numero di record interessati, puรฒ essere impostato esplicitamente su ON- (SET NOCOUNT ON).


29. Quale tabella del server SQL viene utilizzata per contenere gli script delle procedure memorizzate?

Sys.SQL_Modules รจ una tabella SQL Server utilizzata per archiviare lo script della procedura memorizzata. Il nome della procedura memorizzata viene salvato nella tabella denominata Sys.Procedures.


30. Cosa sono le Magic Table in SQL Server?

Durante le operazioni DML come Inserisci, Elimina e Aggiorna, SQL Server crea tabelle magiche per contenere i valori durante le operazioni DML. Queste tabelle magiche vengono utilizzate all'interno dei trigger per la transazione dei dati.


31. Qual รจ la differenza tra SUBSTR e CHARINDEX in SQL Server?

La funzione SUBSTR viene utilizzata per restituire una parte specifica di stringa in una determinata stringa. Ma la funzione CHARINDEX fornisce la posizione del carattere in una determinata stringa specificata.

SUBSTRING('Smiley',1,3)

Dร  risultato come Smi

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

Dร  3 come risultato come appare in 3rd posizione della stringa


32. Come si crea un login?

Puoi usare il seguente comando per creare un login

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. Cos'รจ l'operatore ISNULL()?

La funzione ISNULL viene utilizzata per verificare se il valore fornito รจ NULL o non NULL nel server SQL. Questa funzione prevede anche di sostituire un valore con il NULL.


34. Qual รจ l'uso della clausola FOR?

La clausola FOR viene utilizzata principalmente per XML e opzioni del browser. Questa clausola viene utilizzata principalmente per visualizzare i risultati della query in formato XML o nel browser.


35. Quale sarร  il numero massimo di indici per tabella?

Per SQL Server 2008 รจ possibile utilizzare 100 indici come numero massimo per tabella. 1 ClusterIn SQL Server รจ possibile utilizzare l'indice ed e 999 indici non cluster per tabella.

รˆ possibile utilizzare 1000 indici come numero massimo per tabella. 1 ClusterIn SQL Server รจ possibile utilizzare l'indice ed e 999 indici non cluster per tabella.

1 ClusterIn SQL Server รจ possibile utilizzare l'indice ed e 999 indici non cluster per tabella.


36. Qual รจ la differenza tra COMMIT e ROLLBACK?

Ogni istruzione tra BEGIN e COMMIT diventa persistente nel database quando viene eseguito COMMIT. Ogni istruzione tra BEGIN e ROOLBACK viene ripristinata allo stato in cui รจ stato eseguito il ROLLBACK.


37. Qual รจ la differenza tra i tipi varchar e nvarchar?

Varchar e nvarchar sono uguali ma l'unica differenza รจ che nvarhcar puรฒ essere utilizzato per archiviare caratteri Unicode per piรน lingue e occupa anche piรน spazio rispetto a varchar.


38. A cosa serve @@SPID?

Un @@SPID restituisce l'ID di sessione del processo utente corrente.


39. Qual รจ il comando utilizzato per ricompilare la procedura memorizzata in fase di esecuzione?

La procedura memorizzata puรฒ essere eseguita con l'aiuto della parola chiave chiamata RECOMPILE.

Esempio

Exe <SPName>  WITH RECOMPILE

Oppure possiamo includere WITHRECOMPILE nella procedura memorizzata stessa.


40. Come eliminare le righe duplicate in SQL Server?

Le righe duplicate possono essere eliminate utilizzando la funzionalitร  CTE e ROW NUMER di SQL Server.


41. Dove sono archiviati i nomi utente e le password di SQL Server in SQL Server?

I nomi utente e le password sono archiviati in sys.server_principals e sys.sql_logins. Ma le password non vengono memorizzate nel testo normale.


42. Qual รจ la differenza tra GETDATE e SYSDATETIME?

Entrambi sono uguali ma GETDATE puรฒ fornire tempo fino ai millisecondi e SYSDATETIME puรฒ fornire precisione fino ai nanosecondi. SYSDATE TIME รจ piรน preciso di GETDATE.


43. Come รจ possibile copiare i dati da una tabella a un'altra tabella?

INSERT INTO SELECT

Questo comando viene utilizzato per inserire dati in una tabella giร  creata.

SELECT INTO

Questo comando viene utilizzato per creare una nuova tabella e la sua struttura e i dati possono essere copiati dalla tabella esistente.


44. Cos'รจ TABLESAMPLE?

TABLESAMPLE viene utilizzato per esprimeretraccampione t di righe selezionate casualmente, tutte necessarie per l'applicazione. Il campione di righe prelevate si basa sulla percentuale di righe.


45. Quale comando viene utilizzato per i messaggi di errore definiti dall'utente?

RAISEERROR รจ il comando utilizzato per generare e avviare l'elaborazione degli errori per una determinata sessione. I messaggi definiti dall'utente vengono archiviati nella tabella sys.messages.


46. โ€‹โ€‹Cosa si intende per tipo di dati XML?

Il tipo di dati XML viene utilizzato per archiviare documenti XML nel file database di SQL Server. Vengono create colonne e variabili che memorizzano istanze XML nel database.


47. Cos'รจ il CDC?

CDC รจ abbreviato in Change Data Capture e viene utilizzato per acquisire i dati che sono stati modificati di recente. Questa funzionalitร  รจ presente in SQL Server 2008.


48. Cos'รจ l'iniezione SQL?

L'SQL injection รจ un attacco da parte di utenti malintenzionati in cui il codice dannoso puรฒ essere inserito in stringhe che possono essere passate a un'istanza del server SQL per l'analisi e l'esecuzione. Tutte le istruzioni devono verificare la presenza di vulnerabilitร  poichรฉ esegue tutte le query sintatticamente valide che riceve.

Anche i parametri possono essere manipolati da aggressori qualificati ed esperti.


49. Quali sono i metodi utilizzati per proteggersi dagli attacchi SQL injection?

Di seguito sono riportati i metodi utilizzati per proteggersi dagli attacchi di iniezione SQL:

  • Utilizzare i parametri per le procedure memorizzate
  • Filtraggio dei parametri di input
  • Utilizza la raccolta di parametri con SQL dinamico
  • Nella clausola simile, i caratteri di escape dell'utente

50. Cos'รจ l'indice filtrato?

L'indice filtrato viene utilizzato per filtrare alcune porzioni di righe in una tabella per migliorare le prestazioni delle query, la manutenzione dell'indice e ridurre i costi di archiviazione dell'indice. Quando l'indice viene creato con la clausola WHERE, viene chiamato indice filtrato.

Queste domande del colloquio ti aiuteranno anche nel tuo viva(orale)

Riassumi questo post con: