Здесь показаны различия между выбранной ревизией и текущей версией данной страницы.
ru:sql_server_minimal_memory [2024/08/10 12:50] vlasov.s |
— (текущий) | ||
---|---|---|---|
Строка 1: | Строка 1: | ||
- | ====== Программа работает медленно при использовании СУБД Microsoft SQL Server ====== | ||
- | |||
- | **__Вопрос:__** | ||
- | |||
- | Программа медленно работает и запускается в версии 6.0 при использовании СУБД Microsoft SQL Server. Во время работы наблюдаются повторы операций с текстом сообщения: «Сервер SQL занят или не отвечает». В тексте сообщения может присутствовать код (11;-2), (-2) или др. | ||
- | |||
- | Как можно решить данную проблему? | ||
- | \\ \\ | ||
- | |||
- | **__Ответ:__** | ||
- | |||
- | Причина данного поведения программы заключается в нехватке оперативной памяти для приложения Microsoft SQL Server на ПК в условиях высокого потребления памяти другими приложениями. Чаще ошибка наблюдается именно на ПК. На серверах ее возникновение маловероятно. | ||
- | |||
- | Чтобы решить данную проблему, нужно поменять минимальный объем памяти у SQL Server. По умолчанию данное значение равно 0. Необходимо задать объем >= 700 МБ. Для выполнения данной операции понадобятся права администратора SQL сервера. Ниже приведена пошаговая инструкция по тому, как это можно сделать: | ||
- | |||
- | 1. Запустите приложение SQL Server Management Studio (SSMS) на ПК, где наблюдается проблема и подключитесь к экземпляру SQL Server: | ||
- | |||
- | 2. Нажмите правой кнопкой мыши по экземпляру сервера в обозревателе объектов (Object Explorer) и выберите «Свойства» (Properties): | ||
- | |||
- | 3. В открывшемся окне перейдите на вкладку «Память» (Memory); | ||
- | |||
- | 4. Найдите опцию «Минимальное значение памяти в МБ» (Minimum server memory (in MB)) и поменяйте значение на 700: | ||
- | |||
- | 5. Примените изменения нажав на «ОК». | ||
- | |||
- | **Примечание:** если на данном ПК не установлено приложение SSMS, то значение минимального размера памяти можно изменить воспользовавшись командной строкой: | ||
- | |||
- | 1. Запустите командную строку; | ||
- | |||
- | 2. Воспользуйтесь следующей командой, чтобы посмотреть текущее значение минимального размера памяти сервера в МБ. Для корректного выполнения команды требуется указать свое значение во фрагменте «ИМЯ_СЕРВЕРА» (напр. SERVER1 или SERVER2\SQLEXPRESS): | ||
- | |||
- | sqlcmd -E -S ИМЯ_СЕРВЕРА -Y 25 -Q "SELECT [name], [value], [value_in_use] FROM sys.configurations WHERE [name] like '%server memory%';" | ||
- | |||
- | 3. Измените значение минимального размера памяти на 700 воспользовавшись командой ниже. Для корректного выполнения команды требуется указать свое значение во фрагменте «ИМЯ_СЕРВЕРА» (напр. SERVER1 или SERVER2\SQLEXPRESS): | ||
- | |||
- | sqlcmd -E -S ИМЯ_СЕРВЕРА -Q "sp_configure 'show advanced options', 1;" | ||
- | sqlcmd -E -S ИМЯ_СЕРВЕРА -Q "RECONFIGURE" | ||
- | sqlcmd -E -S ИМЯ_СЕРВЕРА -Q "sp_configure 'min server memory', 700;" | ||
- | sqlcmd -E -S ИМЯ_СЕРВЕРА -Q "RECONFIGURE" | ||
- | |||
- | **Внимание!** Более подробную информацию по этой теме можно найти на официальном сайте Microsoft, по ссылке. | ||