По умолчанию SQL Server динамически управляет памятью, необходимой для пользовательских подключений. Тем не менее, может быть установлено фиксированное значение максимального количества соединений с помощью задания параметра конфигурации пользовательских подключений на значение, отличное от 0. Установка параметра пользовательских подключений в значение, отличное от 0, не рекомендуется. Если этот параметр установлен в ненулевое значение то при превышении определенного количества соединений, дополнительные попытки входа не будут выполнены, возникнет указанная выше ошибка. Если значение равно 1, экземпляр SQL Server может не запуститься.
По умолчанию SQL Server динамически управляет памятью, необходимой для пользовательских подключений. Тем не менее, может быть установлено фиксированное значение максимального количества соединений с помощью задания параметра конфигурации пользовательских подключений в значение, отличное от 0. Установка параметра пользовательских подключений в значение, отличное от 0, не рекомендуется. Если этот параметр установлен в ненулевое значение то при превышении определенного количества соединений, дополнительные попытки входа не будут выполнены, возникнет указанная выше ошибка. Если значение равно 1, экземпляр SQL Server может не запуститься.
Если SQL Server работает и вы уже подключены в роли системного администратора, то введите следующие команды, чтобы сбросить опцию подключения пользователя к значению по умолчанию 0 (динамически):
sp_configure 'user connections', 0
go
reconfigure with override
Чтобы изменения вступили в силу, необходимо перезапустить экземпляр SQL Server.
Если SQL Server не запускается или если вы не можете использовать одно из существующих подключений, вам нужно будет запустить экземпляр SQL Server в минимальной конфигурации и сбросить опцию подключения пользователя к значению по умолчанию 0 (динамически).
Если экземпляр является кластерным, убедитесь, что SQL Server и агент SQL Server находятся в автономном режиме, и что узел, с которым вы работаете, является владельцем дисковых ресурсов SQL Server.
Остановите или переведите в режим "вне сети" координатор MS DTC, а также любые другие приложения или службы, подключенные к данному экземпляру SQL Server.
Используйте следующий синтаксис, чтобы запустить SQL Server из командной строки (вы должны перейти в каталог binn для этого экземпляра SQL Server):
Экземпляр SQL Server 2016 по умолчанию или SQL Server 7.0: sqlservr.exe -c -f
Именованный экземпляр SQL Server 2016: sqlservr.exe -c -f -s {имя_экземпляра}
Подключитесь к SQL Server с помощью среды SQL Server Management Studio. Обязательно требуется использовать профиль входа с разрешениями системного администратора на сервере SQL Server.
Выполните следующие команды:
sp_configure 'user connections', 0
go
reconfigure with override
В окне командной строки, нажмите CTRL+C, чтобы выйти из SQL Server. Введите Y, чтобы закрыть SQL Server.
Запустите SQL Server в обычном режиме.
Название | Описание | Значение по умолчанию |
Включено | Включает или отключает рабочий процесс. | Да |
Приоритет | Определяет приоритет предупреждения. | 1 |
Серьезность | Определяет серьезность предупреждения. | 1 |
Target | Microsoft.SQLServer.2016.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 17809 | ||
Event Source | $Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2016ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2016GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Default |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2016.Maximum_limit_for_connections_has_been_reached_1_5_Rule" Target="SQL2016Core!Microsoft.SQLServer.2016.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2016ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2016GroupID={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">
<ComputerName>$Target/Host/Property[Type="Windows!Microsoft.Windows.Computer"]/NetworkName$</ComputerName>
<LogName>Application</LogName>
<Expression>
<And>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL2016Core!Microsoft.SQLServer.2016.DBEngine"]/ServiceName$</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
<Expression>
<SimpleExpression>
<ValueExpression>
<XPathQuery>EventDisplayNumber</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>17809</Value>
</ValueExpression>
</SimpleExpression>
</Expression>
</And>
</Expression>
</DataSource>
</DataSources>
<WriteActions>
<WriteAction ID="GenerateAlert" TypeID="SystemHealth!System.Health.GenerateAlert">
<Priority>1</Priority>
<Severity>1</Severity>
<AlertMessageId>$MPElement[Name="Microsoft.SQLServer.2016.Maximum_limit_for_connections_has_been_reached_1_5_Rule.AlertMessage"]$</AlertMessageId>
<AlertParameters>
<AlertParameter1>Event ID: $Data/EventDisplayNumber$. $Data/EventDescription$</AlertParameter1>
</AlertParameters>
<Suppression>
<SuppressionValue/>
</Suppression>
</WriteAction>
</WriteActions>
</Rule>