Compartir a través de


Administrar el reenvío (Service Broker)

El reenvío de mensajes permite a una instancia de SQL Server reenviar mensajes de Service Broker entre dos o más instancias de SQL Server. Se aplican varias consideraciones a la administración de una instancia de SQL Server que realiza reenvío de mensajes.

Service Broker utiliza las rutas de la base de datos msdb para los mensajes reenviados y entrantes. Después de realizar cambios en la configuración de enrutamiento para el reenvío, debe realizar una copia de seguridad de msdb.

SQL Server almacena mensajes para reenviarlos a la memoria en una estructura de datos denominada cola de transmisor. La opción de extremo MESSAGE_FORWARDING_SIZE establece la cantidad de memoria máxima (en megabytes) que SQL Server utiliza para almacenar mensajes que se van a reenviar. SQL Server asigna memoria según sea necesario para retener los mensajes que se van a reenviar hasta dicho límite. Si se recibe un mensaje que puede provocar que se exceda el límite del tamaño de la cola de transmisor, SQL Server quita el mensaje. Sin embargo, si un mensaje de gran tamaño se ha fragmentado, la instancia de reenvío no vuelve a componer los fragmentos, sino que reenvía los fragmentos del mensaje al destino. De este modo, una instancia de reenvío puede reenviar correctamente un mensaje que sea mayor que la opción MESSAGE_FORWARDING_SIZE configurada para la instancia.

Una instancia que realiza el reenvío de mensajes suele funcionar como un puente entre dos redes. Para esta configuración, es posible que la opción MESSAGE_FORWARDING_SIZE del extremo de Service Broker deba ser relativamente grande, ya que todo el tráfico que se produce entre las dos redes pasa a través de la instancia.

La vista de administración dinámica sys.dm_broker_forwarded_messages muestra los mensajes almacenados para su reenvío.