Lorsque vous créez un point de terminaison Service Broker ou de mise en miroir de bases de données, SQL Server doit pouvoir accepter les connexions TCP/IP sur le port spécifié dans la configuration de point de terminaison. La sécurité de transport demande une autorisation pour les connexions au port. Si un pare-feu est activé sur le serveur, la configuration du pare-feu doit autoriser les connexions entrantes et sortantes pour le port utilisé par le point de terminaison.
Lorsque vous créez un point de terminaison Service Broker ou de mise en miroir de bases de données, SQL Server doit pouvoir accepter les connexions TCP/IP sur le port spécifié dans la configuration de point de terminaison. La sécurité de transport demande une autorisation pour les connexions au port. Si un pare-feu est activé sur le serveur, la configuration du pare-feu doit autoriser les connexions entrantes et sortantes pour le port utilisé par le point de terminaison.
Dans ce cas, le port spécifié n'est pas disponible car il est déjà utilisé.
Un autre programme sur l'ordinateur utilise le port TCP indiqué. Le journal des applications Linux spécifie si l'erreur a été journalisée par Service Broker ou la mise en miroir de bases de données. Ce message est inscrit dans le journal des applications Linux sous l'ID d'événement MSSQLSERVER 9692.
Exécutez netstat -aon à partir de l’invite de commande pour déterminer le programme qui utilise le port.
Vous pouvez désactiver l'application qui utilise le port ou vous pouvez indiquer un autre port dans l'application Service Broker.
Consultez « ALTER ENDPOINT (Transact-SQL) » dans la documentation en ligne de SQL Server.
Nom | Description | Valeur par défaut |
Activé | Active ou désactive le flux de travail. | Oui |
Intervalle (en secondes) | Intervalle régulier (en secondes) auquel exécuter le flux de travail. | 300 |
Priorité | Définit la priorité de l'alerte. | 1 |
Gravité | Définit la gravité de l'alerte. | 2 |
Heure de synchronisation | Heure de synchronisation |
|
Délai d'expiration (secondes) | Spécifie la durée pendant laquelle le flux de travail est autorisé à s'exécuter avant d'être fermé et marqué comme ayant échoué. | 200 |
Délai d’attente pour la connexion de base de données (secondes) | Le workflow échoue et enregistre un événement s’il ne peut pas accéder à la base de données pendant la période spécifiée. | 15 |
Target | Microsoft.SQLServer.Linux.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Alert Generate | True | ||
Alert Severity | Error | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Comment | Mom2017ID='{BEE972D8-4422-4CFD-BC7D-B1035EA67E9D}';MOM2017GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.SQLServer.Linux.DataSource.EventCollectionFiltered | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.Linux.EventRule.DBEngine.The_Service_Broker_Database_Mirroring_transport_cannot_listen_on_port_because_it_is_in_use_5_Rule" Target="SqlDiscL!Microsoft.SQLServer.Linux.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.Linux.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>
<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.Linux.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>