Этот баннер — требование Роскомнадзора для исполнения 152 ФЗ.
«На сайте осуществляется обработка файлов cookie, необходимых для работы сайта, а также для анализа использования сайта и улучшения предоставляемых сервисов с использованием метрической программы Яндекс.Метрика. Продолжая использовать сайт, вы даёте согласие с использованием данных технологий».
Политика конфиденциальности
|
|
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Как определить ID базы, к которой применяется команда восстановления полного/дифф/лога? Следующая команда даёт "почти" желаемое, но приходится имя базы вычитывать из столбца "query" вручную, а столбец database_id выдает = 1 (master) Пожалуйста, не предлагайте парзить столбец "query" на имя базы. Код: sql 1. 2. 3. 4. 5. 6. 7. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 15:39 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Никак, кроме того, как вам не предлагать. Ну еще в extended events может что есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 15:43 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, спасибо за идею. Сажется, с (примерно) таким запросом можно что то получить: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 16:45 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Alexander Us, в sys.databases разве не указан статус базы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 17:25 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Будет проблематично выяснить, какой процесс какую ресторит базу, если одновременно запущено более одного процесса рестора. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 17:32 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей Алексеевич, я думаю, что lock на базу будет держать единственный SPID, хотя и не проверял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 18:03 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
А разве select database_id from sys.dm_exec_requests where command='BACKUP DATABASE' это не покажет? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 18:36 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
teCa, select database_id,DB_NAME (database_id) as [NAME] from sys.dm_exec_requests Разве не этот результат необходим? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 18:40 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
teCa, Вы пробовали читать хотя бы первый пост темы до конца? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 18:51 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Владислав Колосов, Если восстанавливается база с опцией "NORECOVERY", то её статус будет RESTORING, как во премя восстановления, так и после его окончания. С идеей Сергейя Алексеевича, думаю, можно допилить приведённый мной запрос. Если что то получится, выложу. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 30.09.2019, 19:36 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Всем спасибо. Получается как то так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. SPIDtypedatabase_idDatabaseNameTextDatapercent_completeTimeRemaining63RESTORE DATABASE16myDBrestore database [myDB] from disk = 'X:\myDB_backup.full' with norecovery запятая stats=139.720:51:52 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 10:11 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Гавриленко Сергей АлексеевичteCa, Вы пробовали читать хотя бы первый пост темы до конца? Если вы про то, что если в случае command in ('BACKUP DATABASE','RESTORE DATABASE'), database_id всегда равно 1, то об этом можно догадаться только из вашего замечания. И то, я до сиз пор не уверен, правильно ли я его понял. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 10:47 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Alexander UsПолучается как то такНенадежно и муторно. Надежней и проще - sys.dm_tran_locks. На восстанавливаемую БД накладывается X. Соответственно это и искать в sys.dm_tran_locks для сессии, выполняющей restore. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 10:47 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Мне интересно - для чего это вообще нужно? Для промышленных систем устанавливают специализированное ПО управления резервным копированием, для домашних и мелкоофисных - избыточно. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 11:41 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
Владислав КолосовМне интересно - для чего это вообще нужно? .... Владислав, остерегайтесь спрашивать некотрых людей о здоровье. Можете получить слишком подробный ответ :)) Для для упрощения миграации кучи баз на другой сервер был сделан свой "пакетный" лог шиппинг. Восстанавливаются логи всех баз, которые не учавствуют в зеркалировании и нативном лог шипинге. При удалении зеркалирования база(ы) автоматически "подхватывается" на "пакетный" лог шиппинг. Для восстановления логов достаточно указать корневой каталог, тул сам находит папку базы и файл лога, с которого можно продолжить восстановление. Но захотелось ещё корректно исключать базы, для которых идёт полное или дифференциальное восстановление, а не отлавливать ошибку. ......................... Специализированное ПО управления резервным копированием (Idera) не прижилось. В принципе, Idera была не виновата, виноват был сетевой накопитель, который инвертировал 1 бит на ~700GB. Но после этого использую нативное резервное копироване на локальный (шифрованный) USB диск с нативной проверкой, затем подсчёт хеш сумм, перенос в хранилище (robocopy), подсчёт хеш сумм там (локальный скрипт), сравнение хеш сумм. С Уважением, Александр ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 12:11 |
|
||
|
Как определить ID базы, к которой применяется команда восстановления?
|
|||
|---|---|---|---|
|
#18+
invmAlexander UsПолучается как то такНенадежно и муторно. Надежней и проще - sys.dm_tran_locks. На восстанавливаемую БД накладывается X. Соответственно это и искать в sys.dm_tran_locks для сессии, выполняющей restore. Спасибо. Теперь так: Код: sql 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 01.10.2019, 15:56 |
|
||
|
|

start [/forum/topic.php?fid=46&fpage=87&tid=1687210]: |
0ms |
get settings: |
6ms |
get forum list: |
14ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
29ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
39ms |
get tp. blocked users: |
1ms |
| others: | 216ms |
| total: | 322ms |

| 0 / 0 |
