Descargar PDF
1. ¿Cuáles son los dos modos de autenticación en SQL Server?
Hay dos modos de autenticación:
- Modo ventana
- 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.
2. ¿Qué es SQL Profiler?
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 una tabla para su análisis.
3. ¿Qué es el procedimiento almacenado recursivo?
SQL Server admite el procedimiento almacenado recursivo que se llama por sí mismo. 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 repetida. Puede anidar hasta 32 niveles.
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. ¿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 #
- Las tablas temporales globales son visibles para todos los usuarios y se eliminan cuando se cierra la conexión que las creó.
CREATE TABLE ##
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. Verificar la restricción es hacer cumplir la integridad.
6. ¿Pueden los servidores SQL vinculados a otros servidores?
El 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 las sentencias Seleccionar, Actualizar, Insertar o Eliminar. Esto se puede usar 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 incluirse entre paréntesis porque debe ejecutarse primero antes que 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 ese resultado de la subconsulta, se ejecutará la consulta principal.
9. ¿Qué es el agente de servidor SQL?
El agente de 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 del programador 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 tiempo programado en un intervalo regular. Esta programación de tareas ayuda a reducir la intervención humana durante la noche y la alimentación se puede realizar en un momento determinado. 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 FLOOR?
La función FLOOR se utiliza para redondear un valor no entero al menor número entero anterior. Se da un ejemplo
FLOOR(6.7)
Devoluciones 6.
14. ¿Podemos comprobar 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. ¿Cuál es el uso de 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 disparador?
Los desencadenadores 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 disparadores 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 disparadores?
Hay cuatro tipos de desencadenantes y son:
- Insertar
- Borrar
- Actualizar
- En vez de
18. ¿Qué es una columna de IDENTIDAD en las declaraciones de inserción?
La columna IDENTIDAD se usa en las columnas de la tabla para hacer que esa columna sea 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 una gran cantidad de datos de tablas. Esta herramienta se utiliza para cargar gran cantidad de datos en SQL Server.
20. ¿Qué consulta se utilizará para obtener la lista de desencadenantes en una base de datos?
Consulta para obtener la lista de desencadenadores en la base de datos-
Select * from sys.objects where
21. ¿Cuál es la diferencia entre UNION y UNION ALL?
- UNION: Para seleccionar información relacionada de dos tablas se usa el comando UNION. Es similar al comando JOIN.
- 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. La ID de sesión se puede encontrar usando @@ SPID.
23. ¿Cuáles son las diferencias entre el procedimiento almacenado y el SQL dinámico?
El procedimiento almacenado es un conjunto de declaraciones que se almacena 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á en una base de datos y simplemente se ejecutará durante el tiempo de ejecución.
24. ¿Qué es la colación?
La intercalación se define para especificar el orden de clasificación en una tabla. Hay tres tipos de orden de clasificación:
- Distingue mayúsculas y minúsculas
- Insensible a mayúsculas y minúsculas
- Binario
25. ¿Cómo podemos contar el número de registros en una tabla?
A continuación, se muestran las consultas que se pueden usar para obtener el recuento de registros en una tabla:
Select * fromSelect count(*) from Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2
26. ¿Cuál es el comando que se usa 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 usa para actualizar los índices en las tablas cuando hay una gran cantidad de eliminaciones o modificaciones o se ha producido una copia masiva en los índices.
28. ¿Cuál es el uso de la instrucción SET NOCOUNT ON / OFF?
De forma predeterminada, NOCOUNT se establece en OFF 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, se puede configurar explícitamente en ON- (SET NOCOUNT ON).
29. ¿Qué tabla de 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 denominada Sys.Procedures.
30. ¿Qué son las tablas mágicas en SQL Server?
Durante las operaciones de DML como Insertar, Eliminar y Actualizar, SQL Server crea tablas mágicas para mantener los valores durante las operaciones de DML. Estas tablas mágicas se utilizan dentro de los activadores para la transacción de datos.
31. ¿Cuál es la diferencia entre SUBSTR y CHARINDEX en SQL Server?
La función SUBSTR se utiliza para devolver una parte específica de la cadena en una cadena determinada. Pero, la función CHARINDEX da la posición del carácter en una cadena especificada dada.
SUBSTRING('Smiley',1,3)
Da resultado como Smi
CHARINDEX('i', 'Smiley',1)
Da 3 como resultado ya que aparece en la 3ª posición de la cadena
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 usa 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. ¿Cuál es el uso de la cláusula FOR?
La cláusula FOR se utiliza principalmente para XML y opciones de 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, el índice 100 se puede utilizar como número máximo por tabla. En SQL Server se pueden usar 1 índice agrupado y 999 índices no agrupados por tabla.
El índice 1000 se puede utilizar como número máximo por tabla. En SQL Server se pueden usar 1 índice agrupado y 999 índices no agrupados por tabla.
En SQL Server se pueden usar 1 índice agrupado y 999 índices no agrupados por tabla.
36. ¿Cuál es la diferencia entre COMMIT y ROLLBACK?
Cada instrucción entre BEGIN y COMMIT se vuelve persistente en la base de datos cuando se ejecuta COMMIT. Cada instrucció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. ¿Cuál es el uso de @@ SPID?
Un @@ SPID devuelve el ID de sesión del proceso de usuario actual.
39. ¿Cuál es el comando que se utiliza 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
ExeWITH 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 usando CTE y la función 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 los datos de una tabla a otra?
INSERT INTO SELECCIONAR
Este comando se usa para insertar datos en una tabla que ya está creada.
SELECCIONAR EN
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 una muestra 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 que se utiliza para generar e iniciar el procesamiento de errores para una sesión determinada. Los mensajes definidos por el usuario se almacenan en la tabla sys.messages.
46. ¿Qué se entiende por tipo de datos XML?
El tipo de datos XML se utiliza para almacenar documentos XML en la base de datos de SQL Server. Las columnas y variables se crean y almacenan instancias XML en la base de datos.
47. ¿Qué son los CDC?
CDC se abrevia como Captura de datos modificados, que 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 de SQL es un ataque de usuarios malintencionados en el que se puede insertar código malintencionado en cadenas que se pueden pasar a una instancia del servidor SQL para su análisis y ejecución. Todas las declaraciones deben comprobarse 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 hábiles y experimentados.
49. ¿Cuáles son los métodos utilizados para protegerse contra el ataque de inyección de SQL?
Los siguientes son los métodos utilizados para protegerse contra el ataque de inyección de SQL:
- Usar parámetros para procedimientos almacenados
- Filtrado de parámetros de entrada
- Utilice la colección de parámetros con SQL dinámico
- En la cláusula similar, los 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 llama Índice filtrado