Der Service Broker-/Datenspiegelungstransport kann nicht am Port lauschen, da er derzeit verwendet wird

Microsoft.SQLServer.2008.The_Service_Broker_Database_Mirroring_transport_cannot_listen_on_port_because_it_is_in_use_5_Rule (Rule)

Knowledge Base article:

Zusammenfassung

Wenn Sie einen Service Broker-Endpunkt oder einen Datenbankspiegelungsendpunkt erstellen, nimmt SQL Server TCP/IP-Verbindungen an dem Port an, der im Endpunkt angegeben ist. Die Transportsicherheit erfordert eine Autorisierung für Verbindungen mit dem Port. Wenn auf dem Computer mit SQL Server eine Firewall aktiviert ist, muss die Firewallkonfiguration auf dem Computer sowohl eingehende als auch ausgehende Verbindungen für den Port zulassen, der im Endpunkt angegeben ist.

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 vom 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 finden Sie unter "ALTER ENDPOINT (Transact-SQL)" in der SQL Server 2008-Onlinedokumentation.

Überschreibbare Parameter

Name

Beschreibung

Standardwert

Aktiviert

Aktiviert oder deaktiviert den Workflow.

Ja

Priorität

Definiert die Warnungspriorität.

1

Schweregrad

Definiert den Warnungsschweregrad.

2

Element properties:

TargetMicrosoft.SQLServer.2008.DBEngine
CategoryEventCollection
EnabledTrue
Event_ID9692
Event Source$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$
Alert GenerateTrue
Alert SeverityError
Alert PriorityNormal
RemotableTrue
Alert Message
Der Service Broker-/Datenspiegelungstransport kann nicht am Port lauschen, da er derzeit verwendet wird
{0}
Event LogApplication
CommentMom2008ID='{BEE972D8-4422-4CFD-BC7D-B1035EA67E9D}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}

Member Modules:

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

Source Code:

<Rule ID="Microsoft.SQLServer.2008.The_Service_Broker_Database_Mirroring_transport_cannot_listen_on_port_because_it_is_in_use_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{BEE972D8-4422-4CFD-BC7D-B1035EA67E9D}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74}">
<Category>EventCollection</Category>
<DataSources>
<DataSource ID="_F6DA1507_12AF_11D3_AB21_00A0C98620CE_" Comment="{F6DA1507-12AF-11D3-AB21-00A0C98620CE}" TypeID="Windows!Microsoft.Windows.EventProvider" RunAs="SQL!Microsoft.SQLServer.SQLDefaultAccount">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>9692</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>2</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2008.The_Service_Broker_Database_Mirroring_transport_cannot_listen_on_port_because_it_is_in_use_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>