Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Проблема с tempdb  [new]
Сергей Жильцов
Member

Откуда:
Сообщений: 10
MS SQL 2000.
Не могу просмотреть текущую активность сервера (error 1222), а также список таблиц базы tempdb (зависает Enterprise Manager).
В чем проблема?
5 фев 03, 14:26    [122412]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Error 1222 - Lock request time out period exceeded.

Тоже по началу мучался с просмотром активности сервера. Пришлось в утилиту администрирования включить дополнительный грид с набором из следующего запроса:
SELECT P.spid,

blocked = NULLIF(P.blocked, 0),
loginame = UPPER(P.loginame),
dbname = DB_NAME(P.dbid),
P.status,
open_tran = NULLIF(P.open_tran, 0),
application = UPPER(program_name),
command = P.cmd,
waittime = NULLIF(P.waittime, 0),
P.hostname,
P.last_batch,
P.login_time
FROM master..sysprocesses P
ORDER BY loginame


Теперь проблем нет
5 фев 03, 14:42    [122431]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
Сергей Жильцов
Member

Откуда:
Сообщений: 10
Спасибо за ответ.
Но все-таки в чем причина того, что нельзя посмотреть список таблиц в tempdb?
5 фев 03, 14:50    [122438]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
А какие таблицы ты хочешь там увидеть!?

Если ты о временных таблицах, то в EM ты их никогда не увидиш, так как EM заполняет лист на основе следущего запроса:
select 

s1 = o.name, s2 = user_name(o.uid),
o.crdate,o.id,
N'SystemObj' = (case when (OBJECTPROPERTY(o.id, N'IsMSShipped')=1) then 1 else OBJECTPROPERTY(o.id, N'IsSystemTable') end),
o.category, 0, ObjectProperty(o.id, N'TableHasActiveFulltextIndex'), ObjectProperty(o.id, N'TableFulltextCatalogId'),
N'FakeTable' = (case when (OBJECTPROPERTY(o.id, N'tableisfake')=1) then 1 else 0 end),
(case when (OBJECTPROPERTY(o.id, N'IsQuotedIdentOn')=1) then 1 else 0 end),
(case when (OBJECTPROPERTY(o.id, N'IsAnsiNullsOn')=1) then 1 else 0 end)
from dbo.sysobjects o, dbo.sysindexes i
where OBJECTPROPERTY(o.id, N'IsTable') = 1 and i.id = o.id and i.indid < 2 and o.name not like N'#%'

в который временные таблицы и не попадут, так как
... o.name not like N'#%'...
5 фев 03, 15:01    [122452]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
MarchCat
Member

Откуда: Из Сибири.
Сообщений: 1411
В Тмп смотреть незачем - порочный путь!!!!! На самом деле тебе это не надо!
Приведи пример для чего это тебе надо!!!!!!!!!!!!!!!!
5 фев 03, 15:18    [122473]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
Сергей Жильцов
Member

Откуда:
Сообщений: 10
Странно, а на другом сервере у меня EM показвает таблицы tempdb.
Сам факт того, что EM зависает при попытке посмотреть таблицы уже настораживает... Это ненормальное поведение!
5 фев 03, 15:34    [122495]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
MarchCat
Member

Откуда: Из Сибири.
Сообщений: 1411
это сетом отключается.
5 фев 03, 15:36    [122497]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
Сергей Жильцов
Member

Откуда:
Сообщений: 10
Что-то никак не могу найти как это включется/отключается сетом...
5 фев 03, 16:15    [122568]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
Glory
Member

Откуда:
Сообщений: 104760
Сам факт того, что EM зависает при попытке посмотреть таблицы уже настораживает... Это ненормальное поведение!
Ненормальным это поведение было бы, если бы EM зависал без сообщения об ошибке.
А так он вам прямо говорит - Error 1222 - Lock request time out period exceeded. Т.е. запрос на получение списка объектов базы выполняется дольше того предела, который был запрограммирован создателями EM.
5 фев 03, 23:55    [122939]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
Сергей Жильцов
Member

Откуда:
Сообщений: 10
Вы не поняли.
EM зависает при попытке просмотра таблиц tempdb без сообщения об ошибке.
Error 1222 возникает при попытке просмотра текущей активвности.
Вопрос пока остается открытым.
6 фев 03, 10:02    [123071]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74925
Ну глянь, что твориться на сервере, то!!!

Ткни в EM в ветку дерева Tables БД tempdb, а в QA запусти тот запрос, который я рисовал в первом своем посте. Попробуй, может твой процесс чем-то или кем-то блокируется, тогда в поле blocked будет номер блокирующего процесса. Так же можешь глянуть на поля status и waittime для своего процесса. Может чего накопаешь.

Удачи.
6 фев 03, 10:17    [123085]     Ответить | Цитировать Сообщить модератору
 Re: Проблема с tempdb  [new]
Сергей Жильцов
Member

Откуда:
Сообщений: 10
Спасибо!
Кажется я разобрался с проблемой.
Действительно, была блокировка другим процессом.
Тема закрыта
6 фев 03, 10:42    [123116]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить