Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
Есть линканутый сервер. С конкретной БД этого сервера надо доставать @@DBTS.

Через оупенроусет нехочется, т.к. надо хардкодить логины/пароли.
Черех процку/функцию нельзя, т.к. закрыт вызов удаленных процедур.

Хотелось бы через оупенквери, но там непонятно как указать КОНКРЕТНУЮ базу данных.

Есть ли какие варианты?
19 май 17, 14:36    [20496606]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36693
use [КонкретнаяБаза];select @@dbts


Сообщение было отредактировано: 19 май 17, 14:40
19 май 17, 14:40    [20496620]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
А какие права нужны на такую свистопляску? Мне оно тут пишет что либо нет столбца(а он есть), либо нет прав.
19 май 17, 14:50    [20496668]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда: Moscow
Сообщений: 36693
use [КонкретнаяБаза];select @@dbts as столбец
19 май 17, 14:52    [20496674]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
Поясню
  select * from  OPENQUERY (SomeSrv, 'SELECT @@DBTS') a
работает. Но это запрос к master

Но

  select * from  OPENQUERY (SomeSrv, 'USE master; SELECT @@DBTS') a
уже не работает.


The OLE DB provider "SQLNCLI11" for linked server "DBS25V" indicates that either the object has no columns or the current user does not have permissions on that object.
19 май 17, 14:54    [20496691]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
Гавриленко Сергей Алексеевич,

нет, тоже самое.
19 май 17, 14:55    [20496694]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Руслан Дамирович
Member

Откуда: Резиновая нерезиновая
Сообщений: 940
EXEC () AT [SomeServ]
тоже не помогает?
19 май 17, 15:10    [20496762]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
tunknown
Member

Откуда:
Сообщений: 748
Cammomile
Есть линканутый сервер. С конкретной БД этого сервера надо доставать @@DBTS.

Хотелось бы через оупенквери, но там непонятно как указать КОНКРЕТНУЮ базу данных.

неизвестно какие нужны на это права. Если нужна любая база, то обернуть на вызывающей стороне в динамический sql
select * from openquery([...],'exec tempdb..sp_executesql N''select db_name()''')


или каждый раз создавать новый linked server с указанием базы имея права
19 май 17, 15:10    [20496764]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
invm
Member

Откуда: Москва
Сообщений: 9122
Cammomile
Но

  select * from  OPENQUERY (SomeSrv, 'USE master; SELECT @@DBTS') a

уже не работает.
select * from  OPENQUERY (SomeSrv, 'exec master.sys.sp_executesql N''SELECT @@DBTS''') a
19 май 17, 15:11    [20496771]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Cammomile
Member

Откуда:
Сообщений: 1212
Вах, inmv, как обычно, красавчик! Спасибо, коллега.
19 май 17, 15:20    [20496786]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3459
Cammomile
Вах, inmv, как обычно, красавчик! Спасибо, коллега.


1. invm - красавчег*2
2. а как это?
"Черех процку/функцию нельзя, т.к. закрыт вызов удаленных процедур. "
19 май 17, 15:32    [20496828]     Ответить | Цитировать Сообщить модератору
 Re: Как достать @@переменная для конкретной ДБ через OPENQUERY?  [new]
o-o
Guest
Ролг Хупин
2. а как это?
"Черех процку/функцию нельзя, т.к. закрыт вызов удаленных процедур. "

это когда RPC out на линкеде False
19 май 17, 15:52    [20496893]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить