Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
Snirk
mihami,
На первый взгляд такое поведение можно объяснить бесконечным циклом. Проверьте еще раз внимательно. Например, в Вашем примере алгоритмической структуры можно и i=i+1 потерять или не там его расположить... Думаю реальный текст процедуры может больше помочь для понимания.
Цикл проверил через select параметров - все нормально.

Сама процедрура никем не менялась, т.к. я единственный администратор сервера + проверил по сеансы работы с сервером (кроме меня нету никого).

Мне уже кажется, что SP1 стал както криво.
30 сен 11, 17:47    [11365027]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
mihami
Мне уже кажется, что SP1 стал както криво.
Это вам только кажется. Дело, скорее всего, в вашем коде.
30 сен 11, 17:49    [11365045]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
Обнаружил еще одну особенность - в job процедура отрабатывает вообще без вопросов и притензий. Я просто в ауте.
3 окт 11, 10:30    [11372042]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
Snirk
Member

Откуда:
Сообщений: 6
В job переносили код процедуры или создали "EXEC procedure"? Если первое, то может Вы поправили ошибку в цикле при переносе... А если второе, то может цикл организован при помощи переменных, которые откуда-то извлекаются, а у вас на это прав нет... (тяжело гадать не видя кода)
3 окт 11, 10:40    [11372109]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
mihami,

Не волнуйся.
Все очень просто.
Все дело в специфике 1с а не скл серванта.

Есть такая табличка в YearOffset.
ОБычно она выставляется на серанте бредприятия 1ц.

И частенько умники при переносе забывают поставить такую же.
1с тоталы хранит в отчдельных табличках как срез за каждй месяц.

А теперь представь ты считал раньше тоталы за 12 месяцев, а теперь за 2000 лет за каждый месяц тоталы.

Кароче, копать здесь: проверь смещение дат. в старой БД и в новой - причем проверять надо в серверах бредприятий.

Думаю поможет.
3 окт 11, 10:45    [11372140]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
Snirk,

Может я не правильно выразился: job такой
exec sp_refresh_TurnoverRem_new
и просто выполняется процедура. Разница в том, что я запускал процедуру не прямо с сервера, а с клиента. А job запускается по расписанию с сервера.

И еще: сегодня запустил Delete From.... where dateid < var (удалется 16,7 млн. строк -это пару сот мегабайт в базе) и как результат 18 889 Мб лога!!!!!

Тогда вопрос такой: вы хотите чтобы ваше хранилище было с минимальным логированием. Для этого ваши действия:
1. Модель восстановления: простая.
2. Задачи Insert идут с инструкцией with (tablock).
3. По желанию включить флаг 610, который управляет минимальным протоколированием вставок в проиндексированные таблицы.

Что еще может я пропустил?
3 окт 11, 10:56    [11372227]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
SignOff
mihami,

Не волнуйся.
Все очень просто.
Все дело в специфике 1с а не скл серванта.

Есть такая табличка в YearOffset.
ОБычно она выставляется на серанте бредприятия 1ц.

И частенько умники при переносе забывают поставить такую же.
1с тоталы хранит в отчдельных табличках как срез за каждй месяц.

А теперь представь ты считал раньше тоталы за 12 месяцев, а теперь за 2000 лет за каждый месяц тоталы.

Кароче, копать здесь: проверь смещение дат. в старой БД и в новой - причем проверять надо в серверах бредприятий.

Думаю поможет.

эээээ, спасибо за внимание но я сам выбираю из регистров данные за нужный мне период.
3 окт 11, 10:58    [11372245]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
Glory
Member

Откуда:
Сообщений: 104751
mihami
Может я не правильно выразился: job такой
exec sp_refresh_TurnoverRem_new
и просто выполняется процедура. Разница в том, что я запускал процедуру не прямо с сервера, а с клиента. А job запускается по расписанию с сервера

Без параметров ?
3 окт 11, 11:00    [11372269]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
mihami,

ПОгоди. лог растет изза транзакций. И тыт ту непричем.
Часто переносят базу на новый сервер путем восстановления с бекапа. Но забывают эту мелочь. Именно поэтому рекомендую обратить внимание именно на этот факт.
3 окт 11, 11:03    [11372287]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
SignOff
mihami,

ПОгоди. лог растет изза транзакций. И тыт ту непричем.
удаляя из таблицы 200 МБ лог НИКАК НЕ МОЖЕТ БЫТЬ 18ГБ
3 окт 11, 11:05    [11372302]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
Glory
Member

Откуда:
Сообщений: 104751
mihami
удаляя из таблицы 200 МБ лог НИКАК НЕ МОЖЕТ БЫТЬ 18ГБ

Значит еще что то удаляется или добавляется. Например самописное логирование действий ? Или каскадные удаления ?
3 окт 11, 11:06    [11372311]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
Glory
mihami
Может я не правильно выразился: job такой
exec sp_refresh_TurnoverRem_new
и просто выполняется процедура. Разница в том, что я запускал процедуру не прямо с сервера, а с клиента. А job запускается по расписанию с сервера

Без параметров ?
Параметры вычисляются там же в процедуре. Там работа с датами обычнимы.
3 окт 11, 11:32    [11372503]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
Glory
Member

Откуда:
Сообщений: 104751
mihami
Параметры вычисляются там же в процедуре. Там работа с датами обычнимы.

Именно с datetime или со строками ?
3 окт 11, 11:35    [11372521]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
Glory
mihami
Параметры вычисляются там же в процедуре. Там работа с датами обычнимы.

Именно с datetime или со строками ?
datetime
3 окт 11, 11:44    [11372625]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
mihami
iljy,

Поменял инструкции на INSERT INTO table_name WITH (TABLOCK), абсолютно ничего не поменялось.

Структура процедуры такая (алгоритмически)
SET i=1
while (i<= 31)
begin
  INSERT INTO table_name WHITH (TABLOCK)  
  ...
  select sum(field)
  where data_id > i
  ...
  i=i+1
end

одна порция данных ~240 тыс. При каждой новой итерации нужно суммировать (240 000 * i) строк, но пишется всеравно ~ 240тыс.
Я так понимаю что подчищать командой журнал нельзя т.к. это одна транзакция и он открыт во время нее.

До установки SP1 процедура выполнялась 40 мин., а сейчас 2 часа (пока не заканчивается место на диске) и все умирает.


А в транзакции?

begin tran
SET i=1
while (i<= 31)
begin
  INSERT INTO table_name WHITH (TABLOCK)  
  ...
  select sum(field)
  where data_id > i
  ...
  i=i+1
end
commit
3 окт 11, 13:26    [11373517]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
Glory
mihami
удаляя из таблицы 200 МБ лог НИКАК НЕ МОЖЕТ БЫТЬ 18ГБ

Значит еще что то удаляется или добавляется. Например самописное логирование действий ? Или каскадные удаления ?
Каскданое не включено а вот про самописное логирование можно подробней.
Просто занимался скриптами для отслеживания блокировок и обнаружил что весь лог засырает именно одна команда DELETE. Т.е при удалении из таблицы фактов записей за 2 мес. создается этот бешанный лог.
3 окт 11, 16:26    [11375544]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
Glory
Member

Откуда:
Сообщений: 104751
mihami
Каскданое не включено а вот про самописное логирование можно подробней.

Куча триггеров, которые что-то куда то пишут
3 окт 11, 16:36    [11375671]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
Glory
Member

Откуда:
Сообщений: 104751
mihami
и обнаружил что весь лог засырает именно одна команда DELETE. Т.е при удалении из таблицы фактов записей за 2 мес. создается этот бешанный лог.

А вначале разговор шел про INSERT INTO table_name
Откуда вдруг появился DELETE ?
3 окт 11, 16:37    [11375684]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
Glory
mihami
Каскданое не включено а вот про самописное логирование можно подробней.

Куча триггеров, которые что-то куда то пишут


В 1ц как правило нет триггеров. Ибо там на каждый пук 1с-овца может быть изменена струтукра метаданных, которая в свою очередь генерится... Отаке...
3 окт 11, 16:47    [11375796]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
Glory
mihami
Каскданое не включено а вот про самописное логирование можно подробней.

Куча триггеров, которые что-то куда то пишут
Тригеров нету вообще.

А вначале разговор шел про INSERT INTO table_name
Откуда вдруг появился DELETE ?
Перед вставкой идет чистка. Я както не подумал что траблы могут быть именно там. Виноват.
3 окт 11, 16:47    [11375805]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
SignOff
Member

Откуда: Stockholm
Сообщений: 424
mihami,

Проверь еще CDC включен или нет ?
Репликации есть или нет ?
3 окт 11, 16:47    [11375807]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
SignOff
mihami,

Проверь еще CDC включен или нет ?
Репликации есть или нет ?

Отслеживание изменений отключено (в свойствах БД эта же вкладка. Если я правильно понял значение CDC), репликация тоже.

Я не обращал внимание на процедуру удаления
DELETE FROM TurnoverRem
    WHERE (DateId IN (SELECT DateId FROM DateKey WHERE (Дата >= @date)))
и я почти уверен, что собака зарыта именно в IN. Т.к. таблица на 404 млн. строк, то IN это смертиподобно. Хотя почему норм пахало без SP1 это уже пусть скажут "отцы".
3 окт 11, 17:02    [11375950]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
iljy
Member

Откуда:
Сообщений: 8711
mihami
и я почти уверен, что собака зарыта именно в IN. Т.к. таблица на 404 млн. строк, то IN это смертиподобно. Хотя почему норм пахало без SP1 это уже пусть скажут "отцы".

Ну откуда эта страсть к гаданию на кофейной гуще? Вы план посмотрели?
3 окт 11, 17:17    [11376128]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
mihami
Member

Откуда:
Сообщений: 79
iljy
mihami
и я почти уверен, что собака зарыта именно в IN. Т.к. таблица на 404 млн. строк, то IN это смертиподобно. Хотя почему норм пахало без SP1 это уже пусть скажут "отцы".

Ну откуда эта страсть к гаданию на кофейной гуще? Вы план посмотрели?
Смотреть план в процедуре с локальными переменными?.... ну-ну.
Я уже обнаружил что не может проглотить
DELETE FROM TurnoverRem
    WHERE DateId >= @date_id
буду разбивать на части и шринковать лог между ними.
Но почему он неожиданно начал расти раз 10 больше? Это загадка. Логика не менялась. Других пользователей нету, процессов тоже. Повидимому с выходом SP1 чето добавилось о чем я не в курсе.
3 окт 11, 18:27    [11376743]     Ответить | Цитировать Сообщить модератору
 Re: После установки SP1 на SQL Server 2008 R2 начал бешенно расти log  [new]
Glory
Member

Откуда:
Сообщений: 104751
mihami
Смотреть план в процедуре с локальными переменными?.... ну-ну.

В чем проблема ?

mihami
Я уже обнаружил что не может проглотить
DELETE FROM TurnoverRem
    WHERE DateId >= @date_id

Что такое "проглотить" ?
3 окт 11, 18:31    [11376782]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: Ctrl  назад   1 [2] 3   вперед  Ctrl      все
Все форумы / Microsoft SQL Server Ответить