- Remove From My Forums
-
Question
-
Hi,
We are using SQL Server 2012. I am getting below message log in my database log file, though we have not done anything in the database. Please let me know what causes this message and what is the solution?
Message
Configuration option ‘show advanced options’ changed from 1 to 1. Run the RECONFIGURE statement to install.Please suggest
-
Edited by
Wednesday, December 25, 2013 5:33 AM
-
Edited by
Answers
-
Hello blitz,
Unless you suspect someone or something is maliciously attempting to change your configuration settings, this message for the most part is benign. It means something ran the command «sp_configure ‘show advanced options’, 1» to get the full
list of configuration options. Some things in SSMS can cause this to happen if you are a sysadmin. Again, unless you feel that this is something that should be investigated (I would just for peace of mind) I would not think twice. If you wanted to know for
sure (I know I would but that’s me) you could run a trace or setup an extended events session to find out who is executing it and where it is coming from.
Sean Gallardy | Blog |
Twitter-
Proposed as answer by
Praveen Rayan D’sa
Wednesday, December 25, 2013 5:35 AM -
Marked as answer by
Sofiya Li
Thursday, December 26, 2013 2:21 AM
-
Proposed as answer by
-
Balmukund, I could not find Configuration change History in Reports—>Standard Reports.
Do you see other reports? Note that Right click is context sensitive. In my screenshot, I right clicked on Server root (not database)
Balmukund Lakhani | Please mark solved if I’ve answered your question, vote for it as helpful to help other users find a solution quicker
———————————————————————————
This posting is provided «AS IS» with no warranties, and confers no rights.
———————————————————————————
My Blog |
Team Blog | @Twitter
Author: SQL Server 2012 AlwaysOn —
Paperback, Kindle-
Proposed as answer by
Shanky_621MVP
Wednesday, December 25, 2013 7:56 AM -
Marked as answer by
Sofiya Li
Thursday, December 26, 2013 2:21 AM
-
Proposed as answer by
В SQL Server от компании Microsoft для управления ресурсами сервера используются параметры конфигурации, в данном материале мы поговорим о системной процедуре sp_configure, с помощью которой можно просматривать и изменять эти параметры.
Для начала давайте поговорим о том, для чего вообще нужны параметры конфигурации, и стоит ли их изменять.
Содержание
- Параметры конфигурации Microsoft SQL Server
- Системная процедура sp_configure
- Примеры использования процедуры sp_configure
- Включаем отображение всех параметров конфигурации
- Запускаем процедуру на просмотр параметров
- Разрешаем использование нерегламентированные распределенные запросы
- Уменьшаем время ожидание подтверждения удаленного входа
Параметры конфигурации SQL сервера – это параметры, которые применяются ко всему экземпляру сервера. С помощью данных параметров можно оптимизировать ресурсы с целью увеличения производительности или расширить базовый функционал (включить дополнительную возможность).
Если параметры поддерживаются на нескольких уровнях, то параметры конфигурации на уровне экземпляра имеют меньший приоритет, чем параметры на уровне базы данных или те параметры, которые задаются с помощью инструкции SET.
Параметры конфигурации SQL Server настроены таким образом, что их изменять следует только в самых крайних случаях, причем это нужно делать осознано, т.е. понимать, на что это повлияет, поэтому рекомендуется, чтобы такие параметры изменяли опытные администраторы или разработчики.
Некоторые часто используемые параметры конфигурации доступны в графической среде SQL Server Management Studio, все параметры посмотреть или изменить можно с помощью системной процедуры sp_configure.
Популярные параметры конфигурации сервера:
- show advanced options – параметр используется для отображения всех параметров, которые возвращает системная процедура sp_configure. По умолчанию отображается только часть параметров;
- Agent XPs – параметр включает расширенные хранимые процедуры агента SQL Server;
- clr enabled – параметр включает возможность использования пользовательских сборок CLR;
- Database Mail XPs – параметр включает компонент Database Mail на SQL сервере;
- xp_cmdshell – данный параметр позволяет включить возможность использования расширенной системной процедуры xp_cmdshell. В целях безопасности по умолчанию она отключена;
- Ad Hoc Distributed Queries – разрешает использовать нерегламентированные распределенные запросы в инструкциях OPENROWSET и OPENDATASOURCE;
- query wait – с помощью данного параметра можно задать время в секундах, в течение которого запрос будет ожидать ресурсы;
- remote login timeout — с помощью этого параметра можно изменить время ожидания в секундах подтверждения удаленного входа, по истечении которого будет возвращаться сообщение об ошибке. Например, если сервер недоступен, можно сделать так, что ошибка будет возвращаться быстрей, чем поведение по умолчанию.
Подробней обо всех параметрах конфигурации Microsoft SQL Server можете почитать в официальной справке.
Системная процедура sp_configure
sp_configure – это системная процедура, предназначенная для отображения или изменения глобальных параметров конфигурации текущего SQL сервера. После того, как Вы изменили параметр конфигурации, необходимо выполнить инструкцию RECONFIGURE, для того чтобы изменения вступили в силу, иногда, при изменении некоторых параметров, требуется перезапуск всего экземпляра SQL Server.
Если Вы укажете конфигурационное значение, которое не соответствует спецификации, т.е., например, выходит за пределы допустимых значений, RECONFIGURE выдаст ошибку (например, ошибка «Нерегламентированное обновление в системных каталогах не поддерживается»). Однако инструкция RECONFIGURE WITH OVERRIDE отключает проверку конфигурационных значений, но, как Вы понимаете, ее нужно использовать с особой осторожностью, ведь указав значение, которое выходит за пределы допустимых, Вы намерено допускаете возможность возникновения ошибок.
У процедуры sp_configure есть два необязательных параметра, это:
- Первый — имя параметра конфигурации, если параметр отсутствует, то возвращается весь список параметров;
- Второй — новое значение параметра конфигурации.
Для того чтобы выполнить процедуру sp_configure без изменений параметров конфигурации, т.е. на просмотр параметров, особые права не нужны, но, для того чтобы изменить параметры конфигурации с помощью процедуры sp_configure, нужно разрешение ALTER SETTINGS, т.е., например, быть членом предопределенных ролей сервера sysadmin и serveradmin, у которых есть данное разрешение.
Примеры использования процедуры sp_configure
Все примеры я буду выполнять в Microsoft SQL Server 2016 Express.
Включаем отображение всех параметров конфигурации
EXEC sp_configure 'show advanced options', 1 RECONFIGURE
Запускаем процедуру на просмотр параметров
--Смотрим один конкретный параметр EXEC sp_configure 'show advanced options' --Смотрим все параметры EXEC sp_configure
Также посмотреть параметры конфигурации сервера можно с помощью системного представления sys.configurations, оно даже возвращает чуть больше информации, чем процедура sp_configure.
SELECT * FROM sys.configurations
Разрешаем использование нерегламентированные распределенные запросы
--Значение до изменения EXEC sp_configure 'Ad Hoc Distributed Queries' --Устанавливаем новое значение EXEC sp_configure 'Ad Hoc Distributed Queries', 1 --Переконфигурируем RECONFIGURE --Значение после изменения EXEC sp_configure 'Ad Hoc Distributed Queries'
Уменьшаем время ожидание подтверждения удаленного входа
--Значение до изменения EXEC sp_configure 'remote login timeout' --Устанавливаем новое значение EXEC sp_configure 'remote login timeout', 5 --Переконфигурируем RECONFIGURE --Значение после изменения EXEC sp_configure 'remote login timeout'
Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.
У меня все, надеюсь, материал был Вам полезен, удачи!
Коллеги,
Мы с вами обсудили много интересных тем, но так получилось, что обошли стороной одну очень важную тему. Эта тема «sp_configure или как поменять глобальные настройки SQL Server».
Начать хотелось бы с того, что при первом вызове sp_configure вы увидите достаточно мало параметров:
Чтобы SQL Server показал вам полный список возможных параметров, необходимо выполнить следующий скрипт:
sp_configure ‘show advanced option’, 1 RECONFIGURE |
Теперь давайте ещё раз сделаем вызов sp_configure:
На этот раз список стал полным (на скриншоте отображено только его часть).
Далее необходимо обсудить, как же всё-таки изменять тот или иной параметр. Всё очень просто, необходимо просто передать в процедуры название параметра и его значение, а чтобы параметр применился без перезагрузки SQL Server, нам необходимо к sp_configure добавить RECONFIGURE. Давайте, например поменяем максимальное количество оперативной памяти для SQL Server на 10 Гб:
sp_configure ‘max server memory (MB)’, 10000 RECONFIGURE |
Опция RECONFIGURE отклоняет значение параметра, выходящее за разумный диапазон или способное вызвать конфликт параметров. Например, инструкция RECONFIGURE возвращает ошибку, если значение параметра recovery interval превышает 60 минут или если значение параметра affinity mask пересекается со значением параметра affinity I/O mask. В противоположность этому, инструкция RECONFIGURE WITH OVERRIDE принимает любое значение параметра с правильным типом данных и инициирует повторную конфигурацию с заданным значением
ВАЖНО!
Недопустимое значение параметра может отрицательно сказаться на конфигурации экземпляра сервера. Поэтому использовать инструкцию RECONFIGURE WITH OVERRIDE следует с осторожностью.
Вот несколько примеров использования sp_configure:
- Установка максимального и минимального объёма оперативной памяти для SQL Server (‘max server memory (MB)’ и ‘min server memory (MB)’)
- Установка параллелизма (‘max degree of parallelism’)
- Установка порога, когда необходимо применять параллелизм (‘cost threshold for parallelism’). Данный параметр указывается в секундах, то есть если оптимизатор запросов оценит выполнение запроса в это количество секунд, то он начнёт строить планы с параллелизмом
- Включение расширенных хранимых процедур агента SQL Server (‘Agent XPs’)
- Параметр конфигурации сервера SQL Server, который позволяет системным администраторам контролировать, можно ли выполнять в системе расширенную хранимую процедуру xp_cmdshell (‘xp_cmdshell’)
Полный список всех возможных параметров и их описание можно найти по данной ссылке.
Советы:
- Если вы забыли как пишется тот или иной параметр, то просто запустите sp_configure без параметров и скопируйте название;
- Будьте очень осторожны с настройками глобальными SQL Server, они могут существенно влиять на его работу;
- Обязательно изучите по данной ссылке каждый параметр, который планируете использовать.
Запись опубликована в рубрике В помощь администратору с метками performance, sp_configure. Добавьте в закладки постоянную ссылку.
16.01.10 — 20:31
На машине стоит :
XP, SQL Expres 2005 , 1c server 8.1.
На сервере крутятся 2 базы . Одна из них 7.7 , а вторая 8.1 .
7.7 — 1 гиг весит, работают 0 пользователей
8.1 — 300 мегов, работаю 2 пользователя
Иногда при входе в базу 8.1 (в любом режиме) выскакивает ошибка соединения с сервером , так же в ошибке написано что «Заполнен буфер». Раньше стояла только 7.7 и проблем не было .
В оснастку SQL тоже не заходит , пишет эту же ошибку . При перезагрузке машины проблема на время исчезает. Что за черт . Сервер выступает обычная раб станция с 2 гигами ОЗУ.
1 — 16.01.10 — 21:39
Можеть быть, поможет вот это http://technet.microsoft.com/ru-ru/library/aa337354(SQL.90).aspx
ЗЫ Содержательную часть сообщений об ошибке лучше выкладывать в более полном объёме (в разумных пределах, конечно:)
2 — 16.01.10 — 21:41
памяти сколько на тачке?
3 — 16.01.10 — 21:51
(2) Память достаточно общее понятие . Озу описано , а на винте гиг 50- 60 есть
4 — 16.01.10 — 21:53
(3) Так что там с «max server memory»? Установлен? Сколько? Превышается?
5 — 16.01.10 — 21:54
(4) Дело темное и находится у клиента. Завтра пойду посмотрю.
6 — 16.01.10 — 22:05
max server memory — а что это за память ? ОЗУ ? или жесткий винт ?
Просто экземпляр стоит на «C» , где не очень много свободного места , тогда как базы размещены на основном разделе.
7 — 16.01.10 — 22:23
Это переменная конфигурации sql, используется при выделении памяти для запросов. Получить можно в консоли, запустив exec sp_configure ‘min_server_memory’ (и установить там же, через запятую указав сколько в байтах должно быть)
8 — 16.01.10 — 22:27
+(7) exec sp_configure ‘_min_erver_memory’ => exec sp_configure ‘max_server_memory’
9 — 16.01.10 — 22:56
(8) Интересно , спасибо !
10 — 16.01.10 — 23:22
Немного понял .
Создать запрос — и в окне набрать exec sp_configure ‘min_server_memory’ , но пишет что min_server_memory нет ) , а вот по exec sp_configure выдает таблицу в которой нет этого параметра.
11 — 16.01.10 — 23:23
allow updates 0 1 0 0
clr enabled 0 1 0 0
cross db ownership chaining 0 1 0 0
default language 0 9999 21 21
max text repl size (B) 0 2147483647 65536 65536
nested triggers 0 1 1 1
remote access 0 1 1 1
remote admin connections 0 1 0 0
remote login timeout (s) 0 2147483647 20 20
remote proc trans 0 1 0 0
remote query timeout (s) 0 2147483647 600 600
server trigger recursion 0 1 1 1
show advanced options 0 1 0 0
user instances enabled 0 1 1 1
user options 0 32767 0 0
вот что
12 — 16.01.10 — 23:27
(9) Пока не за что:) И, раз уж Вы, по всей видимости, по ссылке из (1) не ходили — попробуйте там же, в консоли, выполнить по очереди
DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
И постарайтесь отметить — если улучшение наступило, то после какой команды? Дальше по хелпу многое будет понятно.
13 — 16.01.10 — 23:34
(12) Суть в том что хрен поймешь получили мы выгоду или нет. Так как описанное в (0) может произойти в любой момент . Так сегодня это произошло в конце дня . Как можно определить что есть улучшение ?
Модератор
14 — 16.01.10 — 23:35
(11) Выполните «exec sp_configure ‘show_advanced_options’, 1», потом повторите запрос из (10)
15 — 16.01.10 — 23:36
(12) Как я понимаю эту комбинацию надо выполнить если ошибка именно возникла? . Хм надо будет попробовать .
16 — 16.01.10 — 23:39
(14)
1. exec sp_configure ‘show_advanced_options’, 1
Результат:
Параметр конфигурации «show advanced options» изменен с 0 на 1. Выполните инструкцию RECONFIGURE для установки.
2. exec sp_configure ‘min_server_memory’
Результат:
Сообщение 15123, уровень 16, состояние 1, процедура sp_configure, строка 51
Параметр конфигурации «min_server_memory» не существует, либо это расширенный параметр.
)
17 — 16.01.10 — 23:41
(15) Да
(13) Еще можно посмотреть монитор системных ресурсов, там должны быть счетчики для sql, в частности — память. Еще раз — мнее пока не очень понятно, что конкретно происходит (хотелось бы текст сообщения, он должен остаться в журнале событий)
(16) Между 1 и 2 запустили RECONFIGURE?
18 — 17.01.10 — 00:05
Странно в этом параметре так же есть еще и минимум и максимум . Странно .
но минимум стоит 0 а максимум 2147483647.
У max:
минимум стоит 16, а максимум 2147483647.
Если учесть что на машине 2 гига ОЗУ , то сервер может занять весь объем ОЗУ . Таким образом программно ничем не поможешь ?. А только нарастить ОЗУ или уменьшить конкуренцию за ресурсами. Но странно то что 7.7 нормально шевелилась . причем 7.7 как известно очень криво работает с SQL, да и база более чем в 3 раза больше.
+ Ошибка возникаем именно в момент запуска Конфигуратора или Предприятия. В момент работы этого не происходит, то есть можно запустить отчет по всему складу и отчет выполнится.
19 — 17.01.10 — 00:11
(18) Спокойно. Минимум и максимум не так важны, как следующие — установленный и актуальный. Идеально для min_server_memory — осьмушка от ОЗУ, для max — три четверти.
По поводу семерки — криво она работает не в том смысле. Для кэша планов ей нужно очень мало. Бо вся работа на клиенте идет.
20 — 17.01.10 — 00:19
(19) Все же не ясна причина затыков именно в момент открытия базы. В момент работы , понимаю , но не в момент открытия самой базы как таковой .
21 — 17.01.10 — 00:22
Многое зависит от того, что именно происходит в момент открытия. Например — в момент открытия на клиент грузятся метаданные (хранятся в sql, частично кэшируются в сервере 8.1), и т.д. Есть такая штука — профайлер. Там точно всё видно будет. Не имея же даже номера ошибки — у меня, например, ничего утверждать банально не хватает опыта.
22 — 17.01.10 — 00:30
Окей попытаюсь надыбать скрин
23 — 17.01.10 — 00:30
+(21) И не смотрите, что у Вас много памяти. Фирма 1С крайне не рекомендует вообще размещать на одной машине серверы sql и 1C:)
24 — 17.01.10 — 00:30
(22) + Если честно думал это обчная для SQL ситуация.
25 — 17.01.10 — 00:31
(23) Суть в том что базы небольшие и работаю не более 2 пользователей . Причем документов в день около 20 — 50 по 5 строк , тоесть это небольшой магазин.
26 — 17.01.10 — 00:36
(24) Ну, на то, чтобы понять, что «XP,SQL2005,1С 8.1», вкупе с «2 базы 7.7(1G) и 8.1(300M)», для MS SQL-сервера — КРАЙНЕ НЕОБЫЧНАЯ стуация — моего опыта хватает:) И количество пользователей — явно не проблема в данной ситуации
27 — 17.01.10 — 00:48
(26) Если удалить базу на 7.7 может помочь 7
28 — 17.01.10 — 01:15
(27) Думаю нет
29 — 17.01.10 — 03:16
SQL Expres 2005 — ограничение на память 1 гигабайт.
30 — 17.01.10 — 12:02
(29) иии? база то небольшая 300 мегов физически.
31 — 17.01.10 — 12:28
Смотрю сейчас на сервер ).
Постоянно занято около 500 мегов ОЗУ , если проделать инструкции
DBCC FREESYSTEMCACHE — не выполнилась так как написал ошибку (Для инструкции DBCC не верное количество параметров)
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
Память освободилась не значительно .
Сейчас испытаю на нагрузку и попробую вызвать ошибку.
32 — 17.01.10 — 12:31
(31)
1. DBCC FREESYSTEMCACHE ‘ALL’ — так правильно
2. То есть без нагрузки свободных 1.5G.
Ждем про нагрузку
33 — 17.01.10 — 12:36
(32) Нагрузка есть , то есть юзеры работаю без проблемм.
Пока ошибка не возникла с нагрузкой , а использование оперативной памяти гдето на 200 КБ только подросло.
34 — 17.01.10 — 12:37
(33) Формировал тяжелые отчеты и т.д. Но при открытии Конфигуратора и Предприятия ОЗУ выделенная на sqlserver не ростет .
Ладно подождем ошибку )
36 — 17.01.10 — 12:38
(35) см (34) Раз пять запускал и пока ошибка не выскачила. Но она гадость выскакивает неожиданно ). Думаю в течении дня еще появится
37 — 17.01.10 — 12:38
+(35) не увидел (34), вопрос снят. А в журнале остались записи по предыдущим ошибкам?
38 — 17.01.10 — 12:38
А не подумал сейчас посмотрю
39 — 17.01.10 — 12:40
А как этот журнал посмотреть , извините за тупость )
40 — 17.01.10 — 12:41
Правой кнопкой на «Мой компьютер» -> «Управление» -> «Просмотр событий»
41 — 17.01.10 — 12:45
(40) Ошибок нет ))
Модератор
42 — 17.01.10 — 12:46
Пустой журнал? Этого не может быть:) А в разделе «Система» никаких информационных от VMM нет на то время?
43 — 17.01.10 — 12:57
В любом случае — пока не началось, запускайте монитор (Пуск->Выполнить->perfmon.exe). Нужны счётчики:
Процесс: Рабочее множество
SQL Server: Диспетчер буферов: Коэффициент попаданий в кэш буфера
SQL Server: Диспетчер буферов: Всего страниц
SQL Server: Диспетчер памяти: Общий объем памяти сервера (КБ)
44 — 17.01.10 — 12:57
Все в норме , есть несколько уведомлений обуспешноых всяких операция , когда я сеанс пользователя перезапустил
45 — 17.01.10 — 12:58
+(43) Ещё:
Память: Доступно байтов
Память: Страниц/с
46 — 17.01.10 — 13:00
Зпустил , но тут просто диаграмма строится , а как выбрать именно SQL не вижу.
47 — 17.01.10 — 13:01
(46) «Добавить счётчик»?
48 — 17.01.10 — 13:02
Открывает окно «добавить счетчик»
но в этом окне нет ни слова про SQl
49 — 17.01.10 — 13:03
Стоп нашел
50 — 17.01.10 — 13:04
(49) Обратите внимание — нужен не только SQL
los_hooliganos
51 — 17.01.10 — 13:38
Запусти профайлер в режиме записи данных трассировки в файл.
Ты наверное знаешь что 8ка хранит конфигурацию в виде таблицы и при запуске предприятия или конфигуратора идет запрос на выборку всех данных из этой таблицы.
Подозрение что именно в этот момент и натыкается на ограничение в 1 гиг ОЗУ.
MurCode
- Форумы
- Поиск
- О проекте
AndrF
Дата: 02.04.2007 10:54:02
При запуске на SQL 2005
sp_configure 'show advanced options', 1 GO RECONFIGURE
Получаю сообщение:
Параметр конфигурации «show advanced options» изменен с 1 на 1. Выполните инструкцию RECONFIGURE для установки. Msg 5808, Level 16, State 1, Line 1 Нерегламентированное обновление в системных каталогах не поддерживается. |
Где и что подкрутить чтобы заработало?
GreenSunrise
Дата: 02.04.2007 11:08:16
В 2005 прикрыли это дело. Нефиг системные таблицы портить.
AndrF
Дата: 02.04.2007 11:13:10
GreenSunrise |
В 2005 прикрыли это дело. Нефиг системные таблицы портить. |
Ну и как быть — как поменять?
В Help-е все это дело присутствует.
Мне надо sp_OACreate использовать…
GreenSunrise
Дата: 02.04.2007 11:28:13
Ну так используйте. Зачем вам в системные таблицы для этого лезть?
AndrF
Дата: 02.04.2007 11:31:53
GreenSunrise |
Ну так используйте. Зачем вам в системные таблицы для этого лезть? |
Чтобы вот это включить:
sp_configure 'Ole Automation Procedures', 1 GO RECONFIGURE with override
Вопрос снят — все решилось добавлением with override
pkarklin
Дата: 02.04.2007 11:33:06
автор |
При запуске на SQL 2005
sp_configure ‘show advanced options’, 1 Получаю сообщение: Параметр конфигурации «show advanced options» изменен с 1 на 1. Выполните инструкцию RECONFIGURE для установки. |
Значит у Вас стоит:
sp_configure 'allow updates', 1;
сделайте sp_configure
sp_configure 'allow updates', 0; GO RECONFIGURE; GO
И не будет указанного сообщения.
автор |
Мне надо sp_OACreate использовать… |
Разрешения:
Необходимо членство в фиксированной серверной роли sysadmin.
GreenSunrise
Дата: 02.04.2007 11:33:08
Как обойти это ограничение, на форуме писали. Ищите.
Только мне все равно непонятно, для чего вам это понадобилось. Что вам захотелось подкрутить в системных таблицах для использования sp_OACreate?
AndrF
Дата: 02.04.2007 11:46:24
GreenSunrise |
Как обойти это ограничение, на форуме писали. Ищите.
Только мне все равно непонятно, для чего вам это понадобилось. Что вам захотелось подкрутить в системных таблицах для использования sp_OACreate? |
Я же писал — Ole Automation Procedures надо было включить для sp_OACreate.
Все уже решилось через RECONFIGURE with override. Спасибо.