В 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. Добавьте в закладки постоянную ссылку.
В 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.
Заметка! Назначение хранимых процедур в языке T-SQL.
Если Вы укажете конфигурационное значение, которое не соответствует спецификации, т.е., например, выходит за пределы допустимых значений, 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'
Заметка! Что такое связанные серверы (Linked Server) в Microsoft SQL Server.
Уменьшаем время ожидание подтверждения удаленного входа
--Значение до изменения 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.
У меня все, надеюсь, материал был Вам полезен, удачи!
NcSteel
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 гигами ОЗУ.
kot_bcc
16.01.10
✎
21:39
Можеть быть, поможет вот это http://technet.microsoft.com/ru-ru/library/aa337354(SQL.90).aspx
ЗЫ Содержательную часть сообщений об ошибке лучше выкладывать в более полном объёме (в разумных пределах, конечно:)
Odin1C
16.01.10
✎
21:41
памяти сколько на тачке?
NcSteel
16.01.10
✎
21:51
(2) Память достаточно общее понятие . Озу описано , а на винте гиг 50- 60 есть
kot_bcc
16.01.10
✎
21:53
(3) Так что там с «max server memory»? Установлен? Сколько? Превышается?
NcSteel
16.01.10
✎
21:54
(4) Дело темное и находится у клиента. Завтра пойду посмотрю.
NcSteel
16.01.10
✎
22:05
max server memory — а что это за память ? ОЗУ ? или жесткий винт ?
Просто экземпляр стоит на «C» , где не очень много свободного места , тогда как базы размещены на основном разделе.
kot_bcc
16.01.10
✎
22:23
Это переменная конфигурации sql, используется при выделении памяти для запросов. Получить можно в консоли, запустив exec sp_configure ‘min_server_memory’ (и установить там же, через запятую указав сколько в байтах должно быть)
kot_bcc
16.01.10
✎
22:27
+(7) exec sp_configure ‘_min_erver_memory’ => exec sp_configure ‘max_server_memory’
NcSteel
16.01.10
✎
22:56
(8) Интересно , спасибо !
NcSteel
16.01.10
✎
23:22
Немного понял .
Создать запрос — и в окне набрать exec sp_configure ‘min_server_memory’ , но пишет что min_server_memory нет ) , а вот по exec sp_configure выдает таблицу в которой нет этого параметра.
NcSteel
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
вот что
kot_bcc
16.01.10
✎
23:27
(9) Пока не за что:) И, раз уж Вы, по всей видимости, по ссылке из (1) не ходили — попробуйте там же, в консоли, выполнить по очереди
DBCC FREESYSTEMCACHE
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
И постарайтесь отметить — если улучшение наступило, то после какой команды? Дальше по хелпу многое будет понятно.
NcSteel
16.01.10
✎
23:34
(12) Суть в том что хрен поймешь получили мы выгоду или нет. Так как описанное в (0) может произойти в любой момент . Так сегодня это произошло в конце дня . Как можно определить что есть улучшение ?
kot_bcc
модератор
16.01.10
✎
23:35
(11) Выполните «exec sp_configure ‘show_advanced_options’, 1», потом повторите запрос из (10)
NcSteel
16.01.10
✎
23:36
(12) Как я понимаю эту комбинацию надо выполнить если ошибка именно возникла? . Хм надо будет попробовать .
NcSteel
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» не существует, либо это расширенный параметр.
)
kot_bcc
16.01.10
✎
23:41
(15) Да
(13) Еще можно посмотреть монитор системных ресурсов, там должны быть счетчики для sql, в частности — память. Еще раз — мнее пока не очень понятно, что конкретно происходит (хотелось бы текст сообщения, он должен остаться в журнале событий)
(16) Между 1 и 2 запустили RECONFIGURE?
NcSteel
17.01.10
✎
00:05
Странно в этом параметре так же есть еще и минимум и максимум . Странно .
но минимум стоит 0 а максимум 2147483647.
У max:
минимум стоит 16, а максимум 2147483647.
Если учесть что на машине 2 гига ОЗУ , то сервер может занять весь объем ОЗУ . Таким образом программно ничем не поможешь ?. А только нарастить ОЗУ или уменьшить конкуренцию за ресурсами. Но странно то что 7.7 нормально шевелилась . причем 7.7 как известно очень криво работает с SQL, да и база более чем в 3 раза больше.
+ Ошибка возникаем именно в момент запуска Конфигуратора или Предприятия. В момент работы этого не происходит, то есть можно запустить отчет по всему складу и отчет выполнится.
kot_bcc
17.01.10
✎
00:11
(18) Спокойно. Минимум и максимум не так важны, как следующие — установленный и актуальный. Идеально для min_server_memory — осьмушка от ОЗУ, для max — три четверти.
По поводу семерки — криво она работает не в том смысле. Для кэша планов ей нужно очень мало. Бо вся работа на клиенте идет.
NcSteel
17.01.10
✎
00:19
(19) Все же не ясна причина затыков именно в момент открытия базы. В момент работы , понимаю , но не в момент открытия самой базы как таковой .
kot_bcc
17.01.10
✎
00:22
Многое зависит от того, что именно происходит в момент открытия. Например — в момент открытия на клиент грузятся метаданные (хранятся в sql, частично кэшируются в сервере 8.1), и т.д. Есть такая штука — профайлер. Там точно всё видно будет. Не имея же даже номера ошибки — у меня, например, ничего утверждать банально не хватает опыта.
NcSteel
17.01.10
✎
00:30
Окей попытаюсь надыбать скрин
kot_bcc
17.01.10
✎
00:30
+(21) И не смотрите, что у Вас много памяти. Фирма 1С крайне не рекомендует вообще размещать на одной машине серверы sql и 1C:)
NcSteel
17.01.10
✎
00:30
(22) + Если честно думал это обчная для SQL ситуация.
NcSteel
17.01.10
✎
00:31
(23) Суть в том что базы небольшие и работаю не более 2 пользователей . Причем документов в день около 20 — 50 по 5 строк , тоесть это небольшой магазин.
kot_bcc
17.01.10
✎
00:36
(24) Ну, на то, чтобы понять, что «XP,SQL2005,1С 8.1», вкупе с «2 базы 7.7(1G) и 8.1(300M)», для MS SQL-сервера — КРАЙНЕ НЕОБЫЧНАЯ стуация — моего опыта хватает:) И количество пользователей — явно не проблема в данной ситуации
NcSteel
17.01.10
✎
00:48
(26) Если удалить базу на 7.7 может помочь 7
kot_bcc
17.01.10
✎
01:15
(27) Думаю нет
los_hooliganos
17.01.10
✎
03:16
SQL Expres 2005 — ограничение на память 1 гигабайт.
NcSteel
17.01.10
✎
12:02
(29) иии? база то небольшая 300 мегов физически.
NcSteel
17.01.10
✎
12:28
Смотрю сейчас на сервер ).
Постоянно занято около 500 мегов ОЗУ , если проделать инструкции
DBCC FREESYSTEMCACHE — не выполнилась так как написал ошибку (Для инструкции DBCC не верное количество параметров)
DBCC FREESESSIONCACHE
DBCC FREEPROCCACHE
Память освободилась не значительно .
Сейчас испытаю на нагрузку и попробую вызвать ошибку.
kot_bcc
17.01.10
✎
12:31
(31)
1. DBCC FREESYSTEMCACHE ‘ALL’ — так правильно
2. То есть без нагрузки свободных 1.5G.
Ждем про нагрузку
NcSteel
17.01.10
✎
12:36
(32) Нагрузка есть , то есть юзеры работаю без проблемм.
Пока ошибка не возникла с нагрузкой , а использование оперативной памяти гдето на 200 КБ только подросло.
NcSteel
17.01.10
✎
12:37
(33) Формировал тяжелые отчеты и т.д. Но при открытии Конфигуратора и Предприятия ОЗУ выделенная на sqlserver не ростет .
Ладно подождем ошибку )
NcSteel
17.01.10
✎
12:38
(35) см (34) Раз пять запускал и пока ошибка не выскачила. Но она гадость выскакивает неожиданно ). Думаю в течении дня еще появится
kot_bcc
17.01.10
✎
12:38
+(35) не увидел (34), вопрос снят. А в журнале остались записи по предыдущим ошибкам?
NcSteel
17.01.10
✎
12:38
А не подумал сейчас посмотрю
NcSteel
17.01.10
✎
12:40
А как этот журнал посмотреть , извините за тупость )
kot_bcc
17.01.10
✎
12:41
Правой кнопкой на «Мой компьютер» -> «Управление» -> «Просмотр событий»
NcSteel
17.01.10
✎
12:45
(40) Ошибок нет ))
kot_bcc
модератор
17.01.10
✎
12:46
Пустой журнал? Этого не может быть:) А в разделе «Система» никаких информационных от VMM нет на то время?
kot_bcc
17.01.10
✎
12:57
В любом случае — пока не началось, запускайте монитор (Пуск->Выполнить->perfmon.exe). Нужны счётчики:
Процесс: Рабочее множество
SQL Server: Диспетчер буферов: Коэффициент попаданий в кэш буфера
SQL Server: Диспетчер буферов: Всего страниц
SQL Server: Диспетчер памяти: Общий объем памяти сервера (КБ)
NcSteel
17.01.10
✎
12:57
Все в норме , есть несколько уведомлений обуспешноых всяких операция , когда я сеанс пользователя перезапустил
kot_bcc
17.01.10
✎
12:58
+(43) Ещё:
Память: Доступно байтов
Память: Страниц/с
NcSteel
17.01.10
✎
13:00
Зпустил , но тут просто диаграмма строится , а как выбрать именно SQL не вижу.
kot_bcc
17.01.10
✎
13:01
(46) «Добавить счётчик»?
NcSteel
17.01.10
✎
13:02
Открывает окно «добавить счетчик»
но в этом окне нет ни слова про SQl
NcSteel
17.01.10
✎
13:03
Стоп нашел
kot_bcc
17.01.10
✎
13:04
(49) Обратите внимание — нужен не только SQL
los_hooliganos
17.01.10
✎
13:38
Запусти профайлер в режиме записи данных трассировки в файл.
Ты наверное знаешь что 8ка хранит конфигурацию в виде таблицы и при запуске предприятия или конфигуратора идет запрос на выборку всех данных из этой таблицы.
Подозрение что именно в этот момент и натыкается на ограничение в 1 гиг ОЗУ.
- 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
I have an Access ADP tied to an SQL Server 2005 backend. I’m trying to implement a stored procedure to update our clients’ addresses, which requires me to execute a program from the command line using xp_cmdshell
. The procedure works fine from SSMS, but when I call it from Access VBA, via an ADO Connection object, it produces the following «error»:
Run-time error ‘-2147217900’ (80040e14): Configuration option ‘show
advanced options’ changed from 0 to 1. Run the RECONFIGURE statement
to install.
It’s not really an error — it’s a standard message SQL Server produces when executing sp_configure
. The stored procedure does call RECONFIGURE
, but for some reason Access interprets the message as an error.
Any idea how I can get this to stop?
For what it’s worth, here’s some of the code I’m using. This is a stored procedure to enable/disable xp_cmdshell
:
ALTER PROCEDURE [dbo].[spEnableXpCmdShell]
(@enabled bit)
WITH EXECUTE AS 'NKA\jrosenberg'
AS
SET NOCOUNT ON
EXEC sp_configure 'show advanced options', 1
RECONFIGURE
EXEC sp_configure 'xp_cmdshell', @enabled
RECONFIGURE
EXEC sp_configure 'show advanced options', 0
RECONFIGURE
That’s called from my main sp, which is rather long, like so:
EXEC [dbo].[spEnableXpCmdShell] 1
Finally, here’s a somewhat abridged version of the offending VBA code:
Public Function DoNCOA(con, Optional caseId = Null, _
Optional docId = Null) As Integer
'Call the NCOAProces stored procedure asynchronously.
'Returned integer is not success or failure, but position in the queue
On Error GoTo ErrHandler
Dim cmd As New ADODB.Command, _
prm As ADODB.Parameter
With cmd
.ActiveConnection = con
.CommandText = "spNCOAProcess"
.CommandType = adCmdStoredProc
.CommandTimeout = 1800
Set prm = .CreateParameter("CaseID", adInteger, adParamInput, , caseId)
.Parameters.Append prm
Set prm = .CreateParameter("DocID", adInteger, adParamInput, , docId)
.Parameters.Append prm
.Execute Options:=adAsyncExecute, adExecuteNoRecords
End With
[...That's all the important stuff]
End Function
Any help would be really appreciated!
MurCode
- Форумы
- Поиск
- О проекте
Восстановление баз данных "msdb" SQL Server
Вмталий
Дата: 12.08.2016 10:03:01
После старта агента в журнале ошибок агента появляется запись
«Ожидается восстановление баз данных «msdb» SQL Server»
Используется :
Microsoft SQL Server Management Studio 12.0.5000.0
Клиентские средства служб Microsoft Analysis Services 12.0.5000.0
Компоненты доступа к данным (MDAC) 6.2.9200.16384
Microsoft MSXML 3.0 4.0 6.0
Microsoft Internet Explorer 9.10.9200.17413
Microsoft .NET Framework 4.0.30319.34209
Операционная система 6.2.9200
Версия SQL 2012R2 12.0.5000.0;SP2;Standard Edition (64-bit)
Восстановление из архива -при остановленном агенте проходит, но при его (агенте) запуске ошибка проявляется снова.
В журнале SQL Есть строка
Server-level event notifications can not be delivered. Either Service Broker is disabled in msdb<c/> or msdb failed to start. Event notifications in other databases could be affected as well. Bring msdb online<c/> or enable Service Broker.
плохой перевод Уведомления о событиях уровня сервера не может быть доставлено. Либо Service Broker отключен в MSDB <с /> или MSDB не удалось запустить. Уведомления о событиях в других базах данных могут быть затронуты также. Доведите MSDB онлайн <с /> или включить Service Broker.
Помогите MSDB привести в режим
может я неправильно делаю RECONFIGURE этой базы?
Подскажите скрипт.
o-o
Дата: 12.08.2016 10:10:41
кто что понял?
какой у базы msdb статус?
o-o
Дата: 12.08.2016 10:12:57
select user_access_desc, state_desc from sys.databases where name = 'msdb';
?
Вмталий
Дата: 12.08.2016 10:17:52
o-o |
---|
кто что понял? какой у базы msdb статус? |
Ожидается восстановление баз данных «msdb» SQL Server это говорит журнал, можно посмотреть запросом?
Вмталий
Дата: 12.08.2016 10:19:51
o-o |
---|
select user_access_desc, state_desc from sys.databases where name = 'msdb'; ? |
MULTI_USER ONLINE
o-o
Дата: 12.08.2016 10:29:51
кроме того что вы в журнале читаете, что-то беспокоит?
база в онлайне, внешне все хорошо
o-o
Дата: 12.08.2016 10:34:05
о блин, это просто вы так нервно реагируете на нормальные обычные сообщения в логе?
вот лог работающего беспроблемного агента
log |
---|
[393] Waiting for SQL Server to recover databases… [100] Microsoft SQLServerAgent version 10.50.2500.0 ((Unknown) unicode retail build) : Process ID 3236 [101] SQL Server USEPCPWDZ3\USEPCPDZ3 version 10.50.2500 (0 connection limit) [102] SQL Server ODBC driver version 10.50.2500 [103] NetLib being used by driver is DBNETLIB.DLL; Local host server is USEPCPWDZ3\USEPCPDZ3 [310] 8 processor(s) and 49151 MB RAM detected [339] Local computer is USEPCPWDZ3 running Windows NT 6.0 (6002) Service Pack 2 [432] There are 12 subsystems in the subsystems cache [364] The Messenger service has not been started — NetSend notifications will not be sent [129] SQLAgent$USEPCPDZ3 starting under Windows NT service control [260] Unable to start mail session (reason: No mail profile defined) [396] An idle CPU condition has not been defined — OnIdle job schedules will have no effect |
Вмталий
Дата: 12.08.2016 10:37:42
Вмталий | ||
---|---|---|
MULTI_USER ONLINE |
Это запись виндового журнала:
DBCC CHECKDB (msdb) WITH no_infomsgs, выполненная sa, обнаружила ошибки (0) и исправила ошибки (0). Затраченное время: 0 ч 0 мин 0 с. Моментальный снимок внутренней базы данных имеет точку разбиения с номером LSN = 000000b4:000004c8:0001 и первый номер LSN = 000000b4:000004c6:0001
Параметр конфигурации «user options» изменен с 0 на 0. Выполните инструкцию RECONFIGURE для установки.
это не правильно параметр не изменился зачем реконфигурировать
Когда все не дай бог развалится и не будут выполнятся задания, за что хвататся.
Выполним запросы, только посоветуйте какие.
o-o
Дата: 12.08.2016 10:43:52
проблема у вас в чем, чекдб пишет, нет ошибок,
что вам не нравится-то?
Вмталий
Дата: 12.08.2016 10:45:50
Вмталий | ||
---|---|---|
Это запись виндового журнала: |
Да и винда ругается.
Ошибка создания контекста архивации для «c:\program files (x86)\microsoft sql server\120\Tools\Binn\managementstudio\CopyDatabaseWizard.exe». Ошибка в файле манифеста или политики «c:\program files (x86)\microsoft sql server\120\Tools\Binn\managementstudio\CopyDatabaseWizard.exe» в строке 8. Значение «1.0» атрибута «version» в элементе «assemblyIdentity» недопустимо.
Вам хорошо, Вы умный и знаете как все исправить, а нам бестолочам потом что делать когда забудешь посмотреть что база не обслуживалась, архива нет, есть месячной давности и пипец котенку.