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

Откуда:
Сообщений: 226
Добрый день.
Каждый час работет JOB - проблема в том, что ТОЛЬКО в 2:00 ночи он не отрабатывает - в остальное время завершается успешно. В чем может быть проблема? Таблица существует.


Executing the query "TRUNCATE TABLE 'TABLE' " failed with the following error: "Cannot find the object "'TABLE'" because it does not exist or you do not have permissions."

Заранее благодарен.
27 ноя 19, 13:56    [22026675]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3708
dermama
Добрый день.
Каждый час работет JOB - проблема в том, что ТОЛЬКО в 2:00 ночи он не отрабатывает - в остальное время завершается успешно. В чем может быть проблема? Таблица существует.


Executing the query "TRUNCATE TABLE 'TABLE' " failed with the following error: "Cannot find the object "'TABLE'" because it does not exist or you do not have permissions."

Заранее благодарен.


написано - если права есть (предположим), то значит таблицы нет, например, кто-то (что-то) грохнул её
27 ноя 19, 13:58    [22026679]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
TaPaK
Member

Откуда: Kiev
Сообщений: 6801
какая мучительная жизнь у таблицы, каждый час TRUNCATE, а потом её ещё и прибивают
27 ноя 19, 14:01    [22026682]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3708
TaPaK
какая мучительная жизнь у таблицы, каждый час TRUNCATE, а потом её ещё и прибивают


а кому сейчас легко?
27 ноя 19, 14:03    [22026685]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 769
dermama,

Ну так, решение в лоб, и без вникания в процесс, который явно требует некоторого рефакторинга - попробуйте вначале проверять - существует ли в принципе объект в БД

IF OBJECT_ID('Database.dbo.TABLE') IS NOT NULL
DROP TABLE TABLE


Таким образом - потенциальная ошибка-исключение будет хоть заворачиваться и не будет происходить останова программы
27 ноя 19, 14:36    [22026720]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
msLex
Member

Откуда:
Сообщений: 8091
PsyMisha
dermama,

Ну так, решение в лоб, и без вникания в процесс, который явно требует некоторого рефакторинга - попробуйте вначале проверять - существует ли в принципе объект в БД

IF OBJECT_ID('Database.dbo.TABLE') IS NOT NULL
DROP TABLE TABLE



Таким образом - потенциальная ошибка-исключение будет хоть заворачиваться и не будет происходить останова программы

ТСу просто truncate надо, а вы сразу drop
27 ноя 19, 14:37    [22026722]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 769
msLex,

Нуу, вопрос я впрямь комплексный :)
Если таблица без связей, ключей, индексов и прочего - может ТС действительно проще дропнуть и пересоздать

Ну или затранкейтить, - дроп поменять на него :)
27 ноя 19, 14:40    [22026723]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
dermama
Member

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

Попробовали для начала поэксперементировать с расписанием : поставили запуск на 5 минут раньше - теперь в 1:55 ночи джоб отработал, а в 2:55 нет) Как будто что то эти таблицы использует в интервал между 2 и 3 часами ночи.
28 ноя 19, 10:07    [22027312]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 769
dermama,

Лучше, конечно, процесс пересмотреть, чем лепить сбоку костыли или надеяться, что что-то не пересечется, - туманные условности

Как бы посыл в том, что если ошибку можно перехватить, программно обработать и сделать логику перехода подобных условий - то лучше пойти этим, правильным путем. Сделать ревью всего модуля и все потенциальные точки отказа обернуть одеялком
28 ноя 19, 11:34    [22027428]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3708
dermama
Всем доброе утро.
Спасибо за ответы.

Попробовали для начала поэксперементировать с расписанием : поставили запуск на 5 минут раньше - теперь в 1:55 ночи джоб отработал, а в 2:55 нет) Как будто что то эти таблицы использует в интервал между 2 и 3 часами ночи.


хмм... проследите за админами, что они делают ночью именно в это время.
28 ноя 19, 14:04    [22027665]     Ответить | Цитировать Сообщить модератору
 Re: Truncate table  [new]
PsyMisha
Member

Откуда: другая столица
Сообщений: 769
Ролг Хупин,

Да, но именно делают на уровне внутренних объектов БД, не с серверами операции и не с базами, как с контейнерами
Если у админов, например, бэкапный джоб, - то транкейт таблицы - вполне легитимная операция, которая просто залоггируется в журнал транзакций, и данная операция не является шоустоппером для транкейта.
А вот если они перестраивают индексы/статистику - т.е. непосредственно работа уже с внутренностями - то да, может быть и оно. Как раз, например, в цикле проходит обращение ко всем таблицам, и так совпадает - что коррелирует именно работа с вашей таблицей и именно в ваше технологическое окно работы с ней.
28 ноя 19, 14:41    [22027731]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить