sábado, 25 de marzo de 2017

Utilidades de SQL SERVER y Visual Basic.NET

A continuación se presentan algunas utilidades que no merecen un artículo por si mismas pero que conviene tener en cuenta.

Utilidades de SQL Server


Ver quien está utilizando la base de datos

Con las nuevas versiones no hay manera de ver quien está conectado a la base de datos.
Pero existe un procedimiento almacenado llamado  sp_who  que muestra quien está utilizando la bbdd.

Utilidades de SQL SERVER y Visual Basic.NET


sábado, 18 de marzo de 2017

Creación de un inicio de sesión en SQL Server 2008

Un inicio de sesión, es una entidad de seguridad que puede ser autenticada por un sistema seguro. Se pueden conceder permisos a los inicios de sesión. El ámbito de un inicio de sesión es todo el motor de base de datos. Un inicio de sesión debe estar asignado a un usuario de la base de datos. Los permisos dentro de la base de datos se conceden y deniegan al usuario de la base de datos, no al inicio de sesión. 

Para crear un inicio de sesión 


Abrimos el administrador corporativo de SQL Server 2008 y en la ventana del Explorador de objetos, sobre la carpeta de la instancia de servidor en la que se desea crear el nuevo inicio de sesión se hace clic con el botón derecho del ratón sobre la carpeta Seguridad, y se selecciona Nuevo y, después,  Inicio de sesión….

Creación de un inicio de sesión en SQL Server 2008

sábado, 11 de marzo de 2017

Subconsultas en SQL

Son aquellas sentencias SELECT que se encuentran anidadas en una cláusula WHERE o HAVING de otra sentencia de orden superior. Cada una de las subconsultas debe incluir al menos una cláusula SELECT y otra FROM y se escriben entre paréntesis para que el gestor de la base de datos la realice en primer lugar.

Las subconsultas pueden ser correlacionadas o no correlacionadas. Una consulta es correlacionada si su resultado depende de la SELECT externa de la que depende. Cualquier otra subconsulta es denominada no correlacionada.

Subconsultas en SQL

sábado, 4 de marzo de 2017

SQL Server: Interpretar planes de ejecución gráficos para consultas básicas

Vamos a tratar de explicar cómo interpretar planes de ejecución gráficos básicos, es decir, planes de ejecución para sentencias del tipo SELECT, UPDATE, INSERT Y DELETE, con sólo unos pocos JOINS y si no hay funciones avanzadas o indirectas. 

Los planes gráficos están basados en iconos, y el número de iconos a aprender es mínimo. Cada icono representa un operador específico dentro de la ejecución del plan. Se va a utilizar el término "icono" y "operador" de forma intercambiable.

Hay 78 operadores disponibles. Afortunadamente, no es necesario memorizar todos antes de que podamos leer un plan de ejecución gráfico. La mayoría de las consultas utilizan sólo un pequeño subconjunto de operadores, y nos centraremos en los principales. Si vemos un icono desconocido, se puede encontrar más información al respecto en los libros en pantalla. .

Un plan de ejecución gráfico muestra cuatro tipos distintos de operadores:

• Los operadores lógicos y físicos, también llamados iteradores, aparecen como iconos azules y representan la ejecución de consultas u operaciones DML.

• Operadores de paralelismo físico son también iconos azules y representan operaciones de paralelismo. Son un subconjunto de los operadores lógicos y físicos, pero conllevan un nivel completamente diferente de análisis en el plan de ejecución.

• Operadores de cursor, tienen iconos de color amarillo y representan operaciones de cursor de SQL.

• Elementos del lenguaje son iconos verdes y representan elementos del lenguaje SQL, como ASSIGN, DECLARE, IF, SELECT (RESULT), WHILE.

Nos centraremos principalmente en los operadores lógicos y físicos, incluyendo algunos operadores de paralelismo físico. Algunos textos enumeran en orden alfabético todos los operadores, pero esta no es la forma más fácil de aprenderlos, aquí nos centraremos en los iconos más comunes.

Podemos aprender mucho de cómo trabajan los operadores observando la forma en que operan dentro de los planes de ejecución. La clave, es aprender a utilizar las propiedades de cada uno de los operadores y profundizar en ellas. Cada operador, tiene un conjunto diferente de características. Algunos operadores, principalmente Sort, Hash Match (Aggregate) y Hash Join requieren una cantidad variable de memoria para ejecutarse. Una consulta con uno de estos operadores puede tener un tiempo de retardo antes de su ejecución, pudiendo afectar negativamente al rendimiento. A continuación, se muestra una lista de los operadores.

SQL Server: Interpretar planes de ejecución gráficos para consultas básicas