Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Добрый день. Есть две базы с 200+ таблицами. Есть пожелания от разработки - узнать какие таблицы используются, а какие остатки древних времён. То есть через 2 месяца посмотреть и увидеть: "так эти 10 таблиц никому нужны не были удаляем". Select + Update + Delete. Варианты на конкретные таблицы видел через триггеры, аудит. Но там на конкретные таблицы, а на 200+ не особо удобно, плюс нужны и просто чтения данных. Представляется что-то похожее на доп.таблицу со списком всем таблиц и полем 0\1, где значение меняется на 1, если таблица встретилась в запросе. Но тут нужно включаться проверку всего кода и скорее всего триггер. Решение кажется каким-то корявым. Кто-то сталкивался с похожей задачей и более адекватным решением? Заранее спасибо за ответ! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:02 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Самый лучший совет, как всегда внизу статьи: 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:12 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Konst_One, На изменение, из статьи можно получить что-то вроде: Код: sql 1. 2. 3. 4. 5. Но опять же не включает чтения. В его основном варианте обращение к динамическим таблицам. А при перезапуске же они обнуляются. На этом хосте не только СУБД и ночные рестарты бывают. Да, вариант отключить\переименовать всегда актуален:) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:19 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
DanionKonst_One, На изменение, из статьи можно получить что-то вроде: Код: sql 1. 2. 3. 4. 5. Но опять же не включает чтения. В его основном варианте обращение к динамическим таблицам. А при перезапуске же они обнуляются. На этом хосте не только СУБД и ночные рестарты бывают. Да, вариант отключить\переименовать всегда актуален:) день смеха прям... это совсем не тот дроид modify_date что вы ищите ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:21 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
TaPaK, Кстати, да. Это дата изменения таблицы как объекта, включая пастеризованный индекс, а не данных в таблице. Но даже будь это изменение данных в таблице, не включает нужное. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:25 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Danion, авторпастеризованный индекс ды вы издеваетесь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:25 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
ТС, прочитай внимательно ту статейку, обрати внимание на представление sys.dm_db_index_usage_stats ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:26 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
TaPaK, Это автозамена издевается:) Кривое написание кластеризованного изменило на пастеризованный Обратил, общее со всеми динамическими: При запуске службы SQL Server (MSSQLSERVER) счетчики сбрасываются в нуль. Кроме того, когда база данных отсоединяется или останавливается (например, если аргументу AUTO_CLOSE присвоено значение ON), из представления удаляются все строки, связанные с этой базой данных. Если сервер хотя бы месяц без рестарта проработает, то можно применить. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:30 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
DanionTaPaK, Это автозамена издевается:) Кривое написание кластеризованного изменило на пастеризованный Обратил, общее со всеми динамическими: При запуске службы SQL Server (MSSQLSERVER) счетчики сбрасываются в нуль. Кроме того, когда база данных отсоединяется или останавливается (например, если аргументу AUTO_CLOSE присвоено значение ON), из представления удаляются все строки, связанные с этой базой данных. Если сервер хотя бы месяц без рестарта проработает, то можно применить. сохранять результаты вера не позволяет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:30 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Самое правильное решение - ничего не делать. Ибо непонятно - а зачем?! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:33 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
TaPaK, Какие результаты? Насколько я вижу, скрипт выдаёт таблицы по которым с момента перезапуска не использовался индекс. Например, сейчас мне показывает 180+ таблиц. Это что значит, что они не нужны? Нет, это значит только то, что индексы по ним не использовались с ночного перезапуска. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:39 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
DanionTaPaK, Какие результаты? Насколько я вижу, скрипт выдаёт таблицы по которым с момента перезапуска не использовался индекс. Например, сейчас мне показывает 180+ таблиц. Это что значит, что они не нужны? Нет, это значит только то, что индексы по ним не использовались с ночного перезапуска. какой скрипт, чего показывает? как сохранять, какие результаты... позовите взрослых если решили что-то удалять ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:41 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
TaPaK, От Вас в данной теме не увидел ни одного предложения. Только смех над опечаткой и попытки обосновать чужой вариант, по которому я признаю возможность использования в целом, но указал минусы при частом рестарте сервера. Хватит флудить, если нет адекватных вариантов, то ингорируйте тему. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:45 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Danion, автор вариант, по которому я признаю возможность использования в целом, но указал минусы при частом рестарте сервера. вы в состоянии сохранять результаты предложенного варианта что бы не терять результаты при частом рестарте сервера? что вам ещё надо? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:47 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Кстати, "ночной рестарт" выглядит странным в наши дни. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:48 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
auto_close вообще дичь ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:52 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
DanionНо там на конкретные таблицыАудит можно настроить на схему целиком. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 16:59 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Konst_One, auto_close и не включен, это просто был один из пунктов с docs.microsoft.com. По периодическим ночным рестартам - сервер аналитиков, там кроме СУБД ещё куча всего. Рестартуют весь хост. Вынос СУБД на отдельный сервер планируется. Вариант с получением нужной инфы из скрипта из статьи действительно есть. Пожалуй, действительно попробую гибрид с моим вариантом с отметкой тех таблиц, по которым был использован индекс как нужные. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 17:04 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Danion, Т.е. аналитик написал тяжелый запрос, запустил на ночь, а следующим днем будет в носу ковырять в ожидании результатов, потому что ты ночью сервер ребутнул, и он запустил запрос уже утром. Мало того, что ты хочешь удалить таблицы, которые не твои, ты еще и крупным вредительством занимаешься. Обожаю таких админов - на них можно всех собак повесить. трустори- Почему годовая отчетность в ЦБ не сдана вовремя? Нас оштрафовали на миллионы и почти лишили лицензии! - Это не мы, это админ Danion без согласования дропнул таблицы, нужные для расчета балансов! На восстановление ушло 2 месяца! ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 17:39 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Руслан ДамировичDanion, Т.е. аналитик написал тяжелый запрос, запустил на ночь, а следующим днем будет в носу ковырять в ожидании результатов, потому что ты ночью сервер ребутнул, и он запустил запрос уже утром. Мало того, что ты хочешь удалить таблицы, которые не твои, ты еще и крупным вредительством занимаешься. Обожаю таких админов - на них можно всех собак повесить. трустори- Почему годовая отчетность в ЦБ не сдана вовремя? Нас оштрафовали на миллионы и почти лишили лицензии! - Это не мы, это админ Danion без согласования дропнул таблицы, нужные для расчета балансов! На восстановление ушло 2 месяца! Прекрасно! Только админ Danion ничего дропать не будет. А по запросу от аналитиков предоставит им список таблиц в их базах, которые не использовались определенный срок. И они уже сами будут решать, что с ними делать. Совет, что не факт что неиспользуемая пару месяцев таблица им не понадобится через пол-года уже предоставлен. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 17:45 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
DanionСовет, что не факт что неиспользуемая пару месяцев таблица им не понадобится через пол-года уже предоставлен. Тебя это спасет только если дроп таблиц будет оформлен в виде СЗ за подписью всех невиновных. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 18:14 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
iapСамое правильное решение - ничего не делать. Ибо непонятно - а зачем?! Если ничего не делать, то многие доработки будут занимать в N раз больше времени, т.к. дорабатываемые таблицы используются во многих сотнях объектах, причем актуальность 90% таких объектов не ясна. Решал такую задачу таким образом: - каждые 10 минут делается снимок объектов в кэше; - собираются зависимости объектов - все места, где он используется, включая SSIS-пакеты; - анализируются права на объекте; Соответственно, если объекта нет год в кэше, если объект больше нигде не используется, то переименовывается на удаление. Через месяц переименованный объект копируется в другую базу и удаляется с основной. Таким макаром мы удалили около 7 тысяч неактуальных объектов (несколько Тб) за 5 лет. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 18:51 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Да, был случай через 3(!) года после удаления - "ой, нам это очень-очень нужно!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 18:53 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Я выбросил на мусор старые газеты/журнала жыны 8-ми летней давности, на что она попросила вернуть их обратно, т.к. еще их не читала, времени не было.КритикДа, был случай через 3(!) года после удаления - "ой, нам это очень-очень нужно!" ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 23.05.2019, 19:02 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
КритикСоответственно, если объекта нет год в кэше, если объект больше нигде не используется, то переименовывается на удаление. Через месяц переименованный объект копируется в другую базу и удаляется с основной. Таким макаром мы удалили около 7 тысяч неактуальных объектов (несколько Тб) за 5 лет. Я в одной(самой большой по кол-ву таблиц) базе из 6400 таблиц удалил последовательно пачками около 2700. Тоже сначала переименование, через 2-3 недели удаление. Раза 3-4 был косяк, пока таблица была переименована, возвращал обратно. 1 раз через полгода после удаления спохватились, запустив какой-то древний устаревший отчет. Просто перешли на более актуальный. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 10:46 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Вывод. Перед дропом таблиц лучше сделать бэкап. Проверить его на восстановление в новую базу. Положить с пометкой на видное место. По мере возникновения случаев "ай-вай-вай" возвращать таблицы. Но опять же возникает вопрос, а зачем, если бэкап тоже место жрет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 10:54 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Критик, Интересный вариант. Весьма обстоятельный подход к задаче. В моем случае возможно до самого удаления в принципе не дойдёт. Будет новый сервер, больше места, может и передумают. Сейчас мало места на диске, планируют переделку, а некуда. При этом по таблице занимающей четверть диска подозревают, что уже не нужна, но без уверенности. Бекапы перед любым вариантом удаления\переименования естественно нужно делать. И бекап должен лежать не на том же диске\сервере, так что проблема с нехваткой места не затрагивает. А бекап с сжатием положенный на хранение на пару лет занимает не так много ресурсов. Всем спасибо за ответы. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 11:07 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
DanionА бекап с сжатием положенный на хранение на пару лет ... ... нужно часто проверять, что он все еще бэкап а не набор битых байтов. Ты сам себе выроешь могилу. Объясняй топ-топ менеджерам, что стоимость места хранения в разы меньше стоимости потери информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 11:38 |
|
||
|
Были ли обращения к таблицам
|
|||
|---|---|---|---|
|
#18+
Руслан Дамирович, 1) Я не являюсь ответственным за систему, работы если и будут проводиться, то этими же ответственными. Оказываю помощь по некоторым вопросам. 2) На этом сервере сами базы не хранят эксклюзивную информацию. Там всегда можно все вытянуть селектами с продуктива. И это позиция самих аналитиков. 3) Не во всех конторах ищут крайнего и делают стрелочника. У нас сначала решается проблема, а вариантов тут выходит много. При этом, если будут вопросы почему вообще этим занимались, то есть официальное обращение на предоставление информации. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 24.05.2019, 11:59 |
|
||
|
|

start [/forum/topic.php?all=1&fid=46&tid=1687785]: |
0ms |
get settings: |
8ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
78ms |
get topic data: |
9ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 259ms |
| total: | 435ms |

| 0 / 0 |
