Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Ошибка при Update statistics  [new]
Update statistics
Guest
Пытаюсь обновить статистику, получаю в error log следующую ошибку
[298] SQLServer Error: 9002, The transaction log for database 'tempdb' is full. To find out why space in the log cannot be reused, see the log_reuse_wait_desc column in sys.databases [SQLSTATE 42000] (ConnExecuteCachableOp)


Смотрю что с логами, вроде все в порядке.

DBCC SQLPERF (LOGSPACE)

master	1.742188	68.60986	0
tempdb	1585.359	53.65281	0
model	0.9921875	35.43307	0
msdb	3.742188	43.73695	0
db1	5000.992	2.385542	0
db2	3250.992	0.8250787	0
db3	7000.992	1.122985	0

Смотрим, указывают причину, связанную с репликацией

SELECT NAME, log_reuse_wait_desc FROM sys.databases d
master	NOTHING
tempdb	NOTHING
model	NOTHING
msdb	NOTHING
db1	REPLICATION
db2	NOTHING
db3	NOTHING

Сама репликация настроена и работает, проверил на 3-ёх базах фиктивными изменениями данных.

DBCC OPENTRAN на базу db1

Transaction information for database 'db1'.

Replicated Transaction Information:
        Oldest distributed LSN     : (2095197:238104:106)
        Oldest non-distributed LSN : (0:0:0)
DBCC execution completed. If DBCC printed error messages, contact your system administrator.


В чем может быть дело? Неужели придется пересоздать работающую репликацию.
18 фев 13, 10:31    [13941151]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Glory
Member

Откуда:
Сообщений: 104751
Update statistics
Пытаюсь обновить статистику,

Какой командой ?

Update statistics
В чем может быть дело? Неужели придется пересоздать работающую репликацию.

А причем тут база db1 ?
В тексте ошибке речь идет про "The transaction log for database 'tempdb' is full"
18 фев 13, 10:37    [13941179]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Гость333
Member

Откуда:
Сообщений: 3683
Update statistics
Error: 9002, The transaction log for database 'tempdb' is full.

Если заполнен лог-файл базы tempdb, то зачем нужно изучать лог-файлы каких-то других баз? Проверьте параметры автоприращения лог-файлов tempdb и свободное место на диске, где эти файлы расположены.
18 фев 13, 10:38    [13941183]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Update statistics
Guest
Вот результат запроса по базе tempdb

SELECT file_id, name, df.physical_name, type_desc, SIZE, max_size, growth, df.is_percent_growth
  FROM sys.database_files df


file_id	name	physical_name	type_desc	SIZE	max_size	growth	is_percent_growth
1	tempdev	        C:\DATA\tempdb.mdf	ROWS	1024	-1	0	0
2	templog	        C:\DATA\templog.ldf	LOG	64	-1	0	0
3	tempdev51	e:\DATA\tempdev51.ndf	ROWS	700424	-1	10	1
4	templog51	e:\DATA\templog51.ldf	LOG	202864	268435456	10	1

На диске C: места 5 гигабайт осталось, на E: много. Но на файлах, расположенных на C:, не стоит возможность расширения. Вроде все нормально.

Меня беспокоит, почему у db1 значение у колонки log_reuse_wait_desc = REPLICATION
18 фев 13, 11:01    [13941325]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Glory
Member

Откуда:
Сообщений: 104751
Update statistics
Меня беспокоит, почему у db1 значение у колонки log_reuse_wait_desc = REPLICATION

Потому что там репликация. Транзакционная.

Update statistics
На диске C: места 5 гигабайт осталось, на E: много. Но на файлах, расположенных на C:, не стоит возможность расширения. Вроде все нормально.

Какая команда вызвала ошибку ?
18 фев 13, 11:04    [13941346]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Update statistics
Guest
Glory
Update statistics
Меня беспокоит, почему у db1 значение у колонки log_reuse_wait_desc = REPLICATION

Потому что там репликация. Транзакционная.


