Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
Полный тест
Error: Time-out occurred while waiting for buffer latch type 3 for page (11:485280), database ID 2.

Версия Microsoft SQL Server 2016 (SP1) (KB3182545) - 13.0.4001.0 (X64) Oct 28 2016 18:17:30 Copyright (c) Microsoft Corporation Standard Edition (64-bit) on Windows Server 2012 R2 Standard 6.3 <X64> (Build 9600: )

Checkdb выдает 0 ошибок.

Ошибка выплыла второй раз на пару недель.
Так как это tempDb, то а промежуток времени, между предыдущей ошибкой. Сервер минимум 1 раз перегружался. А также tempDb была пересена на другой диск (то есть вопроса к "битости" диска как бы быть не может).

В логе sql
за 4 минуты времени около 12 аналогичных ошибок. С buffer latch type 3 и buffer latch type 4. Все относятся к tempdb
и за 6 минут порядка 20и сообщений типа
Process 0:0:0 (0xad8) Worker 0x00000049EC400160 appears to be non-yielding on Scheduler 17. Thread creation time: 13150541410851. Approx Thread CPU Used: kernel 0 ms, user 124703 ms. Process Utilization 60%. System Idle 38%. Interval: 130882 ms.

Предыдущий раз. Встретил упоминание, что в 2005 версии это может быть конфликт многопоточности за дисковые ресурсы и рекомендацию увеличить количество файлов в базе. В tempdb сейчас состоит из 12 файлов (на 3х независимых IO)

куда дальше копать искать причину?
23 сен 17, 15:13    [20818026]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
вся информацию, которую нахожу, относится или к 2008 и ранее, максимум к 2012 версии.
23 сен 17, 15:19    [20818031]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Дедушка
Member

Откуда: Город трёх революций
Сообщений: 5112
Dzianis
Error: Time-out occurred while waiting for buffer latch type 3 for page (11:485280), database ID 2.
для начала стоит посмотреть что это такое
dbcc page(2, 11, 485280)

тип 3 это какой-то апдейт - несколько процессов меняют одну и ту же страницу
23 сен 17, 15:48    [20818065]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
Дедушка
Dzianis
Error: Time-out occurred while waiting for buffer latch type 3 for page (11:485280), database ID 2.
для начала стоит посмотреть что это такое
dbcc page(2, 11, 485280)

тип 3 это какой-то апдейт - несколько процессов меняют одну и ту же страницу


автор

PAGE: (11:485280)


BUFFER:


BUF @0x0000004A11E10000

bpage = 0x00000049CAB42000 bhash = 0x0000004A6E919A80 bpageno = (11:485280)
bdbid = 2 breferences = 0 bcputicks = 0
bsampleCount = 0 bUse1 = 38830 bstat = 0x10b
blog = 0x8a8a8a8a bnext = 0x0000000000000000 bDirtyContext = 0x000000449AAE61A0
bstat2 = 0x0

PAGE HEADER:


Page @0x00000049CAB42000

m_pageId = (11:485280) m_headerVersion = 1 m_type = 11
m_typeFlagBits = 0x0 m_level = 0 m_flagBits = 0x0
m_objId (AllocUnitId.idObj) = 99 m_indexId (AllocUnitId.idInd) = 0 Metadata: AllocUnitId = 6488064
Metadata: PartitionId = 0 Metadata: IndexId = 0 Metadata: ObjectId = 99
m_prevPage = (0:0) m_nextPage = (0:0) pminlen = 0
m_slotCnt = 1 m_freeCnt = 2 m_freeData = 8188
m_reservedCnt = 0 m_lsn = (669:1696:422) m_xactReserved = 0
m_xdesId = (0:0) m_ghostRecCnt = 0 m_tornBits = 648380467
DB Frag ID = 1

Allocation Status

GAM (11:2) = NOT ALLOCATED SGAM (11:3) = NOT ALLOCATED
PFS (11:485280) = 0x40 ALLOCATED 0_PCT_FULL DIFF (11:6) = CHANGED
ML (11:7) = NOT MIN_LOGGED
23 сен 17, 16:12    [20818080]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
Dzianis,

а покажите

exec sp_helpdb tempdb
23 сен 17, 16:21    [20818087]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
komrad
Dzianis,

а покажите

exec sp_helpdb tempdb



автор
tempdb	  51241.75 MB	sa	2	Sep 22 2017	Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=SIMPLE, Version=852, Collation=SQL_Latin1_General_CP1_CI_AS, SQLSortOrder=52, IsAutoCreateStatistics, IsAutoUpdateStatistics	130


tempdev 1 E:\SQLData\tempdb.mdf PRIMARY 3896448 KB Unlimited 65536 KB data only
templog 2 E:\SQLLogs\templog.ldf NULL 139264 KB Unlimited 65536 KB log only
temp2 3 D:\SQLData\tempdb2.mdf PRIMARY 3638720 KB Unlimited 65536 KB data only
temp3 4 D:\SQLData\tempdb3.mdf PRIMARY 3495232 KB Unlimited 65536 KB data only
temp4 5 D:\SQLData\tempdb4.mdf PRIMARY 3976320 KB Unlimited 65536 KB data only
temp5 6 D:\SQLData\tempdb5.mdf PRIMARY 3980416 KB Unlimited 65536 KB data only
temp6 7 C:\SQLData\tempdb6.mdf PRIMARY 3008320 KB Unlimited 65536 KB data only
temp7 8 C:\SQLData\tempdb7.mdf PRIMARY 3638976 KB Unlimited 65536 KB data only
temp8 9 C:\SQLData\tempdb8.mdf PRIMARY 4849792 KB Unlimited 65536 KB data only
temp10 10 C:\SQLData\tempdb10.mdf PRIMARY 7282688 KB Unlimited 65536 KB data only
temp11 11 E:\SQLData\tempdb11.mdf PRIMARY 7282688 KB Unlimited 65536 KB data only
temp9 12 E:\SQLData\tempdb9.mdf PRIMARY 7282688 KB Unlimited 65536 KB data only
24 сен 17, 12:48    [20818828]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
invm
Member

Откуда: Москва
Сообщений: 9122
Dzianis
куда дальше копать искать причину?
Это читали - https://mssqlwiki.com/2012/09/07/latch-timeout-and-sql-server-latch/ ?
24 сен 17, 15:24    [20818920]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
invm
Dzianis
куда дальше копать искать причину?
Это читали - https://mssqlwiki.com/2012/09/07/latch-timeout-and-sql-server-latch/ ?


по этой статье мы приходим только к https://support.microsoft.com/en-us/help/328551/concurrency-enhancements-for-the-tempdb-database
Что необходимо дальше увеличивать количество фалов данных у темпбд, допустим до 24х штук.
24 сен 17, 16:53    [20819024]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
invm
Member

Откуда: Москва
Сообщений: 9122
Dzianis
по этой статье мы приходим только к https://support.microsoft.com/en-us/help/328551/concurrency-enhancements-for-the-tempdb-database
В статье описано как пользоваться отладчиком для поиска причины этой ошибки.
24 сен 17, 17:07    [20819034]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
invm
Dzianis
по этой статье мы приходим только к https://support.microsoft.com/en-us/help/328551/concurrency-enhancements-for-the-tempdb-database
В статье описано как пользоваться отладчиком для поиска причины этой ошибки.


завтра попытаюсь пройтись.
Хоть кажется что юзкейс к пользовательской БД может не подойти к темпБД.

все таки это страницы, используемые неявно для "временных данных".
ошибки появляются при выполнении стандартных запросов в пользовательских базах данных
24 сен 17, 18:15    [20819073]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
Dzianis
komrad
Dzianis,

а покажите

exec sp_helpdb tempdb



автор
tempdb	  51241.75 MB	sa	2	Sep 22 2017	Status=ONLINE, Updateability=READ_WRITE, UserAccess=MULTI_USER, Recovery=SIMPLE, Version=852, Collation=SQL_Latin1_General_CP1_CI_AS, SQLSortOrder=52, IsAutoCreateStatistics, IsAutoUpdateStatistics	130


tempdev 1 E:\SQLData\tempdb.mdf PRIMARY 3896448 KB Unlimited 65536 KB data only
templog 2 E:\SQLLogs\templog.ldf NULL 139264 KB Unlimited 65536 KB log only
temp2 3 D:\SQLData\tempdb2.mdf PRIMARY 3638720 KB Unlimited 65536 KB data only
temp3 4 D:\SQLData\tempdb3.mdf PRIMARY 3495232 KB Unlimited 65536 KB data only
temp4 5 D:\SQLData\tempdb4.mdf PRIMARY 3976320 KB Unlimited 65536 KB data only
temp5 6 D:\SQLData\tempdb5.mdf PRIMARY 3980416 KB Unlimited 65536 KB data only
temp6 7 C:\SQLData\tempdb6.mdf PRIMARY 3008320 KB Unlimited 65536 KB data only
temp7 8 C:\SQLData\tempdb7.mdf PRIMARY 3638976 KB Unlimited 65536 KB data only
temp8 9 C:\SQLData\tempdb8.mdf PRIMARY 4849792 KB Unlimited 65536 KB data only
temp10 10 C:\SQLData\tempdb10.mdf PRIMARY 7282688 KB Unlimited 65536 KB data only
temp11 11 E:\SQLData\tempdb11.mdf PRIMARY 7282688 KB Unlimited 65536 KB data only
temp9 12 E:\SQLData\tempdb9.mdf PRIMARY 7282688 KB Unlimited 65536 KB data only


что-то у вас база размазана по трём дискам, один из них системный

для локализации проблемы я бы сначала сгреб все файлы (уменьшить до 8 кол-во дата файлов) на один выделенный диск, чтобы нивелировать нагрузку со стороны других баз и приложений
25 сен 17, 12:00    [20820180]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
invm
В статье описано как пользоваться отладчиком для поиска причины этой ошибки.


Поиск файла дампа для дебагера закончился неудачей.
в файле лога нет упоминаний о пути и имени. Файловый поиск по диску то же ничего не дал.
26 сен 17, 16:47    [20824495]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
komrad
что-то у вас база размазана по трём дискам, один из них системный

для локализации проблемы я бы сначала сгреб все файлы (уменьшить до 8 кол-во дата файлов) на один выделенный диск, чтобы нивелировать нагрузку со стороны других баз и приложений


3 диска у каждого свой raid.
Сгрести на один диск легко. Но нет возможности сделать выделенный диск для темпДБ.
Чтобы нивелировать нагрузку
- это единственная большая база на sql сервере.
- прочее приложение используется только в рабочее время. Ошибка по логу не совпадает по времени с нагрузкой, она была ночью, когда почти все ресурсы свободны и юзаются sql.
26 сен 17, 16:51    [20824504]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
Dzianis
Member

Откуда:
Сообщений: 76
По логу так же присутствует ошибка.

External dump process return code 0x20000001. External dump process returned no errors.
26 сен 17, 16:54    [20824512]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка в tempdb: Time-out occurred while waiting for buffer latch type 3 for page...  [new]
komrad
Member

Откуда: Msk -> Utrecht
Сообщений: 5162
Dzianis
invm
В статье описано как пользоваться отладчиком для поиска причины этой ошибки.


Поиск файла дампа для дебагера закончился неудачей.
в файле лога нет упоминаний о пути и имени. Файловый поиск по диску то же ничего не дал.


а это что показывает?
select * from sys.dm_server_memory_dumps
26 сен 17, 17:19    [20824609]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить