Имя: Пароль:
IT
 
Ошибка SQL . Заполнен Буфер .
0 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 гигами ОЗУ.
1 kot_bcc
 
16.01.10
21:39
Можеть быть, поможет вот это http://technet.microsoft.com/ru-ru/library/aa337354(SQL.90).aspx

ЗЫ Содержательную часть сообщений об ошибке лучше выкладывать в более полном объёме (в разумных пределах, конечно:)
2 Odin1C
 
16.01.10
21:41
памяти сколько на тачке?
3 NcSteel
 
16.01.10
21:51
(2) Память достаточно общее понятие . Озу описано , а на винте гиг 50- 60 есть
4 kot_bcc
 
16.01.10
21:53
(3) Так что там с "max server memory"? Установлен? Сколько? Превышается?
5 NcSteel
 
16.01.10
21:54
(4) Дело темное и находится у клиента. Завтра пойду посмотрю.
6 NcSteel
 
16.01.10
22:05
max server memory - а что это за память ? ОЗУ ? или жесткий винт ?

Просто экземпляр стоит на "C" , где не очень много свободного места , тогда как базы размещены на основном разделе.
7 kot_bcc
 
16.01.10
22:23
Это переменная конфигурации sql, используется при выделении памяти для запросов. Получить можно в консоли, запустив exec sp_configure 'min_server_memory' (и установить там же, через запятую указав сколько в байтах должно быть)
8 kot_bcc
 
16.01.10
22:27
+(7) exec sp_configure '_min_erver_memory' => exec sp_configure 'max_server_memory'
9 NcSteel
 
16.01.10
22:56
(8) Интересно , спасибо !
10 NcSteel
 
16.01.10
23:22
Немного понял .

Создать запрос - и в окне набрать exec sp_configure 'min_server_memory' , но пишет что min_server_memory нет ) , а вот по exec sp_configure выдает таблицу в которой нет этого параметра.
11 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

вот что
12 kot_bcc
 
16.01.10
23:27
(9) Пока не за что:) И, раз уж Вы, по всей видимости, по ссылке из (1) не ходили - попробуйте там же, в консоли, выполнить по очереди

DBCC FREESYSTEMCACHE

DBCC FREESESSIONCACHE

DBCC FREEPROCCACHE

И постарайтесь отметить - если улучшение наступило, то после какой команды? Дальше по хелпу многое будет понятно.
13 NcSteel
 
16.01.10
23:34
(12) Суть в том что хрен поймешь получили мы выгоду или нет. Так как описанное в (0) может произойти в любой момент . Так сегодня это произошло в конце дня . Как можно определить что есть улучшение ?
14 kot_bcc
 
модератор
16.01.10
23:35
(11) Выполните "exec sp_configure 'show_advanced_options', 1", потом повторите запрос из (10)
15 NcSteel
 
16.01.10
23:36
(12) Как я понимаю эту комбинацию надо выполнить если ошибка именно возникла? . Хм надо будет попробовать .
16 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" не существует, либо это расширенный параметр.

)
17 kot_bcc
 
16.01.10
23:41
(15) Да
(13) Еще можно посмотреть монитор системных ресурсов, там должны быть счетчики для sql, в частности - память. Еще раз - мнее пока не очень понятно, что конкретно происходит (хотелось бы текст сообщения, он должен остаться в журнале событий)
(16) Между 1 и 2 запустили RECONFIGURE?
18 NcSteel
 
17.01.10
00:05
Странно в этом параметре так же есть еще и минимум и максимум . Странно .

но минимум стоит 0 а максимум 2147483647.

У max:

минимум стоит 16, а максимум 2147483647.

Если учесть что на машине 2 гига ОЗУ , то сервер может занять весь объем ОЗУ . Таким образом программно ничем не поможешь ?. А только нарастить ОЗУ или уменьшить конкуренцию за ресурсами. Но странно то что 7.7 нормально шевелилась . причем 7.7 как известно очень криво работает с SQL, да и база более чем в 3 раза больше.

+ Ошибка возникаем именно в момент запуска Конфигуратора или Предприятия. В момент работы этого не происходит, то есть можно запустить отчет по всему складу и отчет выполнится.
19 kot_bcc
 
17.01.10
00:11
(18) Спокойно. Минимум и максимум не так важны, как следующие - установленный и актуальный. Идеально для min_server_memory - осьмушка от ОЗУ, для max - три четверти.
По поводу семерки - криво она работает не в том смысле. Для кэша планов ей нужно очень мало. Бо вся работа на клиенте идет.
20 NcSteel
 
17.01.10
00:19
(19) Все же не ясна причина затыков именно в момент открытия базы. В момент работы , понимаю , но не в момент открытия самой базы как таковой .
21 kot_bcc
 
17.01.10
00:22
Многое зависит от того, что именно происходит в момент открытия. Например - в момент открытия на клиент грузятся метаданные (хранятся в sql, частично кэшируются в сервере 8.1), и т.д. Есть такая штука - профайлер. Там точно всё видно будет. Не имея же даже номера ошибки - у меня, например, ничего утверждать банально не хватает опыта.
22 NcSteel
 
17.01.10
00:30
Окей попытаюсь надыбать скрин
23 kot_bcc
 
17.01.10
00:30
+(21) И не смотрите, что у Вас много памяти. Фирма 1С крайне не рекомендует вообще размещать на одной машине серверы sql и 1C:)
24 NcSteel
 
17.01.10
00:30
(22) + Если честно думал это обчная для SQL ситуация.
25 NcSteel
 
17.01.10
00:31
(23) Суть в том что базы небольшие и работаю не более 2 пользователей . Причем документов в день около 20 - 50 по 5 строк , тоесть это небольшой магазин.
26 kot_bcc
 
17.01.10
00:36
(24) Ну, на то, чтобы понять, что "XP,SQL2005,1С 8.1", вкупе с "2 базы 7.7(1G) и 8.1(300M)", для MS SQL-сервера - КРАЙНЕ НЕОБЫЧНАЯ стуация - моего опыта хватает:) И количество пользователей - явно не проблема в данной ситуации :)
27 NcSteel
 
17.01.10
00:48
(26) Если удалить базу на 7.7 может помочь 7
28 kot_bcc
 
17.01.10
01:15
(27) Думаю нет
29 los_hooliganos
 
17.01.10
03:16
SQL Expres 2005 - ограничение на память 1 гигабайт.
30 NcSteel
 
17.01.10
12:02
(29) иии? база то небольшая 300 мегов  физически.
31 NcSteel
 
17.01.10
12:28
Смотрю сейчас на сервер ).

Постоянно занято около 500 мегов ОЗУ , если проделать инструкции

DBCC FREESYSTEMCACHE - не выполнилась так как написал ошибку (Для инструкции DBCC не верное количество параметров)

DBCC FREESESSIONCACHE

DBCC FREEPROCCACHE

Память освободилась не значительно .

Сейчас испытаю на нагрузку и попробую вызвать ошибку.
32 kot_bcc
 
17.01.10
12:31
(31)

1. DBCC FREESYSTEMCACHE 'ALL' - так правильно
2. То есть без нагрузки свободных 1.5G.

Ждем про нагрузку
33 NcSteel
 
17.01.10
12:36
(32) Нагрузка есть , то есть юзеры работаю без проблемм.

Пока ошибка не возникла с нагрузкой , а использование оперативной памяти гдето на 200 КБ только подросло.
34 NcSteel
 
17.01.10
12:37
(33) Формировал тяжелые отчеты и т.д. Но при открытии Конфигуратора и Предприятия ОЗУ выделенная на sqlserver не ростет .

Ладно подождем ошибку )
36 NcSteel
 
17.01.10
12:38
(35) см (34) Раз пять запускал и пока ошибка не выскачила. Но она гадость выскакивает неожиданно ). Думаю в течении дня еще появится
37 kot_bcc
 
17.01.10
12:38
+(35) не увидел (34), вопрос снят. А в журнале остались записи по предыдущим ошибкам?
38 NcSteel
 
17.01.10
12:38
А не подумал сейчас посмотрю
39 NcSteel
 
17.01.10
12:40
А как этот журнал посмотреть , извините за тупость )
40 kot_bcc
 
17.01.10
12:41
Правой кнопкой на "Мой компьютер" -> "Управление" -> "Просмотр событий"
41 NcSteel
 
17.01.10
12:45
(40) Ошибок нет ))
42 kot_bcc
 
модератор
17.01.10
12:46
Пустой журнал? Этого не может быть:) А в разделе "Система" никаких информационных от VMM нет на то время?
43 kot_bcc
 
17.01.10
12:57
В любом случае - пока не началось, запускайте монитор (Пуск->Выполнить->perfmon.exe). Нужны счётчики:
Процесс: Рабочее множество
SQL Server: Диспетчер буферов: Коэффициент попаданий в кэш буфера
SQL Server: Диспетчер буферов: Всего страниц
SQL Server: Диспетчер памяти: Общий объем памяти сервера (КБ)
44 NcSteel
 
17.01.10
12:57
Все в норме , есть несколько уведомлений обуспешноых всяких операция , когда я сеанс пользователя перезапустил
45 kot_bcc
 
17.01.10
12:58
+(43) Ещё:
Память: Доступно байтов
Память: Страниц/с
46 NcSteel
 
17.01.10
13:00
Зпустил , но тут просто диаграмма строится , а как выбрать именно SQL не вижу.
47 kot_bcc
 
17.01.10
13:01
(46) "Добавить счётчик"?
48 NcSteel
 
17.01.10
13:02
Открывает окно "добавить счетчик"

но в этом окне нет ни слова про SQl
49 NcSteel
 
17.01.10
13:03
Стоп нашел
50 kot_bcc
 
17.01.10
13:04
(49) Обратите внимание - нужен не только SQL
51 los_hooliganos
 
17.01.10
13:38
Запусти профайлер в режиме записи данных трассировки в файл.
Ты наверное знаешь что 8ка хранит конфигурацию в виде таблицы и при запуске предприятия или конфигуратора идет запрос на выборку всех данных из этой таблицы.
Подозрение что именно в этот момент и натыкается на ограничение в 1 гиг ОЗУ.