powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Были ли обращения к таблицам
30 сообщений из 30, показаны все 2 страниц
Были ли обращения к таблицам
    #39817227
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день.

Есть две базы с 200+ таблицами. Есть пожелания от разработки - узнать какие таблицы используются, а какие остатки древних времён. То есть через 2 месяца посмотреть и увидеть: "так эти 10 таблиц никому нужны не были удаляем".
Select + Update + Delete.
Варианты на конкретные таблицы видел через триггеры, аудит. Но там на конкретные таблицы, а на 200+ не особо удобно, плюс нужны и просто чтения данных.

Представляется что-то похожее на доп.таблицу со списком всем таблиц и полем 0\1, где значение меняется на 1, если таблица встретилась в запросе. Но тут нужно включаться проверку всего кода и скорее всего триггер. Решение кажется каким-то корявым.

Кто-то сталкивался с похожей задачей и более адекватным решением?
Заранее спасибо за ответ!
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817228
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817236
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самый лучший совет, как всегда внизу статьи:
One suggestion is to rename the table with something like an underscore before actually dropping the table. This way if the table is needed you can rename the table back. If ... in a month or so ... still see no usage then you can probably drop the table.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817241
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

На изменение, из статьи можно получить что-то вроде:

Код: sql
1.
2.
3.
4.
5.
use [DWH_Load]
select name, object_id, type_desc, modify_date from
sys.all_objects
where type = 'U'
order by modify_date desc


Но опять же не включает чтения.

В его основном варианте обращение к динамическим таблицам. А при перезапуске же они обнуляются. На этом хосте не только СУБД и ночные рестарты бывают.

Да, вариант отключить\переименовать всегда актуален:)
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817243
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanionKonst_One,

На изменение, из статьи можно получить что-то вроде:

Код: sql
1.
2.
3.
4.
5.
use [DWH_Load]
select name, object_id, type_desc, modify_date from
sys.all_objects
where type = 'U'
order by modify_date desc


Но опять же не включает чтения.

В его основном варианте обращение к динамическим таблицам. А при перезапуске же они обнуляются. На этом хосте не только СУБД и ночные рестарты бывают.

Да, вариант отключить\переименовать всегда актуален:)
день смеха прям...
это совсем не тот дроид modify_date что вы ищите
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817245
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

Кстати, да. Это дата изменения таблицы как объекта, включая пастеризованный индекс, а не данных в таблице.
Но даже будь это изменение данных в таблице, не включает нужное.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817246
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion,

авторпастеризованный индекс
ды вы издеваетесь
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817247
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ТС, прочитай внимательно ту статейку, обрати внимание на представление sys.dm_db_index_usage_stats
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817252
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

Это автозамена издевается:) Кривое написание кластеризованного изменило на пастеризованный

Обратил, общее со всеми динамическими:
При запуске службы SQL Server (MSSQLSERVER) счетчики сбрасываются в нуль. Кроме того, когда база данных отсоединяется или останавливается (например, если аргументу AUTO_CLOSE присвоено значение ON), из представления удаляются все строки, связанные с этой базой данных.

Если сервер хотя бы месяц без рестарта проработает, то можно применить.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817253
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanionTaPaK,

Это автозамена издевается:) Кривое написание кластеризованного изменило на пастеризованный

Обратил, общее со всеми динамическими:
При запуске службы SQL Server (MSSQLSERVER) счетчики сбрасываются в нуль. Кроме того, когда база данных отсоединяется или останавливается (например, если аргументу AUTO_CLOSE присвоено значение ON), из представления удаляются все строки, связанные с этой базой данных.

Если сервер хотя бы месяц без рестарта проработает, то можно применить.
сохранять результаты вера не позволяет?
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817255
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Самое правильное решение - ничего не делать.
Ибо непонятно - а зачем?!
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817260
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

Какие результаты? Насколько я вижу, скрипт выдаёт таблицы по которым с момента перезапуска не использовался индекс.
Например, сейчас мне показывает 180+ таблиц. Это что значит, что они не нужны? Нет, это значит только то, что индексы по ним не использовались с ночного перезапуска.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817263
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanionTaPaK,

Какие результаты? Насколько я вижу, скрипт выдаёт таблицы по которым с момента перезапуска не использовался индекс.
Например, сейчас мне показывает 180+ таблиц. Это что значит, что они не нужны? Нет, это значит только то, что индексы по ним не использовались с ночного перезапуска.
какой скрипт, чего показывает? как сохранять, какие результаты... позовите взрослых если решили что-то удалять
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817267
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
TaPaK,

От Вас в данной теме не увидел ни одного предложения. Только смех над опечаткой и попытки обосновать чужой вариант, по которому я признаю возможность использования в целом, но указал минусы при частом рестарте сервера.
Хватит флудить, если нет адекватных вариантов, то ингорируйте тему.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817268
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion,

автор вариант, по которому я признаю возможность использования в целом, но указал минусы при частом рестарте сервера.
вы в состоянии сохранять результаты предложенного варианта что бы не терять результаты при частом рестарте сервера? что вам ещё надо?
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817269
Гавриленко Сергей Алексеевич
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Кстати, "ночной рестарт" выглядит странным в наши дни.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817271
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
auto_close вообще дичь
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817274
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanionНо там на конкретные таблицыАудит можно настроить на схему целиком.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817278
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Konst_One,

auto_close и не включен, это просто был один из пунктов с docs.microsoft.com.

По периодическим ночным рестартам - сервер аналитиков, там кроме СУБД ещё куча всего. Рестартуют весь хост. Вынос СУБД на отдельный сервер планируется.

Вариант с получением нужной инфы из скрипта из статьи действительно есть. Пожалуй, действительно попробую гибрид с моим вариантом с отметкой тех таблиц, по которым был использован индекс как нужные.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817288
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Danion,

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

Мало того, что ты хочешь удалить таблицы, которые не твои, ты еще и крупным вредительством занимаешься.
Обожаю таких админов - на них можно всех собак повесить.

трустори- Почему годовая отчетность в ЦБ не сдана вовремя? Нас оштрафовали на миллионы и почти лишили лицензии!
- Это не мы, это админ Danion без согласования дропнул таблицы, нужные для расчета балансов! На восстановление ушло 2 месяца!
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817292
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Руслан ДамировичDanion,

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

Мало того, что ты хочешь удалить таблицы, которые не твои, ты еще и крупным вредительством занимаешься.
Обожаю таких админов - на них можно всех собак повесить.

трустори- Почему годовая отчетность в ЦБ не сдана вовремя? Нас оштрафовали на миллионы и почти лишили лицензии!
- Это не мы, это админ Danion без согласования дропнул таблицы, нужные для расчета балансов! На восстановление ушло 2 месяца!


Прекрасно! Только админ Danion ничего дропать не будет. А по запросу от аналитиков предоставит им список таблиц в их базах, которые не использовались определенный срок. И они уже сами будут решать, что с ними делать. Совет, что не факт что неиспользуемая пару месяцев таблица им не понадобится через пол-года уже предоставлен.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817309
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanionСовет, что не факт что неиспользуемая пару месяцев таблица им не понадобится через пол-года уже предоставлен.
Тебя это спасет только если дроп таблиц будет оформлен в виде СЗ за подписью всех невиновных.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817320
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iapСамое правильное решение - ничего не делать.
Ибо непонятно - а зачем?!

Если ничего не делать, то многие доработки будут занимать в N раз больше времени, т.к. дорабатываемые таблицы используются во многих сотнях объектах, причем актуальность 90% таких объектов не ясна.

Решал такую задачу таким образом:
- каждые 10 минут делается снимок объектов в кэше;
- собираются зависимости объектов - все места, где он используется, включая SSIS-пакеты;
- анализируются права на объекте;

Соответственно, если объекта нет год в кэше, если объект больше нигде не используется, то переименовывается на удаление. Через месяц переименованный объект копируется в другую базу и удаляется с основной. Таким макаром мы удалили около 7 тысяч неактуальных объектов (несколько Тб) за 5 лет.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817321
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, был случай через 3(!) года после удаления - "ой, нам это очень-очень нужно!"
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817323
Фотография Relic Hunter
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я выбросил на мусор старые газеты/журнала жыны 8-ми летней давности, на что она попросила вернуть их обратно, т.к. еще их не читала, времени не было.КритикДа, был случай через 3(!) года после удаления - "ой, нам это очень-очень нужно!"
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817567
Фотография Megabyte
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
КритикСоответственно, если объекта нет год в кэше, если объект больше нигде не используется, то переименовывается на удаление. Через месяц переименованный объект копируется в другую базу и удаляется с основной. Таким макаром мы удалили около 7 тысяч неактуальных объектов (несколько Тб) за 5 лет.
Я в одной(самой большой по кол-ву таблиц) базе из 6400 таблиц удалил последовательно пачками около 2700. Тоже сначала переименование, через 2-3 недели удаление. Раза 3-4 был косяк, пока таблица была переименована, возвращал обратно. 1 раз через полгода после удаления спохватились, запустив какой-то древний устаревший отчет. Просто перешли на более актуальный.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817581
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вывод. Перед дропом таблиц лучше сделать бэкап. Проверить его на восстановление в новую базу. Положить с пометкой на видное место. По мере возникновения случаев "ай-вай-вай" возвращать таблицы.
Но опять же возникает вопрос, а зачем, если бэкап тоже место жрет?
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817605
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Критик,

Интересный вариант. Весьма обстоятельный подход к задаче.

В моем случае возможно до самого удаления в принципе не дойдёт. Будет новый сервер, больше места, может и передумают.
Сейчас мало места на диске, планируют переделку, а некуда. При этом по таблице занимающей четверть диска подозревают, что уже не нужна, но без уверенности.

Бекапы перед любым вариантом удаления\переименования естественно нужно делать. И бекап должен лежать не на том же диске\сервере, так что проблема с нехваткой места не затрагивает. А бекап с сжатием положенный на хранение на пару лет занимает не так много ресурсов.

Всем спасибо за ответы.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817642
Руслан Дамирович
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DanionА бекап с сжатием положенный на хранение на пару лет ...
... нужно часто проверять, что он все еще бэкап а не набор битых байтов.
Ты сам себе выроешь могилу.

Объясняй топ-топ менеджерам, что стоимость места хранения в разы меньше стоимости потери информации.
...
Рейтинг: 0 / 0
Были ли обращения к таблицам
    #39817664
Danion
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Руслан Дамирович,

1) Я не являюсь ответственным за систему, работы если и будут проводиться, то этими же ответственными. Оказываю помощь по некоторым вопросам.
2) На этом сервере сами базы не хранят эксклюзивную информацию. Там всегда можно все вытянуть селектами с продуктива. И это позиция самих аналитиков.
3) Не во всех конторах ищут крайнего и делают стрелочника. У нас сначала решается проблема, а вариантов тут выходит много. При этом, если будут вопросы почему вообще этим занимались, то есть официальное обращение на предоставление информации.
...
Рейтинг: 0 / 0
30 сообщений из 30, показаны все 2 страниц
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Были ли обращения к таблицам
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]