powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как выловить что в системе использует БД?
7 сообщений из 7, страница 1 из 1
Как выловить что в системе использует БД?
    #39965732
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всем привет.
В системе есть БД, с одной пустой таблицей, триггеров на таблице нет, есть пара процедур и функций. Настроил профайлер на эту БД, никакой активности не вижу (скрин настроек профайлера о вложении), но при детаче базы я получаю ошибку в сервисе:

Код: sql
1.
[PostCollectorRegularCollectedPost_5]: BaseRepository: Rerty:4, Query:[dbo].[PostSaveWithBodyBulk_v5_20200407], SqlParams:ParamName:@postSaveWithBodyBulkTable, ParamValue:, ExceptionMessage:Message:'Database 'ID' is already open and can only have one user at a time.'



Смотрю код этой хранимки PostSaveWithBodyBulk_v5_20200407 , но в коде не вижу отсылок к этой БД.

Подскажите, возможно можно более детально настроить профайлер или другие способы выяснить, в каком месте используется эта БД.

Данная БД является устаревшей, нужно выявить все зависимости и удалить данную БД.
...
Рейтинг: 0 / 0
Как выловить что в системе использует БД?
    #39965770
Penner
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Как выловить что в системе использует БД?
    #39965777
Fox Malder
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
teCa,

Код: sql
1.
2.
3.
4.
select schema_name(o.schema_id) as Схема, object_name(m.object_id) as Объект
from sys.sql_modules m
     inner join sys.objects o on o.object_id = m.object_id
where m.definition like '%имя_вашей_бд%
...
Рейтинг: 0 / 0
Как выловить что в системе использует БД?
    #39965785
teCa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Fox Malder
teCa,

Код: sql
1.
2.
3.
4.
select schema_name(o.schema_id) as Схема, object_name(m.object_id) as Объект
from sys.sql_modules m
     inner join sys.objects o on o.object_id = m.object_id
where m.definition like '%имя_вашей_бд%



Дело в том, что имя базы 'ID', пробую вариации '%ID.dbo%' или '%ID.%' - получаю пустой результат.
...
Рейтинг: 0 / 0
Как выловить что в системе использует БД?
    #39965790
Владислав Колосов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
teCa,

Вам надо смотреть - кто подключен к базе, а не что выполняется. У вас ошибка монопольного доступа. База находится в Single User режиме.
...
Рейтинг: 0 / 0
Как выловить что в системе использует БД?
    #39965797
godsql
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
teCa,

1. вообще-то, имя базы "ID", а не "ID."
2. Посмотри "Монитор активности" - "Процессы"
3. Если сервер неважен, то останови его и переименуй файлы базы ID, а потом, после старта, поищи в логах какое приложение дает ошибку обращения к базе :)
...
Рейтинг: 0 / 0
Как выловить что в системе использует БД?
    #39965799
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
godsql,

автор3. Если сервер неважен, то останови его и переименуй файлы базы ID, а потом, после старта, поищи в логах какое приложение дает ошибку обращения к базе :)

а в другое место перенсти сервер разве не нужно? а то как то маловато действий для переименования.

авторно при детаче базы я получаю ошибку в сервисе:
в момент отключения что ли?

ps ну и вариант с дефолтной базой пользователя под которым это выполняется
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Как выловить что в системе использует БД?
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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