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.

Unable to connect to SQL Server ‘(local)’

diegoxfs.com - Unable to connect to SQL Server ‘(local)’

Unable to connect to SQL Server ‘(local)’ es un error aislado que se da sobre todo cuando se programan tareas(jobs) que en el proceso interno utilizan la base de datos en estado single user, de esta manera luego del error la tarea falla y eso podría acarrear problemas de disponibilidad de datos.


Receta

MSSQL nos está advirtiendo que tenemos errores de conexión por lo que como primera medida debemos revisar la conexión al servidor y el estado de la base de datos, esto último se hace con un simple select a una vista de sistema

use master
go

select
 compatibility_level,
 state_desc,
 user_access_desc
from sys.databases
where database_id = db_id('mydb')
go

Como probablemente nuestro resultado sea que la base de datos se encuentra en estado singe_user , primero debemos saber que proceso, o sentencia esta ejecutando la conexión, terminar con ella y volver a configurar nuestra base para que acepta multiples conexiones simultaneas.

  1. Asegúrate de estar conectado a la base máster
  2. Revisar que conexión tiene acceso exclusivo a la base de datos
  3. Revisar que esta ejecutando la conexión
  4. Eliminar la conexión
  5. Configurar la base de datos en estado multi usuario.

Saludos.
SQLNODE