(495) 925-0049, ITShop интернет-магазин 229-0436, Учебный Центр 925-0049
  Главная страница Карта сайта Контакты
Поиск
Вход
Регистрация
Рассылки сайта
 
 
 
 
 

Причина ошибки Timeout Expiried при загрузке файла. Часть 2

Источник: dvprofessionals
Михаил Захаров

Начало данной темы было положено в статье  "Причина ошибки Timeout expired при загрузке файла, база на SQL Server 2008". Хочу добавить, что отключение статистики полностью, может снизить производительность.

В последнее время было выявлено еще несколько подобных случаев, причем не только на SQL 2008, а и на SQL 2005.

Если вы встретились с данной ошибкой прежде всего нужно определить является ли сбор статистики причиной.

В момент загрузки файла выполните процедуру

SELECT
tr.[transaction_id]
,DATEDIFF(minute, tr.[transaction_begin_time], GETDATE()) [duration]
,req.[command]
,req.[blocking_session_id]
,txt.[text]
,sess.[host_name]
,sess.[program_name]
,sess.[login_name]
,sess.[login_time]
FROM sys.dm_tran_active_transactions tr
JOIN sys.dm_exec_requests req ON req.[transaction_id] = tr.[transaction_id] JOIN sys.dm_exec_sessions sess ON sess.[session_id] = req.[session_id] OUTER APPLY sys.dm_exec_sql_text(req.[sql_handle]) txt WHERE
req.[session_id] > 50
AND tr.[transaction_begin_time] < DATEADD(minute, -1, GETDATE()) ORDER BY [duration] DESC

которая возвращает длительные транзакции. Нужно вызывать до тех пор, пока не будет возвращен результат

Если в резуальтате запроса будет строка
SELECT StatMan([SC0], [SB0000]) FROM (SELECT TOP 100 PERCENT [SC0], step_direction([SC0]) over (order by NULL) AS [SB0000] FROM (SELECT CONVERT([varbinary](200), SUBSTRING ([Data], 1, 100)++substring([Data], case when LEN([Data])<=200 then 101

Следовательно сбор статистики включен.

В первую очередь нужно отключить сбор статистики на конкретной таблице:
EXEC sp_autostats 'dbo.dvsys_binaries', 'OFF'

Если отключение не помогло, то выполните запрос для удаления собранной статистической информации.

DECLARE @Cmd nvarchar(4000)
DECLARE @ObjectName sysname
DECLARE @StatName sysname

SET @ObjectName = '[dbo].[dvsys_binaries]'

DECLARE StatCursor CURSOR FAST_FORWARD FOR
SELECT name
FROM sys.stats
WHERE
object_id = OBJECT_ID(@ObjectName)
AND auto_created = 1

OPEN StatCursor
FETCH NEXT FROM StatCursor INTO @StatName

WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @Cmd = N'DROP STATISTICS ' + @ObjectName + N'.[' + @StatName + N']'
EXEC [dbo].[sp_executesql] @Cmd

FETCH NEXT FROM StatCursor INTO @StatName END

CLOSE StatCursor
DEALLOCATE StatCursor

И следующий запрос

DECLARE @Rtn int
DECLARE @Cmd nvarchar(4000)
DECLARE @ObjectName sysname
DECLARE @StatName sysname

SELECT
@ObjectName = 'dbo.dvsys_binaries'
,@Rtn = 0

DECLARE StatCursor CURSOR FAST_FORWARD FOR
SELECT name
FROM sys.stats
WHERE
object_id = OBJECT_ID(@ObjectName)
AND auto_created = 1

OPEN StatCursor
FETCH NEXT FROM StatCursor INTO @StatName

WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @Cmd = N'UPDATE STATISTICS ' + @ObjectName + N'(' + @StatName + N') WITH SAMPLE 0 ROWS, NORECOMPUTE'

PRINT 'Updating statistics ' + @StatName

EXEC @Rtn = [dbo].[sp_executesql] @Cmd

IF @Rtn <> 0 BREAK

FETCH NEXT FROM StatCursor INTO @StatName
END

CLOSE StatCursor
DEALLOCATE StatCursor

IF @Rtn <> 0
BEGIN
RAISERROR('Unable to update statistics, error: %d', 10, 1, @Rtn)
END

Обращаю внимание, что проблема еще полностью не изучена. Проверку всегда нужно проводить имея под рукой свежий бекап.

Ссылки по теме


 Распечатать »
 Правила публикации »
  Написать редактору 
 Рекомендовать » Дата публикации: 08.06.2009 
 

Магазин программного обеспечения   WWW.ITSHOP.RU
Oracle Database Standard Edition 2 Processor License
Quest Software. TOAD for Oracle Edition
SAP Crystal Reports 2008 INTL WIN NUL License
IBM Domino Messaging Server Processor Value Unit (PVU) License + SW Subscription & Support 12 Months
КОМПАС-3D v17 Home
 
Другие предложения...
 
Курсы обучения   WWW.ITSHOP.RU
 
Другие предложения...
 
Магазин сертификационных экзаменов   WWW.ITSHOP.RU
 
Другие предложения...
 
3D Принтеры | 3D Печать   WWW.ITSHOP.RU
 
Другие предложения...
 
Новости по теме
 
Рассылки Subscribe.ru
Информационные технологии: CASE, RAD, ERP, OLAP
Новости ITShop.ru - ПО, книги, документация, курсы обучения
Программирование на Visual Basic/Visual Studio и ASP/ASP.NET
Delphi - проблемы и решения
Компьютерная библиотека: книги, статьи, полезные ссылки
Краткие описания программ и ссылки на них
ЕRP-Форум. Творческие дискуссии о системах автоматизации
 
Статьи по теме
 
Новинки каталога Download
 
Исходники
 
Документация
 
 



    
rambler's top100 Rambler's Top100