То есть это нормально. Для баз с транзакционной репликацией будет стоять такое значение.

Glory
Update statistics
На диске C: места 5 гигабайт осталось, на E: много. Но на файлах, расположенных на C:, не стоит возможность расширения. Вроде все нормально.

Какая команда вызвала ошибку ?



SELECT 'update statistics kit71e.dbo.['+ name  + '] WITH FULLSCAN, ALL ' name 
 INTO #test from db1..sysobjects
where type='U'

EXEC MASTER..ExecThreads '#test', 15
18 фев 13, 11:09    [13941377]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Glory
Member

Откуда:
Сообщений: 104751
Update statistics
То есть это нормально. Для баз с транзакционной репликацией будет стоять такое значение.

Что для вас есть "нормально" ?
Запрос показал причину того, почему не усекается журнал базы.
А все ли нормально с репликацией этот запрос показать не может

Update statistics
SELECT 'update statistics kit71e.dbo.['+ name  + '] WITH FULLSCAN, ALL ' name 
 INTO #test from db1..sysobjects
where type='U'

EXEC MASTER..ExecThreads '#test', 15

Теперь нужно угадать, какая команда в ExecThreads вызвала ошибку ?
18 фев 13, 11:13    [13941398]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Update statistics
Guest
Glory
Update statistics
То есть это нормально. Для баз с транзакционной репликацией будет стоять такое значение.

Что для вас есть "нормально" ?
Запрос показал причину того, почему не усекается журнал базы.
А все ли нормально с репликацией этот запрос показать не может


3 базы, для каждой из них настроена репликация. Вызывало вопрос, почему только для одной из них указана причина REPLICATION как причина не усечения лога.


Glory
Update statistics
SELECT 'update statistics kit71e.dbo.['+ name  + '] WITH FULLSCAN, ALL ' name 
 INTO #test from db1..sysobjects
where type='U'

EXEC MASTER..ExecThreads '#test', 15

Теперь нужно угадать, какая команда в ExecThreads вызвала ошибку ?


Login failed for user 'ThreadUser'
18 фев 13, 11:33    [13941547]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Glory
Member

Откуда:
Сообщений: 104751
Update statistics
3 базы, для каждой из них настроена репликация. Вызывало вопрос, почему только для одной из них указана причина REPLICATION как причина не усечения лога.

Ну так что вам мешает проверить репликацию этой базы

Update statistics
Login failed for user 'ThreadUser'

Это текст команды ?
18 фев 13, 11:35    [13941560]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Update statistics
Guest
[quot Glory]
Update statistics
3 базы, для каждой из них настроена репликация. Вызывало вопрос, почему только для одной из них указана причина REPLICATION как причина не усечения лога.

Ну так что вам мешает проверить репликацию этой базы

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


Glory
Update statistics
Login failed for user 'ThreadUser'

Это текст команды ?


Текст ошибки. Текст команды профайлером поймать или другой способ?
18 фев 13, 12:02    [13941732]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Glory
Member

Откуда:
Сообщений: 104751
Update statistics
Она в порядке, как и репликации с двух других. Отсюда вопрос, почему для одной из трех баз другое значение столбца.

Вы издеваетесь ?
Если журнал занят непреплицированными транзакциями, то сервер об этом так и сообщает.


Update statistics
Текст ошибки. Текст команды профайлером поймать или другой способ?

Сначала вы утверждали, что ошибка такая
[298] SQLServer Error: 9002, The transaction log for database 'tempdb' is full

теперь говорите, что такая
Login failed for user 'ThreadUser'

Я так понимаю, что вы просто не знаете, что, где и как у вас происходит.
18 фев 13, 12:13    [13941804]     Ответить | Цитировать Сообщить модератору
 Re: Ошибка при Update statistics  [new]
Update statistics
Guest
Glory, спасибо, разобрался. Искренне удивляюсь вашему спокойствию и желанию отвечать на такие вот неподготовленные вопросы.
18 фев 13, 12:28    [13941909]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить