Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
foxtv
Member

Откуда:
Сообщений: 108
Операционная система: Microsoft Windows 2003 Small Biesness Server SP2.

Параметры машины: Intel(R)Xeon(TM) CPU 2.80 GHz, 4 Гб ОЗУ.

SQL Server: Microsoft SQL Server 2000 - 8.00.2039 (Intel X86) May 3 2005 23:18:38 Copyright (c) 1988-2003 Microsoft Corporation Standard Edition on Windows NT 5.2 (Build 3790: Service Pack 2).

Настроен RAID 1.

Размер файла базы данных увеличился с 93 Гб до 102, после чего начала зашкаливать средняя длина очереди диска и все операции обновления не выполнялись или же выполнялись слишком медленно. Перезагрузка сервера не помогла.

В чём может быть проблема - жёсткий диск?
Ограничения на размер базы данных?

Помогите пожалуйста в каком направлении двигаться.
28 авг 14, 10:37    [16505269]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
wefqwfwqe
Guest
достав свуй хрустально-шар завангую, что в базе помимо update есть и другая активность. как вариант запущен update на большую таблицу, который повис на блокировках...

sp_who2

sys.dm_tran_locks

в помощь.
28 авг 14, 10:43    [16505312]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
foxtv
Member

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

Дело в том что я сервер побывал полностью отключать от сети, перезагружать его, запускал трассировки выполнения запросов. И при всём при этом работая один с базой данных, на простых запросах идёт перегруз средней длины диска и большие тормоза сервера :-(
28 авг 14, 11:21    [16505626]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
Glory
Member

Откуда:
Сообщений: 104751
foxtv
запускал трассировки выполнения запросов

А вы их потом просматривали ?
А состояние коннекта с запросом просматривали ?
Спискок блокировок/ожиданий ?
28 авг 14, 11:25    [16505671]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
foxtv,

Вызывайте срочно экстрасенса ДБА у вас явная порча.
Если серьезно, то начните с ответов на следующие вопросы:
Проводится ли оптимизация индексов?
Как часто обновляется статистика?
Кто нибудть вообще заглядывал хоть в один план выполнения хотябы этих самых update`тов?
Ну и напоследок, бекапы то делаются?
28 авг 14, 11:27    [16505698]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
foxtv
Member

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

Я работал 5 минут - все запросы просмотрел.
Блокировок не было.
Не пойму из-за чего на 10 Гб увеличивается файл базы данных.
28 авг 14, 11:32    [16505744]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
Glory
Member

Откуда:
Сообщений: 104751
foxtv
все запросы просмотрел.

Где и что вы смотрели ?

foxtv
Не пойму из-за чего на 10 Гб увеличивается файл базы данных.

В смысле не пойму?
Вы меняете данные. Эта операция требует ресурсов.
28 авг 14, 11:38    [16505802]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
o-o
Guest
foxtv
Не пойму из-за чего на 10 Гб увеличивается файл базы данных.

может, кто-то выставил приращение файлу в 10%?
с 90Гб нормально так сразу до 100 увеличится, даже если всего одна строка не влазит.
a еще если эти 10Гб зануляются, вообще отлично ждать.

а какого поля UPDATE, не varchar ли?
28 авг 14, 11:39    [16505815]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
--__Александр__--
Member

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

Врядли
автор
Перезагрузка сервера не помогла.


Я бы начал так:
1) Чекаем, что нет репликаций, мирронинга и вся кой такой фигни
2) Переводим базу в сингл юзер
3) Запускаем один апдейт и смотрим на
- план запроса
- блокировки
- ожидания
28 авг 14, 11:40    [16505822]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
foxtv
Member

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

С SqlServerом работает только одно приложение OptimaWorkFlow (система электронного документооборота). Система работает с 2007 года уже 8 лет как, никогда никаких проблем не было. Оптимизация индексов базы данных проводилась вчера внутренней утилитой СЭДО. Статистика не ведётся. Бэкап делается 2 раза в день в 12 и в 6 часов вечера.
28 авг 14, 11:41    [16505840]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
foxtv
WarAnt,

С SqlServerом работает только одно приложение OptimaWorkFlow (система электронного документооборота). Система работает с 2007 года уже 8 лет как, никогда никаких проблем не было. Оптимизация индексов базы данных проводилась вчера внутренней утилитой СЭДО. Статистика не ведётся. Бэкап делается 2 раза в день в 12 и в 6 часов вечера.


Тоесть что такое статистика в плоскости сиквела вы таки не знаете, советую начать изучать.
По поводу с 2007, раньше и трава была зеленее и деревья выше, и что?

Смотрите планы выполнения, там ответ на ваш вопрос почему так медленно(если как вы утверждаете блокировок нет)
Ну а примерные варианты ответов из плана я уже озвучил ранее.
28 авг 14, 11:45    [16505879]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
foxtv
Member

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

Последний вопрос - 2 недели назад падал рейд контроллер. После перезагрузки сервера он восстановился. Может ли моя проблема быть связана с жёстким диском?
28 авг 14, 12:07    [16506069]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
iap
Member

Откуда: Москва
Сообщений: 47142
У таблицы есть триггер на UPDATE?
На таблицу ссылаются какие-нибудь FK?
Не дай бог, некоторые из них с каскадным апдейтом, а апдейтите Вы PK...
28 авг 14, 13:15    [16506551]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
a_voronin
Member

Откуда: Москва
Сообщений: 4893
Посмотрите параметры роста файла БД, может там по 1 КБ прирост стоит.
28 авг 14, 13:22    [16506623]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
zzdima
Member

Откуда:
Сообщений: 3942
foxtv, с Оптимой все почти один в один и по годам внедрения и до недавнего времени и по железу.

Каждую ночь перед бекапом запускается вот такой скрипт. Где-то здесь подсмотрел. Сколько только времени он будет молотить на 100 гигах, да если еще Full Recovery Model?


DBCC FREEPROCCACHE WITH NO_INFOMSGS
DBCC DROPCLEANBUFFERS WITH NO_INFOMSGS
DECLARE @db sysname, @sql nvarchar(4000)
DECLARE CRDB CURSOR LOCAL FAST_FORWARD FOR
  SELECT name FROM master.dbo.sysdatabases 
  WHERE name IN ('owf')
OPEN CRDB
FETCH CRDB INTO @db
WHILE @@FETCH_STATUS=0
BEGIN
 PRINT '=================== '+QUOTENAME(@db)+' "'+CAST(GETDATE() as varchar(100))+'" ====================='
 SET @sql=N'SET XACT_ABORT OFF'
 SET @sql=@sql+N' DBCC DBREINDEX (''?'') WITH NO_INFOMSGS'
 SET @sql=@sql+N' IF EXISTS (SELECT * FROM sysindexes WHERE indid=1 AND id=OBJECT_ID(''?''))'
 SET @sql=@sql+N'      DBCC INDEXDEFRAG (0, ''?'', 1) WITH NO_INFOMSGS'
 SET @sql=@sql+N' UPDATE STATISTICS ? EXEC sp_recompile ''?''' 
 --print @sql
 SET @sql=N'USE ['+@db+'] EXEC sp_msforeachtable N'''+REPLACE(@sql,'''','''''')+N''''
 --print @sql
 EXEC(@sql)
 DBCC UPDATEUSAGE (@db) WITH NO_INFOMSGS
 DBCC CHECKDB (@db) WITH NO_INFOMSGS
 FETCH CRDB INTO @db
END
CLOSE CRDB
DEALLOCATE CRDB


Вот только с размером базы пришлось бороться с самого начала ввода в эксплуатацию. Очень много мусора, который надо постоянно из базы выгребать. Когда размер бекапа стал 30 Гб разделил базу на архивную и актуальную.
28 авг 14, 13:46    [16506844]     Ответить | Цитировать Сообщить модератору
 Re: При размере файла базы данных 103 Гб перестаёт работать Update. Подскажите в чём проблема?  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2423
foxtv
WarAnt,

Последний вопрос - 2 недели назад падал рейд контроллер. После перезагрузки сервера он восстановился. Может ли моя проблема быть связана с жёстким диском?


Если праны красивые и по всем критериям данные должны выдаваться за время n а выдаются за время m, то да,
смотрите одновременно,
какие типы ожиданий генерирует запрос при выполнении и
что при этом происходит с дисковой очередью и
не менее важно, одновременно следить за средней скоростью чтения записи на диск
(бывают ситуации, когда очередь на диск =1 но и скорость чтения данных в районе 1Мб, при этом висит ожидание типа pagelatch, красноречиво говорящее что скуль ждет диск, а диск то и не торопится (тут конечно еще нужно оговориться про возможные проблемы на уровне GAM и SGAM, но это уже совсем дебри)).
Но таких ситуаций мало чаще всетаки есть проблемы с планированием запроса.
28 авг 14, 13:46    [16506848]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить