Las 50 preguntas y respuestas principales de las entrevistas sobre SQL Server (2025)

Aquí hay preguntas y respuestas de la entrevista de SQL Server para que los candidatos más nuevos y experimentados consigan el trabajo de sus sueños.

Preguntas y respuestas de la entrevista de SQL Server para principiantes


1. ¿Cuáles son los dos modos de autenticación en SQL Server?

Hay dos modos de autenticación:

  • Windows Moda
  • Modo mezclado

Los modos se pueden cambiar seleccionando el menú de herramientas de las propiedades de configuración de SQL Server y eligiendo la página de seguridad.

👉 Descarga gratuita de PDF: Preguntas y respuestas de la entrevista de SQL Server


2. ¿Qué es el Perfilador SQL?

SQL Profiler es una herramienta que permite al administrador del sistema monitorear eventos en el servidor SQL. Esto se utiliza principalmente para capturar y guardar datos sobre cada evento de un archivo o tabla para su análisis.


3. ¿Qué es el procedimiento almacenado recursivo?

SQL Server admite procedimientos almacenados recursivos que se llaman solos. El procedimiento almacenado recursivo se puede definir como un método de resolución de problemas en el que se llega a la solución de forma repetitiva. Puede anidar hasta 32 niveles.

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. ¿Cuáles son las diferencias entre las tablas temporales locales y globales?

  • Las tablas temporales locales son visibles cuando hay una conexión y se eliminan cuando se cierra la conexión.
CREATE TABLE #<tablename>
  • Las tablas temporales globales son visibles para todos los usuarios y se eliminan cuando se cierra la conexión que las creó.
CREATE TABLE ##<tablename>

5. ¿Qué es la restricción CHECK?

Se puede aplicar una restricción CHECK a una columna de una tabla para limitar los valores que se pueden colocar en una columna. La restricción de verificación es para hacer cumplir la integridad.


6. ¿Se pueden vincular los servidores SQL a otros servidores?

Servidor SQL Se puede conectar a cualquier base de datos que tenga un proveedor OLE-DB para proporcionar un enlace. Ejemplo: Oracle tiene un proveedor OLE-DB que tiene un enlace para conectarse con el grupo de servidores SQL.


7. ¿Qué es la subconsulta y sus propiedades?

Una subconsulta es una consulta que se puede anidar dentro de una consulta principal como declaraciones Seleccionar, Actualizar, Insertar o Eliminar. Esto se puede utilizar cuando se permite la expresión. Las propiedades de la subconsulta se pueden definir como

  • Una subconsulta no debe tener orden por cláusula
  • Se debe colocar una subconsulta en el lado derecho del operador de comparación de la consulta principal.
  • Una subconsulta debe estar entre paréntesis porque debe ejecutarse primero antes de la consulta principal.
  • Se puede incluir más de una subconsulta

8. ¿Cuáles son los tipos de subconsultas?

Hay tres tipos de subconsultas:

  • Subconsulta de una sola fila que devuelve solo una fila
  • Subconsulta de varias filas que devuelve varias filas
  • Subconsulta de varias columnas que devuelve varias columnas a la consulta principal. Con el resultado de esa subconsulta, se ejecutará la consulta principal.

9. ¿Qué es el agente del servidor SQL?

El agente SQL Server juega un papel vital en las tareas diarias del administrador del servidor SQL (DBA). El propósito del agente del servidor es implementar las tareas fácilmente con el motor de programación que permite que nuestros trabajos se ejecuten en la fecha y hora programadas.


10. ¿Qué son las tareas programadas en SQL Server?

Las tareas o trabajos programados se utilizan para automatizar procesos que se pueden ejecutar en un horario programado en un intervalo regular. Esta programación de tareas ayuda a reducir la intervención humana durante el horario nocturno y la alimentación se puede realizar a una hora determinada. El usuario también puede ordenar las tareas en las que se debe generar.


11. ¿Qué es COALESCE en SQL Server?

COALESCE se utiliza para devolver la primera expresión no nula dentro de los argumentos. Esta función se utiliza para devolver un valor no nulo de más de una columna en los argumentos.

Ejemplo

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

12. ¿Cómo se pueden manejar las excepciones en la programación de SQL Server?

Las excepciones se manejan usando construcciones TRY—-CATCH y se manejan escribiendo scripts dentro del bloque TRY y manejando errores en el bloque CATCH.


13. ¿Cuál es el propósito de la función PISO?

La función FLOOR se utiliza para redondear un valor no entero al mínimo entero anterior. Se da el ejemplo

FLOOR(6.7)

Devuelve 6.


14. ¿Podemos verificar los bloqueos en la base de datos? Si es así, ¿cómo podemos hacer esta verificación de bloqueo?

Sí, podemos verificar los bloqueos en la base de datos. Se puede lograr mediante el uso de un procedimiento almacenado incorporado llamado sp_lock.


15. ¿Para qué sirve la función SIGN?

La función SIGN se utiliza para determinar si el número especificado es Positivo, Negativo y Cero. Esto devolverá +1, -1 o 0.

