Назад | Перейти на главную страницу

sqlservr.exe с использованием 24 ГБ ОЗУ для недоступной базы данных

Сервер, на котором работает SBS 2011, вызывает у меня самые разные головные боли. Все, кроме 500 МБ из 24 ГБ ОЗУ, используются, в основном для sqlservr.exe. Моей первой идеей было исправить объем памяти, который мог использовать SQL. Но в SQL Server Management Studio сервер не может подключиться к базе данных сам по себе. При запуске диспетчера конфигурации SQL Server «Невозможно своевременно установить соединение с целевой машиной». Я чувствую, что у меня нет вариантов, каждое действие занимает несколько минут из-за нехватки памяти.

Неясно, используется ли эта база данных где-то еще в нашей системе, поэтому ее нельзя убивать. Есть ли прямой способ ограничить использование памяти? Основная проблема, скорее всего, связана с аутентификацией, но я не могу ее решить, если для загрузки окна требуется 5 минут. Заранее спасибо за любые советы

Если вы не можете подключиться с помощью SSMS или SQL Server Configuration Manager, у вас будет много проблем. Но давайте посмотрим, что мы можем сделать, чтобы уменьшить давление на память, чтобы вы могли приступить к устранению неполадок.

Вы захотите запустить SQL Server в режиме «минимальной конфигурации». Если вы не можете заставить работать диспетчер конфигурации SQL Server, вам необходимо:

  • изменить параметры запуска службы с помощью sc.exe и перезапустите службу; или
  • остановить экземпляр из панели управления службами и запустить экземпляр из командной строки

Параметр, который вы хотите добавить: -f.

-f

Запускает экземпляр SQL Server с минимальной конфигурацией. Это полезно, если установка значения конфигурации (например, чрезмерное выделение памяти) помешала запуску сервера. Запуск SQL Server в режиме минимальной конфигурации переводит SQL Server в однопользовательский режим. Для получения дополнительной информации см. Описание -m ниже.

В зависимости от того, где установлены ваши двоичные файлы, это будет выглядеть примерно так:

C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\binn\sqlserver.exe -sMSSQLSERVER -f

Это запустит SQL в минимальной конфигурации, чтобы вы могли работать над выяснением проблемы аутентификации.

Внимание: подключение любого клиента будет нарушено, поэтому делайте это во время периода обслуживания.

Абсолютно не убивайте sqlserver.exe обработать. Это лучший способ получить поврежденную базу данных.

Вам необходимо перезапустить службу SQL Server (или даже весь сервер); это должно освободить вас от состояния нехватки памяти и позволить вам выполнить надлежащее устранение неполадок и настройку.

Вы можете проверить, действительно ли кто-нибудь использует базу данных, просмотрев открытое соединение на TCP-порту 1433 на сервере:

netstat -nao | find ":1433"

Это должно дать вам быстрое представление о том, кто (если есть) использует базу данных; это позволит вам хотя бы оценить влияние остановки службы на несколько минут.

Пока вы не сможете перезапустить службу, вы ничего не сможете сделать; не только потому, что сервер непригоден для использования, но и потому, что параметры конфигурации для ограничения использования памяти вступают в силу только после перезапуска службы.