По умолчанию сервер SQL Server динамически управляет памятью, необходимой для соединений пользователей. Однако максимальное число соединений можно ограничить фиксированным значением, присвоив параметру конфигурации user connections значение, отличное от 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 2008 по умолчанию или SQL Server 7.0: sqlservr.exe -c -f
Именованный экземпляр SQL Server 2008: 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.2008.DBEngine | ||
Category | EventCollection | ||
Enabled | True | ||
Event_ID | 17809 | ||
Event Source | $Target/Property[Type="SQL!Microsoft.SQLServer.DBEngine"]/ServiceName$ | ||
Alert Generate | True | ||
Alert Severity | Warning | ||
Alert Priority | Normal | ||
Remotable | True | ||
Alert Message |
| ||
Event Log | Application | ||
Comment | Mom2008ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';MOM2008GroupID={467ECC75-C5DA-42BD-955C-A73BBB51AF74} |
ID | Module Type | TypeId | RunAs |
---|---|---|---|
_F6DA1507_12AF_11D3_AB21_00A0C98620CE_ | DataSource | Microsoft.Windows.EventProvider | Microsoft.SQLServer.SQLDefaultAccount |
GenerateAlert | WriteAction | System.Health.GenerateAlert | Default |
<Rule ID="Microsoft.SQLServer.2008.Maximum_limit_for_connections_has_been_reached_1_5_Rule" Target="SQL2008Core!Microsoft.SQLServer.2008.DBEngine" Enabled="true" ConfirmDelivery="true" Remotable="true" Comment="Mom2008ID='{A9344B04-ED2A-4F54-B91D-CC99D35469F1}';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>PublisherName</XPathQuery>
</ValueExpression>
<Operator>Equal</Operator>
<ValueExpression>
<Value>$Target/Property[Type="SQL!Microsoft.SQLServer.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.2008.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>