Ejemplo

SIGN(-35) returns -1

16. ¿Qué es un desencadenante?

Los activadores se utilizan para ejecutar un lote de código SQL cuando se ejecutan comandos de inserción, actualización o eliminación en una tabla. Los activadores se activan o ejecutan automáticamente cuando se modifican los datos. Se puede ejecutar automáticamente en operaciones de inserción, eliminación y actualización.


17. ¿Cuáles son los tipos de Desencadenantes?

Hay cuatro tipos de desencadenantes y son:

  • recuadro
  • Borrar
  • Actualizar
  • En lugar de

18. ¿Qué es una columna IDENTIDAD en declaraciones de inserción?

La columna IDENTIDAD se utiliza en las columnas de la tabla para convertir esa columna en un número incremental automático o una clave sustituta.


19. ¿Qué es Bulkcopy en SQL?

Bulkcopy es una herramienta que se utiliza para copiar grandes cantidades de datos de tablas. Esta herramienta se utiliza para cargar una gran cantidad de datos en SQL Server.


20. ¿Qué consulta se utilizará para obtener la lista de activadores en una base de datos?

Consulta para obtener la lista de desencadenantes en la base de datos.

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

21. ¿Cuál es la diferencia entre UNION y UNION ALL?

  • UNION: Para seleccionar información relacionada de dos tablas se utiliza el comando UNION. Es similar al comando UNIRSE.
  • UNION All: El comando UNION ALL es igual al comando UNION, excepto que UNION ALL selecciona todos los valores. No eliminará las filas duplicadas, sino que recuperará todas las filas de todas las tablas.

22. ¿Cómo se representan las tablas temporales globales y su alcance?

Las tablas temporales globales se representan con ## antes del nombre de la tabla. El alcance será el exterior de la sesión, mientras que las tablas temporales locales estarán dentro de la sesión. El ID de sesión se puede encontrar usando @@SPID.


Preguntas y respuestas de la entrevista de SQL Server para experimentados

23. ¿Cuáles son las diferencias entre el procedimiento almacenado y el SQL dinámico?

Un procedimiento almacenado es un conjunto de declaraciones que se almacenan en forma compilada. SQL dinámico es un conjunto de declaraciones que se construyen dinámicamente en tiempo de ejecución y no se almacenarán en una base de datos y simplemente se ejecutarán durante el tiempo de ejecución.


24. ¿Qué es la intercalación?

La intercalación se define para especificar el orden de clasificación en una tabla. Hay tres tipos de orden de clasificación:

  1. Distingue mayúsculas y minúsculas
  2. Insensible a mayúsculas y minúsculas
  3. Binario

25. ¿Cómo podemos contar el número de registros en una tabla?

Las siguientes son las consultas que se pueden utilizar para obtener el recuento de registros en una tabla:

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

26. ¿Cuál es el comando utilizado para obtener la versión de SQL Server?

Select SERVERPROPERTY('productversion')

se utiliza para obtener la versión de SQL Server.


27. ¿Qué es el comando UPDATE_STATISTICS?

El comando UPDATE_STATISTICS se utiliza para actualizar los índices en las tablas cuando hay una gran cantidad de eliminaciones o modificaciones o se produce una copia masiva en los índices.


28. ¿Cuál es el uso de la instrucción SET NOCOUNT ON/OFF?

De forma predeterminada, NOCOUNT está configurado en APAGADO y devuelve el número de registros afectados cada vez que se ejecuta el comando. Si el usuario no desea mostrar el número de registros afectados, puede configurarlo explícitamente en ON- (SET NOCOUNT ON).


29. ¿Qué tabla del servidor SQL se utiliza para contener los scripts de procedimientos almacenados?

Sys.SQL_Modules es una tabla de SQL Server que se utiliza para almacenar el script del procedimiento almacenado. El nombre del procedimiento almacenado se guarda en la tabla llamada Sys.Procedures.


30. ¿Qué son las Tablas Mágicas en SQL Server?

Durante las operaciones DML como Insertar, Eliminar y Actualizar, SQL Server crea tablas mágicas para almacenar los valores durante las operaciones DML. Estas tablas mágicas se utilizan dentro de los activadores para las transacciones de datos.


31. ¿Cuál es la diferencia entre SUBSTR y CHARINDEX en SQL Server?

La función SUBSTR se utiliza para devolver una porción específica de una cadena en una cadena determinada. Pero la función CHARINDEX proporciona la posición del carácter en una cadena especificada determinada.

SUBSTRING('Smiley',1,3)

Da resultado como Smi

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

Da 3 como resultado ya que aparezco en 3rd posición de la cuerda


32. ¿Cómo se puede crear un inicio de sesión?

Puede utilizar el siguiente comando para crear un inicio de sesión

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. ¿Qué es el operador ISNULL()?

La función ISNULL se utiliza para verificar si el valor dado es NULL o no NULL en el servidor SQL. Esta función también permite reemplazar un valor con NULL.


34. ¿Para qué sirve la cláusula FOR?

La cláusula FOR se utiliza principalmente para XML y opciones del navegador. Esta cláusula se utiliza principalmente para mostrar los resultados de la consulta en formato XML o en el navegador.


35. ¿Cuál será el número máximo de índices por tabla?

Para SQL Server 2008, se puede utilizar el índice 100 como número máximo por tabla. 1 ClusterSe pueden utilizar índices ed y 999 índices no agrupados por tabla en SQL Server.

El índice 1000 se puede utilizar como número máximo por tabla. 1 ClusterSe pueden utilizar índices ed y 999 índices no agrupados por tabla en SQL Server.

1 ClusterSe pueden utilizar índices ed y 999 índices no agrupados por tabla en SQL Server.


36. ¿Cuál es la diferencia entre COMMIT y ROLLBACK?

Cada declaración entre BEGIN y COMMIT se vuelve persistente en la base de datos cuando se ejecuta COMMIT. Cada declaración entre BEGIN y ROOLBACK se revierte al estado en el que se ejecutó ROLLBACK.


37. ¿Cuál es la diferencia entre los tipos varchar y nvarchar?

Varchar y nvarchar son iguales, pero la única diferencia es que nvarhcar se puede usar para almacenar caracteres Unicode para varios idiomas y también ocupa más espacio en comparación con varchar.


38. ¿Para qué sirve @@SPID?

Un @@SPID devuelve el ID de sesión del proceso de usuario actual.


39. ¿Cuál es el comando utilizado para volver a compilar el procedimiento almacenado en tiempo de ejecución?

El procedimiento almacenado se puede ejecutar con la ayuda de una palabra clave llamada RECOMPILE.

Ejemplo

Exe <SPName>  WITH RECOMPILE

O podemos incluir WITHRECOMPILE en el propio procedimiento almacenado.


40. ¿Cómo eliminar filas duplicadas en SQL Server?

Las filas duplicadas se pueden eliminar utilizando la función CTE y NÚMERO DE FILA de SQL Server.


41. ¿Dónde se almacenan los nombres de usuario y las contraseñas de SQL Server en SQL Server?

Los nombres de usuario y las contraseñas se almacenan en sys.server_principals y sys.sql_logins. Pero las contraseñas no se almacenan en texto normal.


42. ¿Cuál es la diferencia entre GETDATE y SYSDATETIME?

Ambos son iguales, pero GETDATE puede dar tiempo hasta milisegundos y SYSDATETIME puede dar precisión hasta nanosegundos. SYSDATE TIME es más preciso que GETDATE.


43. ¿Cómo se pueden copiar datos de una tabla a otra?

INSERT INTO SELECT

Este comando se utiliza para insertar datos en una tabla que ya está creada.

SELECT INTO

Este comando se utiliza para crear una nueva tabla y su estructura y datos se pueden copiar de la tabla existente.


44. ¿Qué es TABLESAMPLE?

TABLESAMPLE se utiliza para extraer muestras de filas al azar que son todas necesarias para la aplicación. Las filas de muestra tomadas se basan en el porcentaje de filas.


45. ¿Qué comando se utiliza para los mensajes de error definidos por el usuario?

RAISEERROR es el comando utilizado para generar e inicia el procesamiento de errores para una sesión determinada. Esos mensajes definidos por el usuario se almacenan en la tabla sys.messages.


46. ​​¿Qué entendemos por tipo de datos XML?

El tipo de datos XML se utiliza para almacenar documentos XML en el base de datos de SQL Server. Las columnas y variables se crean y almacenan instancias XML en la base de datos.


47. ¿Qué es el CDC?

CDC se abrevia como Change Data Capture y se utiliza para capturar los datos que se han modificado recientemente. Esta característica está presente en SQL Server 2008.


48. ¿Qué es la inyección SQL?

La inyección SQL es un ataque realizado por usuarios malintencionados en el que se puede insertar código malicioso en cadenas que se pueden pasar a una instancia de servidor SQL para su análisis y ejecución. Todas las declaraciones deben verificarse en busca de vulnerabilidades, ya que ejecuta todas las consultas sintácticamente válidas que recibe.

Incluso los parámetros pueden ser manipulados por atacantes expertos y experimentados.


49. ¿Cuáles son los métodos utilizados para protegerse contra ataques de inyección SQL?

Los siguientes son los métodos utilizados para protegerse contra ataques de inyección SQL:

  • Usar parámetros para procedimientos almacenados
  • Filtrar parámetros de entrada
  • Utilice la colección de parámetros con SQL dinámico
  • En cláusula similar, caracteres de escape del usuario

50. ¿Qué es el índice filtrado?

El índice filtrado se utiliza para filtrar una parte de las filas de una tabla para mejorar el rendimiento de las consultas, el mantenimiento del índice y reducir los costos de almacenamiento del índice. Cuando el índice se crea con la cláusula WHERE, se denomina índice filtrado.

Estas preguntas de la entrevista también te ayudarán en tu viva(orals)

Boletín diario de Guru99

Empieza el día con las últimas y más importantes noticias sobre IA, entregadas ahora mismo.