En la era en la que se genera una enorme cantidad de datos día a día, los datos desempeñan un papel crucial en la toma de decisiones para las operaciones comerciales. Entonces, para manejar datos necesitamos bases de datos y esto nos da la necesidad de comprender los sistemas de administración de bases de datos. Con varios sistemas de administración de bases de datos, MS SQL Server es uno de los sistemas de administración de bases de datos relacionales más populares. Este tipo de DBMS utiliza una estructura que permite a los usuarios identificar y acceder a datos en relación a otro dato en la base de datos. Por lo tanto, conocer MS SQL Server le abre las puertas para convertirse en un administrador de base de datos. Creo que ya está al tanto de estos hechos y esto lo ha llevado a aterrizar en este artículo de Preguntas de la entrevista de MS SQL Server.
En este artículo sobre las preguntas de la entrevista de Microsoft SQL Server, analizaré las principales preguntas relacionadas con MS SQL Server que se hicieron en sus entrevistas. Estas preguntas se recopilan después de consultar con personas que tienen excelentes habilidades en este campo.
¡Empecemos!
P1. Mencione las diferencias entre SQL Server y MySQL.
Servidor SQL | MySQL |
Desarrollado por Microsoft | Desarrollado por Oracle |
Software con licencia | Software de código abierto |
Admite C#, Java C++, PHP, Visual Basic, Perl, Python, Ruby, etc. | Soporta PHP, Perl, Python, Ruby, etc |
No permite ningún tipo de manipulación de archivos de base de datos mientras se ejecuta | Permite la manipulación de archivos de la base de datos mientras se ejecuta. |
Permite la cancelación de consultas a la mitad del proceso | No permite la cancelación de consultas a la mitad del proceso. |
Al hacer una copia de seguridad de los datos, no bloquea la base de datos | Al hacer una copia de seguridad de los datos, bloquea la base de datos |
Ocupa una gran cantidad de espacio de almacenamiento operativo. | Ocupa menos espacio de almacenamiento operativo. |
Disponible en los modos Express y Custom. | Disponible en MySQL Community Edition y MySQL Enterprise Edition |
P2. ¿Qué entiende por Agente SQL Server?
El Agente SQL Server es un servicio de Windows que se utiliza para programar y ejecutar trabajos. Aquí, cada trabajo contiene uno o más pasos, y cada paso contiene una tarea. Por lo tanto, Server Agent usa SQL Server para almacenar información de trabajo y ejecutar un trabajo según un cronograma.
Los componentes principales del Agente SQL Server son trabajos, programaciones, operadores y alertas.
Ejemplo:
Si una empresa desea realizar una copia de seguridad de los servidores de la empresa todos los viernes a las 9:00 p. . En un escenario, la copia de seguridad encuentra un error, el Agente SQL Server registra el evento y notifica al equipo correspondiente.
P3. Mencione los diferentes modos de autenticación en SQL Server.
Antes de que le diga los diferentes modos de autenticación en SQL Server, permítame decirle que el modo de autenticación se usa para autenticar a un usuario en SQL Server. El modo de autenticación se selecciona al configurar el motor de la base de datos. Entonces, si desea saber cómo configurar Microsoft SQL Server, puede consultar mi artículo.
Los diferentes modos de autenticación que ofrece SQL SERVER son los siguientes:
- Modo de autenticación de Windows: Este modo se utiliza para conectar el servidor a través de una cuenta de Windows. Aquí, el servidor toma el nombre de usuario y la contraseña de las computadoras con fines de autenticación. Además, el modo de autenticación del servidor SQL está deshabilitado en este modo.
- Modo mixto: El modo mixto se utiliza para conectarse con una instancia de SQL Server mediante la autenticación de SQL Server o la autenticación de Windows. En este modo, el usuario establece un nombre de usuario y una contraseña para la base de datos.
P4. Mencione las diferencias entre tablas temporales locales y globales.
Tabla temporal local | Tabla temporal global |
Estas tablas solo existen durante la duración de la conexión o la duración de esa instrucción. | Estas tablas existen permanentemente en la base de datos y solo las filas se eliminan cuando se cierra la conexión. |
Sintaxis: CREAR TABLA # | Sintaxis: CREAR TABLA ## |
P5. ¿Cómo se puede comprobar la versión de SQL Server?
Para verificar la versión de SQL Server, puede usar el siguiente comando:
SELECT @@version
@@VERSION da salida como una cadena nvarchar.
P6. ¿Qué es el modo de usuario único y cuáles son los pasos que debe seguir para iniciar SQL Server en modo de usuario único?
A menudo puede suceder que desee iniciar una instancia de SQL Server en el modo de usuario único. Puede hacer esto, ya sea cuando desee recuperar datos de otros sistemas de bases de datos o desee cambiar las configuraciones del servidor.
Cuando inicia SQL Server en el modo de usuario único, cualquier miembro del grupo de administradores locales de la computadora se conecta a la instancia de SQL Server como administrador del sistema.
Los siguientes eventos ocurren al iniciar la base de datos en modo de usuario único:
- Un solo usuario se conecta al servidor.
- El PUNTO DE CONTROL el proceso no se ejecuta ya que se ejecuta de forma predeterminada al inicio.
Además, tenga en cuenta que debe detener el servicio del Agente SQL Server antes de conectarse a una instancia de SQL Server en el modo de usuario único.
- Para iniciar SQL Server en modo de usuario único, use el comando:
sqlcmd –m
- Para conectarse a través del Editor de consultas en Management Studio, use:
-m"Microsoft SQL Server Management Studio - Query".
P7. ¿Qué es el Analizador de SQL Server?
Microsoft SQL Server Profiler es una interfaz que se utiliza para crear y administrar seguimientos. También analiza y reproduce los resultados del seguimiento. Aquí, los eventos se guardan en un archivo de seguimiento que luego se analizan o utilizan para reproducir una serie específica de pasos mientras se depura un problema.
Puede usar SQL Server Profiler para actividades como:
- Encontrar la causa raíz del problema
- Supervisión del rendimiento de SQL Server para manejar las cargas de trabajo.
- Diagnóstico de consultas lentas
- Capturar una serie de declaraciones SQL que causan el problema, para replicar aún más el problema en el servidor de prueba, mientras se depura el problema.
- También ayuda a correlacionar los contadores de rendimiento para depurar problemas fácilmente.
P8. ¿Cuál es el puerto TCP/IP en el que se ejecuta SQL Server?
El puerto TCP/IP en el que se ejecuta SQL Server es 1433.
P9. ¿Qué son las subconsultas en el servidor SQL? Explica sus propiedades.
Una subconsulta es una consulta dentro de otra consulta donde se define una consulta para recuperar datos o información de la base de datos. En una subconsulta, la consulta externa se llama consulta principal, mientras que la consulta interna se denomina subconsulta. Las subconsultas siempre se ejecutan primero y el resultado de la subconsulta se pasa a la consulta principal. Se puede anidar dentro de SELECCIONAR, ACTUALIZAR o cualquier otra consulta. Una subconsulta también puede usar cualquier operador de comparación como>, Las propiedades de las subconsultas son las siguientes: En la instalación en clúster, SQL Server usa la conexión disponible de DLL y, por lo tanto, bloquea cualquier otra conexión al servidor. En este estado, si intenta poner en línea los recursos del Agente SQL Server, es posible que los recursos SQL se trasladen a un nodo diferente, ya que podría estar configurado para un grupo. Entonces, para iniciar un modo de usuario único en la instalación en clúster, puede seguir los pasos a continuación: La replicación en Microsoft SQL Server es un proceso para sincronizar los datos entre múltiples servidores. Esto generalmente lo hace un conjunto de réplicas, y estos conjuntos brindan múltiples copias de datos con redundancia y alta disponibilidad en diferentes servidores. No solo esto, sino que la replicación proporciona un mecanismo para recuperarse de fallas. También elimina las dependencias de un solo servidor para proteger la pérdida de datos de un solo servidor. Los siguientes son tres tipos de replicaciones en SQL Server: Proporciona una sintaxis simple y fácil. Consiste en una sintaxis compleja y comparativamente más eficiente. Utiliza transact SQL o T-SQL. Utiliza PL/SQL No es compatible con la optimización de consultas. Utiliza la optimización de consulta de estrellas. No se permiten reversiones en el proceso de transacción. Se permiten reversiones durante el proceso de transacción. Permite copias de seguridad incrementales, parciales y completas Permite copias de seguridad incrementales, completas, a nivel de archivo y diferenciales. No es compatible con la agrupación. Ofrece compatibilidad con la configuración en clúster. Instrucciones como INSERTAR, ACTUALIZAR, ELIMINAR se ejecutan en serie. Declaraciones como INSERT, UPDATE, DELETE, MERGE se ejecutan en paralelo. Los trabajos se programan a través del Agente SQL Server Los trabajos se programan a través del programador Oracle u OEM Microsoft SQL Server usa una jerarquía de bloqueo cada vez que se leen los datos o se cambia algo en los datos. Cada vez que se lee una fila, SQL Server adquiere un bloqueo compartido. De manera similar, tan pronto como cambiamos una fila, SQL Server adquiere un bloqueo exclusivo. Estos bloqueos son incompatibles entre sí. Por lo tanto, los bloqueos INTENTIVOS se utilizan para indicar en un nivel superior qué bloqueos se aplican dentro de una jerarquía de bloqueo. Existen principalmente tres tipos de bloqueos INTENTIVOS:
Los pasos que debe seguir para ocultar instancias de SQL Server son los siguientes:
Los servicios de calidad de datos en SQL Server son un producto de calidad de datos basado en el conocimiento. Los servicios de calidad de datos (DQS) de SQL Server permiten al usuario crear una base de conocimientos y luego utilizarla para realizar tareas como corrección, deduplicación, enriquecimiento y estandarización de datos. Además, DQS también proporciona perfiles y le permite realizar una limpieza de datos con la ayuda de servicios de datos basados en la nube. DQS consta de dos componentes: Las tablas mágicas son tablas creadas automáticamente en SQL Server que se utilizan para almacenar internamente los valores insertados y actualizados para operaciones DML como (SELECCIONAR, ELIMINAR, INSERTAR, ACTUALIZAR, etc.). Change Data Capture o más conocido como CDC se usa para registrar las actividades INSERTAR, ACTUALIZAR, ELIMINAR aplicadas en las tablas. Entonces, como sugiere el nombre, Change Data Capture se usa para capturar los datos que se han cambiado recientemente. La información de la columna y los metadatos necesarios para aplicar los cambios al entorno de destino se capturan para las filas modificadas y finalmente se almacenan en las tablas de cambios. Estas mesas de cambio son la imagen especular de la estructura de columnas original. Los activadores se utilizan para ejecutar lotes de código SQL cada vez que se ejecutan los comandos INSERTAR, ELIMINAR o ACTUALIZAR en una tabla. Entonces, básicamente, los activadores se ejecutan automáticamente cada vez que se modifican los datos en función de las operaciones de manipulación de datos.
Los diferentes tipos de activadores son los siguientes: Un procedimiento almacenado recursivo es un método de resolución de problemas a través del cual puede llegar a la solución una y otra vez. El proceso de automatización de la copia de seguridad para restaurar bases de datos de un servidor independiente a otro servidor independiente en espera se conoce como Log Shipping. También puede entender el trasvase de registros como una de las soluciones de recuperación ante desastres, ya que garantiza que incluso si falla un servidor, el servidor en espera tendrá los mismos datos que el propio servidor.
Las ventajas de Log Shipping son las siguientes: Estas banderas se utilizan para alterar el comportamiento del servidor o establecer las características del servidor. Algunas marcas de rastreo comunes que se usan con SQL Server son las siguientes Se utiliza para devolver una parte específica de la cadena en una cadena determinada Se utiliza para devolver la posición de un carácter en una cadena específica dada Ejemplo: SUBCADENA('Edureka',1,4) Salida: Edur Ejemplo: CHARINDEX('r','Edureka',1) Salida: 4 Analysis Services en Microsoft SQL Server es un motor de datos analíticos que se utiliza en análisis de negocios y apoyo a la toma de decisiones. Este servicio proporciona modelos semánticos de nivel empresarial para aplicaciones cliente e informes como Power BI, Microsoft Excel y otras herramientas de visualización. Analysis Services está disponible en plataformas como: La duplicación en SQL Server está diseñada para mantener un servidor en espera activo, que es consistente con el servidor principal en términos de una transacción. Además, los registros del registro de transacciones se envían desde el servidor principal al servidor secundario. Las siguientes son las ventajas de Mirroring: Los cursores basados en SQL Server se utilizan cuando desea trabajar en un registro en cualquier momento, en lugar de tomar todos los datos de una tabla de forma masiva. Sin embargo, no es preferible utilizar cursores cuando hay grandes volúmenes de datos, ya que afecta el rendimiento. En un escenario, donde no es posible evitar los cursores, entonces intente reducir el número de registros a procesar usando una tabla temporal y luego eventualmente construya el cursor a partir de esto. El diseño físico y lógico juega un papel importante en el rendimiento de las aplicaciones basadas en SQL Server. Necesitamos asegurarnos de que los datos correctos se capturen en tablas adecuadas, los elementos de datos tengan relaciones adecuadas entre ellos y se reduzca la redundancia de datos. También sugeriría que mientras diseña una base de datos, asegúrese de que sea un proceso iterativo para lograr todos los objetivos del sistema requeridos y que esté bajo observación constante. Una vez que se establece el diseño de la base de datos, es muy difícil cambiar el diseño según los requisitos. Solo puede agregar nuevas relaciones y elementos de datos. P27. ¿Qué entiende por función definida por el usuario en SQL Server y explica los pasos para crear y ejecutar una función definida por el usuario en SQL Server? Una función definida por el usuario es una función escrita según las necesidades del usuario mediante la implementación de la lógica. En este tipo de funciones, el usuario no se limita a las funciones predefinidas y simplifica el código complejo de la función predefinida escribiendo un código simple. Esta función devuelve un valor escalar o una tabla. Para crear una función definida por el usuario, consulte el siguiente ejemplo:
Para ejecutar la función creada anteriormente, consulte el siguiente comando: Un desarrollador debe verificar el tipo de información almacenada, volumen de datos y los datos que se accederá. En un escenario, donde está actualizando un sistema existente, debe analizar los datos actuales, los volúmenes de datos existentes ocurren y verificar el método a través del cual se accede a los datos, para ayudarlo. entender las áreas problemáticas para el diseño. En un escenario, donde está utilizando un nuevo sistema, debe mantener la información sobre qué datos se capturarán, cuáles son los componentes de los datos y la relación entre los elementos de datos. Una relación en DBMS es el escenario donde dos entidades están relacionadas entre sí. En tal escenario, la tabla que consta de referencias de clave externa a la de una clave principal de la otra tabla. Los diferentes tipos de relaciones en DBMS son los siguientes:
Una cláusula JOIN se usa para combinar filas de dos o más tablas, en función de una columna relacionada entre ellas. Se utiliza para fusionar dos tablas o recuperar datos de allí. Hay 4 combinaciones en SQL, a saber: El comando DBCC CHECKDB se utiliza para verificar la integridad física y lógica de todos los objetos en la base de datos mencionada. Para ello, realiza las siguientes operaciones: Entonces, solo tiene que ejecutar el comando DBCC CHECKDB y, automáticamente, se ejecutan los comandos DBCC CHECKALLOC, DBCC CHECKTABLE o DBCC CHECKCATALOG. Además, tenga en cuenta que DBCC es compatible con bases de datos que contienen tablas optimizadas para memoria, pero no ofrece opciones de reparación. Esto implica que debe realizar copias de seguridad de las bases de datos con regularidad y probar dichas copias de seguridad. La restricción CHECK en SQL Server se usa para limitar los valores o el tipo de datos almacenados en una columna. Una vez que aplica la restricción CHECK en una sola columna, puede avanzar y aplicar valores específicos para esa columna en particular. Esta función se usa para devolver la primera expresión no nula dentro de los argumentos. El comando COALESCE se usa para devolver un valor no nulo de más de una sola columna en los argumentos. La función FLOOR se usa para redondear un valor no entero al valor entero más bajo anterior. Esta función devuelve un valor único después de redondear los dígitos.
Sintaxis:
Ejemplo: Para verificar los bloqueos en la base de datos, puede usar el procedimiento almacenado incorporado sp_lock.
Para enumerar todos los bloqueos actualmente retenidos en una instancia del motor de base de datos, use el siguiente comando:
Las siguientes son tres formas de contar el número de registros en la tabla:
Esta función se utiliza para determinar si el número mencionado es cero, positivo y negativo. Entonces, devolverá 0, +1, -1.
Para encontrar el primer día de la semana del mes, puede escribir una consulta de la siguiente manera: Para cambiar el nombre de una base de datos, debe usar el comando sp_renamedb de la siguiente manera:
To find the 5th highest amount paid from the customers’ table, you can write a query as below:
To delete a table in SQL Server, use the Delete command. 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.
Note: Whenever GROUP BY is not used, HAVING behaves like a WHERE clause. 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.
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. These are few encryption mechanisms in SQL Server to encrypt data in the database:
The READ_COMMITED_SNAPSHOT option and the ALLOW_SNAPSHOT_ISOLATION option must be set to allow the usage of optimistic models.
The common performance issues in SQL Server are as follows: 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 MySQL DBA Certification Training 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. Got a question for us? 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.
P10. ¿Cómo se inicia el modo de usuario único en clústeres instalaciones?
net start MSSQLSERVER /m.
SQLCMD -E -S<servername>.
P11. ¿Qué entiendes por replicación en SQL Server? Mencione los diferentes tipos de replicación en SQL Server.
P12. ¿Cuáles son las diferencias entre MS SQL Server y Oracle?
Servidor MS SQL Oraculo P13. ¿Qué entiendes por bloqueos INTENTIVOS?
P14. ¿Cuáles son los pasos que debe seguir para ocultar las instancias de SQL Server?
P15. ¿Qué entiendes por servicios de calidad de datos en SQL Server?
P16. Explicar Magic Tables en el servidor SQL
P17. ¿Qué entiendes por Cambiar captura de datos ?
P18. ¿Qué entiendes por disparadores y mencionas los diferentes tipos de los mismos?
P19. ¿Qué entiendes por procedimiento almacenado recursivo?
P20. Explicar Log Shipping y mencionar sus ventajas.
P21. ¿Qué son las marcas de seguimiento y mencionar algunos indicadores de seguimiento comunes que se utilizan con SQL Server?
P22. Mencione las diferencias entre SUBSTR y CHARINDEX en SQL Server.
SUBSTR ÍNDICE DE CARÁCTER P23. ¿Qué entiendes por Analysis Services en SQL Server?
P24. ¿Qué entiendes por Mirroring y mencionas las ventajas del Mirroring?
P25. ¿Cuándo cree que un desarrollador debería usar cursores basados en SQL Server?
P26. ¿Qué papel juega el diseño de la base de datos en el rendimiento de una aplicación basada en SQL Server?
CREATE FUNCTION samplefunc(@num INT)
RETURNS TABLE
AS
RETURN SELECT * FROM customers WHERE CustId=@num
SELECT * FROM samplefunc(10)
P28. ¿Cómo puede asegurarse de que la base de datos y la aplicación basada en SQL Server funcionen bien?
P29. Qué son las relaciones y mencionar diferentes tipos de relaciones en el DBMS
P30. ¿Qué son las uniones en SQL y cuáles son los diferentes tipos de uniones?
P31. ¿Para qué se usa el comando DBCC CHECKDB?
P32. ¿Qué entiende por restricción CHECK en SQL Server?
Ejemplo:
CREATE TABLE Customer (
Cust_ID int NOT NULL,
FirstName varchar(255),
Age int,
City varchar(255),
CONSTRAINT CHK_Customer CHECK (Age>20 AND City= 'Hyderabad')
);
P33. Qué hacer entiendes por COALESCE en SQL Server?
Ejemplo:
SELECT COALESCE(CustID, CustName, Amount) from Customers;
P34. Explicar el uso de la función FLOOR en SQL Server.
FLOOR(expression)
FLOOR(7.3)
P35. ¿Cuál es el comando que se usa para comprobar bloqueos en Microsoft SQL Server?
Sintaxis
sp_lock [ [ @spid1 = ] 'session ID1' ] [ , [@spid2 = ] 'session ID2' ]
[ ; ]
Ejemplo:
USE SampleDB;
GO
EXEC sp_lock;
GO
P36. Mencione las 3 formas de contar la cantidad de registros en una tabla.
SELECT * FROM TableName;
SELECT COUNT(*) FROM TableName;
SELECT rows FROM indexes WHERE id = OBJECT_ID(TableName) AND indexid< 2;
P37. ¿Cuál es el uso de la función SIGN?
Sintaxis:
SIGN(number)
Ejemplo:
SIGN (0) returns 0
SIGN (21) returns 1
SIGN (-21) returns -1
P38. ¿Escribir una consulta SQL para encontrar el primer día de la semana del mes?
SELECT DATENAME(dw, DATEADD(dd, – DATEPART(dd, GETDATE()) + 1, GETDATE())) AS FirstDay;
P39. Mencione el comando utilizado para cambiar el nombre de la base de datos.
sp_renamedb 'OldDatabaseName', 'NewDatabaseName';
P40. Escriba una consulta para encontrar la quinta cantidad más alta pagada de la tabla Cliente.
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?
Syntax:
DELETE TableName
Example:
DELETE Customers;
Q42. What is the purpose of UPDATE STATISTICS and SCOPE_IDENTITY() function ?
Q43. What do you understand by PHYSICAL_ONLY option in DBCC CHECKDB?
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?
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 Q46. What do you understand by integration services in SQL Server?
Q47. What do you understand by Hotfixes and Patches in SQL Server?
Q48. Can you name a few encryption mechanisms in SQL server?
Q49. What are the options which must be set to allow the usage of optimistic models?
Q50. What are the common performance issues in SQL Server?