Archivo de la categoría: SQL Server

Plan de ejecución, un lenguaje gráfico.

De alguna manera, aprender a leer un plan de ejecución es como aprender un nuevo lenguaje, salvo que en este caso el lenguaje está basado en íconos, y el número de íconos es acotado. Cada ícono representa una operación específica en el plan de ejecución.

bookmark2005

En total son 79 los diferentes íconos que se pueden encontrar en una consulta, sin embargo, esto no quiere decir que debemos memorizarlos todos antes de interpretar lo que hay detrás de la ejecución de una query. Muchas consultas sólo útilizan un subconjunto de estos íconos y nos simplifica todo mucho más.

Son cuatro los distintos tipos de operadores que podemos encontrar en una plan de ejecución gráfico:

  1. Operadores gráficos y físicos: También llamados iteradores, son desplegados como un ícono azul y representan la ejecución de una declaración DML.
  2. Operadores físicos de paralelismo: También son representados por íconos azules y representan operaciones de paralelismo, de cierta forma, son un subconjunto de los operadores gráficos y físicos, pero se consideran en otro grupo porque estan en un nivel del plan de ejecución completamente distinto.
  3. Operadores de cursor: Son íconos amarillos y representan la operacion de cursores en transact-SQL.
  4. Elementos del lenguaje: Se encuentran como íconos de color verde y representan elementos propios del lenguaje Transact-SQL. Como Assign,Declare,If, While, entre otros.

 

Para mayor información podemos dirigirnos a los BOL de microsoft en el siguiente enlace.

 

 

 

Verificación de páginas en SQL SERVER

Una de las cualidades importantes de un DBMS es mantener la integridad de sus datos, para asegurarnos de esto podriamos bastarnos solamente de asegurar la integridad referencial sobre nuestras tablas, pero ¿qué hay con los datos que son almacenados en páginas y posteriormente escritos en disco?, ¿qué nos asegura que al escribir o leer el volumen de datos se mantiene y no se ha corrompido? Para esto SQL Server nos proporciona una opción que se encarga de hacernos la vida más facil, estoy hablando de la opción de verificación de paginas y su valor checksum.

Sigue leyendo Verificación de páginas en SQL SERVER

Error: RPC Server is unavailable

Mientras establecia conexión entre dos instancias de MSSQL Server 2008R2 a través de servidores vinculados, tuve la necesidad de probar la ejecución de procedimientos almacenados como parte de una consulta vinculada, al ejecutar obtuve el error que forma parte del título de este post.

De manera simple RPC es una configuración heredada de versiones anteriores del motor que proviene de los Remote Servers,  y corresponde a un ajuste que le permite a un cliente conectado a una instancia de SQL Server ejecutar un procedimiento alamacenado ubicado en otra instancia sin la necesidad de establecer una conexión aparte de la ya tiene. De esta menera, la instancia a la que se encuentra conectado el cliente envía la solicitud al servidor vinculado, éste último responde al servidor donde se encuentra conectado el cliente y finalmente la respuesta de la solicitud llega al cliente sin mayor esfuerzo.

Actualmente, en versiones como SQCapturaL Server 2008R2 que es la que estoy utilizando, la configuración se realiza como parte de un Linked Server y es muy sencilla

Luego establecer la conexión a tu instancia a travès de Microsoft SQL Server Management Studio debes dirigirte al explorador de objetos, ubica la carpeta Objetos de servidor y luego servidores vinculados. Expande tus servidores  y en el que necesites configurar RPC haz click con el botón derecho del mouse, pincha propiedades y finalmente revisa la pestaña Opciones de servidor. Se expandirá una imagen como de acontinuación y ahí debes cambiar de False a True las opciones RPC y RPC OUT

Espero te sea de ayuda, y como siempre, quedo atento a tus comentarios.