|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
добрый день, Как в ХП узнать БД, из которой ХП была вызвана? Ситуация такая: на отдном инстансе, есть 400 баз данных: Код: sql 1. 2. 3. 4.
из которых вызывается ХП из БД [Common]: Код: sql 1. 2.
внутри этой ХП необходимо узнать, из какой БД она была вызвана. запросы типа Код: sql 1. 2. 3.
возвращают БД [Common], тогда как требуется узнать, что ХП была вызвана из БД [DM_Hospital400]. Код: sql 1.
тоже не помог простейший выход - это добавить параметр в вызов ХП. к сожалению, это невозможно, поскольку ХП вызывается из многих программ, изменить все вызовы невозможно. необходимо узнать БД изнутри ХП. версии MS SQL Server 2016 и 2019 спасибо. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 12:23 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 13:26 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
valv Как в ХП узнать БД, из которой ХП была вызвана? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 13:31 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 13:31 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
Alexander Us нумерация объектов в базах сиквела не сквозная procid = 100 в разных базах указывает на разные процедуры разве что, если с 400 базами работают разные логины, у которых прописана своя default db (одна из тех 400) ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 13:33 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 13:36 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
valv, сохраняйте инфо в session_context или context_info ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 13:36 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
еще можно воспользоваться original_db_name() но только в том случае если вы гарантированно знаете что пользователи не перебегают между базами в процессе своих запросов. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 13:54 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
valv, может и не надо об этом знать? авторХП вызывается из многих программ авторбыла вызвана из БД Вы явно путаетесь в показаниях. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 14:29 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
invm valv Как в ХП узнать БД, из которой ХП была вызвана? Можно ли предложить систему отслеживания, например проставив некий код в начале всех процедур? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 15:16 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
Alexander Us Alexander Us, спасибо большое, вариант с sys.dm_tran_locks.resource_database_id работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 16:15 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
valv вариант с sys.dm_tran_locks.resource_database_id работает. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 20:48 |
|
Как в ХП узнать БД, из которой ХП была вызвана?
|
|||
---|---|---|---|
#18+
valv, получить информацию можно только введя дополнительный параметр. Чтобы не переделывать клиентские приложения, которые напрямую выполняют эту процедуру, укажите параметр как необязательный. В тех базах, процедуры которых выполняют нужную процедуру, то есть "была вызвана из БД", добавьте имя базы в качестве значения. На самом деле ничего не "вызывается из БД", "вызвать" можно "откуда угодно". Процедура выполняется в контексте той базы, в которой находится. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.09.2021, 22:40 |
|
|
start [/forum/topic.php?fid=46&fpage=14&tid=1684276]: |
0ms |
get settings: |
9ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
172ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 15ms |
total: | 277ms |
0 / 0 |