MSSQL unter Windows: Der Transport für Service Broker/Datenbankspiegelung kann an dem Port nicht lauschen, weil er verwendet wird.

Microsoft.SQLServer.Windows.EventRule.DBEngine.The_Service_Broker_Database_Mirroring_transport_cannot_listen_on_port_because_it_is_in_use_5_Rule (Rule)

Wenn Sie einen Service Broker- oder Datenbankspiegelungsendpunkt erstellen, muss SQL Server TCP/IP-Verbindungen auf dem in der Endpunktkonfiguration angegebenen Port akzeptieren können. Aus Gründen der Transportsicherheit ist eine Autorisierung für die Verbindungen zum Port erforderlich. Wenn auf dem Server eine Firewall aktiviert ist, muss die Firewall-Konfiguration eingehende und ausgehende Verbindungen zum bzw. vom Port zulassen, der vom Endpunkt verwendet wird.

Knowledge Base article:

Zusammenfassung

Wenn Sie einen Service Broker- oder Datenbankspiegelungsendpunkt erstellen, muss SQL Server TCP/IP-Verbindungen auf dem in der Endpunktkonfiguration angegebenen Port akzeptieren können. Aus Gründen der Transportsicherheit ist eine Autorisierung für die Verbindungen zum Port erforderlich. Wenn auf dem Server eine Firewall aktiviert ist, muss die Firewall-Konfiguration eingehende und ausgehende Verbindungen zum bzw. vom Port zulassen, der vom Endpunkt verwendet wird.

In diesem Fall ist der angegebene Port nicht verfügbar, da er verwendet wird.

Ursachen

Ein anderes Programm auf dem Computer verwendet den angegebenen TCP-Port. Das Windows-Anwendungsprotokoll gibt an, ob der Fehler von Service Broker oder von der Datenbankspiegelung ausgegeben wurde. Diese Meldung wird im Windows-Anwendungsprotokoll mit Ereignis-ID 9692 und Ereignisquelle MSSQLSERVER protokolliert.

Lösungen

Führen Sie in der Eingabeaufforderung netstat -aon aus, um festzulegen, von welchem Programm der Port genutzt wird.

Sie können entweder die Anwendung, die den Port verwendet, deaktivieren oder in der Service Broker-Anwendung einen anderen Port angeben.

Extern

Weitere Informationen erhalten Sie in der SQL Server-Onlinedokumentation unter "ALTER ENDPOINT (Transact-SQL)".

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Intervall (Sekunden)

Gibt das Wiederholungsintervall in Sekunden für die Ausführung des Workflows an.

300

Priorität

Definiert die Warnungspriorität.

1

Schweregrad

Definiert den Warnungsschweregrad.

2

Synchronisierungszeit

Synchronisierungszeit

 

Timeout (Sekunden)

Gibt die Zeit an, zu der der Workflow ausgeführt werden dann, bevor er geschlossen und als fehlerhaft markiert wird.

200

Timeout für Datenbankverbindung (Sekunden)

Es tritt ein Fehler beim Workflow auf, und ein Ereignis wird registriert, wenn der Workflow nicht innerhalb des angegebenen Zeitraums auf die Datenbank zugreifen kann.

15

Element properties:

TargetMicrosoft.SQLServer.Windows.DBEngine
CategoryEventCollection
EnabledTrue
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
MSSQL unter Windows: Der Transport für Service Broker/Datenbankspiegelung kann an dem Port nicht lauschen, weil er verwendet wird.
{0}
CommentMom2017ID='{BEE972D8-4422-4CFD-BC7D-B1035EA67E9D}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

ID Module Type TypeId RunAs 
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ DataSource Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered Default
GenerateAlert WriteAction System.Health.GenerateAlert Default

Source Code:

<Rule ID="Microsoft.SQLServer.Windows.EventRule.DBEngine.The_Service_Broker_Database_Mirroring_transport_cannot_listen_on_port_because_it_is_in_use_5_Rule" Target="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2017ID='{BEE972D8-4422-4CFD-BC7D-B1035EA67E9D}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Microsoft.SQLServer.Windows.DataSource.EventCollectionFiltered">
<MachineName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/MachineName$</MachineName>
<NetbiosComputerName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/NetbiosComputerName$</NetbiosComputerName>
<InstanceName>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/InstanceName$</InstanceName>
<ConnectionString>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/ConnectionString$</ConnectionString>
<InstanceVersion>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Version$</InstanceVersion>
<InstanceEdition>$Target/Property[Type="SqlCoreLib!Microsoft.SQLServer.Core.DBEngine"]/Edition$</InstanceEdition>
<MonitoringType>$Target/Property[Type="SqlDiscW!Microsoft.SQLServer.Windows.DBEngine"]/MonitoringType$</MonitoringType>
<SqlTimeoutSeconds>15</SqlTimeoutSeconds>
<TimeoutSeconds>200</TimeoutSeconds>
<IntervalSeconds>300</IntervalSeconds>
<SyncTime/>
<EventDisplayNumber>9692</EventDisplayNumber>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="Health!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.Windows.EventRule.DBEngine.The_Service_Broker_Database_Mirroring_transport_cannot_listen_on_port_because_it_is_in_use_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/Property[@Name='EventID']$. $Data/Property[@Name='Message']$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>