Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Переменная окружения для соединения (ms sql 2008)  [new]
Andrewshkovskii
Member

Откуда:
Сообщений: 40
Есть следующая ситуация :
Есть 1 Пользователь БД и много пользователей приложения. Все действия с базой через приложение осуществляются от одного пользователя БД.
Есть для MS SQL 2008 решение, позволяющее определить для каждого соединение уникальное значение какой-то , допустим, системной переменной? Т.е. передать туда (в переменную) ID пользователя приложения, что бы оно (ID) было доступно в триггерах для данного соединения?
18 июл 11, 17:18    [10990825]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
Konst_One
Member

Откуда:
Сообщений: 11625
как организовано соединение с сервером? виндовая авторизация или sql ? если виндовая, то посмотрите в контексте текущего соединения:
SYSTEM_USER
SUSER_SNAME()
18 июл 11, 17:31    [10990917]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
Andrewshkovskii
Member

Откуда:
Сообщений: 40
Konst_One,

через строку соединения подключение настраивается :
"DRIVER={SQL Server};Server=%s;Database=%s;User id = %s ;Password: %s ;Trusted_Connection=False"
18 июл 11, 17:50    [10991050]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
Glory
Member

Откуда:
Сообщений: 104751
Andrewshkovskii

через строку соединения подключение настраивается :
"DRIVER={SQL Server};Server=%s;Database=%s;User id = %s ;Password: %s ;Trusted_Connection=False"

И наверное у всех коннектов User id = %s ;Password: %s одинаковые ?
18 июл 11, 17:52    [10991060]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
Konst_One
Member

Откуда:
Сообщений: 11625
Andrewshkovskii
Konst_One,

через строку соединения подключение настраивается :
"DRIVER={SQL Server};Server=%s;Database=%s;User id = %s ;Password: %s ;Trusted_Connection=False"


1c? сочувствую
18 июл 11, 17:53    [10991063]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
А вы уверены, что нет пулинга и пользователи всегда к базе ходят через один и тот же коннект? Если не так, то хоть обзадавайтесь уникальным значением для каждого коннекта, не выйдет ничего.
18 июл 11, 18:01    [10991104]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
Andrewshkovskii
Member

Откуда:
Сообщений: 40
Glory
Andrewshkovskii
через строку соединения подключение настраивается :
"DRIVER={SQL Server};Server=%s;Database=%s;User id = %s ;Password: %s ;Trusted_Connection=False"

И наверное у всех коннектов User id = %s ;Password: %s одинаковые ?

Да, одинаковые.
Konst_One,

нет, не 1С.
Гавриленко Сергей Алексеевич,
Извините, а можно по-подробнее? Каким уникальным значением коннекта?
18 июл 11, 18:38    [10991278]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
Andrewshkovskii
Есть для MS SQL 2008 решение, позволяющее определить для каждого соединение уникальное значение какой-то , допустим, системной переменной?
SET CONTEXT_INFO
18 июл 11, 18:54    [10991348]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
AndreiSQL
Member

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

Нет, пула коннектов нет, там виндовое приложение напрямую к БД коннектится.
Приложение запускают много сотрудников(порядка 300, каждый на своем компе) под каждого создавать пользователя БД и раздавать ему привелегии, мне кажется, слишком заморочено(да и лицензия не позволяет). По этому приложение(не зависимо от сотрудника) коннектится к БД под пользователем "X"(используется sql авторизация), после чего у сотрудника запрашивается логин/пароль и по ним ищется его id в таблице Employees. Вот этот id и надо как-то прикрепить к коннекту, что бы триггера собирающие историю изменения данных понимали, какой сотрудник делает изменения.
18 июл 11, 19:10    [10991430]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
AndreiSQL
Member

Откуда: Москва
Сообщений: 64
alexeyvg,

спасибо, SET CONTEXT_INFO то что надо.
18 июл 11, 19:17    [10991458]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Andrewshkovskii
Приложение запускают много сотрудников(порядка 300, каждый на своем компе) под каждого создавать пользователя БД и раздавать ему привелегии, мне кажется, слишком заморочено
Да и на сервере их потом отличить одного от другого как два пальца об асфальт. Одни профиты кругом. И зачем вообще придумали более одного логина на сервер?..
Andrewshkovskii
(да и лицензия не позволяет).
А вы, типа, думаете, количество пользователе по количеству логинов, что ли, считается?

Сообщение было отредактировано: 18 июл 11, 19:21
18 июл 11, 19:20    [10991476]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
Ken@t
Member

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

Нет, пула коннектов нет, там виндовое приложение напрямую к БД коннектится.
Приложение запускают много сотрудников(порядка 300, каждый на своем компе) под каждого создавать пользователя БД и раздавать ему привелегии, мне кажется, слишком заморочено(да и лицензия не позволяет). По этому приложение(не зависимо от сотрудника) коннектится к БД под пользователем "X"(используется sql авторизация), после чего у сотрудника запрашивается логин/пароль и по ним ищется его id в таблице Employees. Вот этот id и надо как-то прикрепить к коннекту, что бы триггера собирающие историю изменения данных понимали, какой сотрудник делает изменения.


Давненько такого не слышал, hellcome/
18 июл 11, 19:46    [10991584]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
AndreiSQL
Приложение запускают много сотрудников(порядка 300, каждый на своем компе) под каждого создавать пользователя БД и раздавать ему привелегии, мне кажется, слишком заморочено
Это да, но ещё более удобно использовать Windows-авторизацию и руление правами через группы и роли.

Это удобнее и для админов, и тем более для пользователей
Вы не представляете, как ругают пользователи разработчиков тех десятков программ, которые запрашивают логин с паролем, заставляют его менять, запрещают паст/копи и т.д.
Понятно, чтобы уменьшить потери для бизнеса, люди заводят один логин для отдела для всех программ и вывешивают его на стену.
AndreiSQL
да и лицензия не позволяет
Ответственно заявляю - любая лицензия на сиквел позволяет создавать неограниченное количество коннектов под неограниченным количеством логинов.

Дешевле такие вещи узнавать до начала разработки :-)
18 июл 11, 20:00    [10991649]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
AndreiSQL
Member

Откуда: Москва
Сообщений: 64
alexeyvg
Ответственно заявляю - любая лицензия на сиквел позволяет создавать неограниченное количество коннектов под неограниченным количеством логинов.


http://www.microsoft.com/sqlserver/2008/ru/ru/licensing.aspx (2-ой вариант лицензирования SQL Server):
"2. Лицензирование в модели «сервер-CAL». Требуется лицензия для каждого сервера, а также клиентская лицензия для каждого пользователя или устройства, которые будут использовать SQL Server."
19 июл 11, 10:50    [10993230]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
AndreiSQL
alexeyvg
Ответственно заявляю - любая лицензия на сиквел позволяет создавать неограниченное количество коннектов под неограниченным количеством логинов.


http://www.microsoft.com/sqlserver/2008/ru/ru/licensing.aspx (2-ой вариант лицензирования SQL Server):
"2. Лицензирование в модели «сервер-CAL». Требуется лицензия для каждого сервера, а также клиентская лицензия для каждого пользователя или устройства, которые будут использовать SQL Server."
Ага, я про то же и говорю.

Про объекты в памяти сервера в лицензионном соглашении ничего не говорится. Только про людей (физических, из мяса) или устройства (железяки, настоящие, с весом и размерами).
19 июл 11, 10:55    [10993271]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
AndreiSQL
Member

Откуда: Москва
Сообщений: 64
alexeyvg
AndreiSQL
пропущено...

http://www.microsoft.com/sqlserver/2008/ru/ru/licensing.aspx (2-ой вариант лицензирования SQL Server):
"2. Лицензирование в модели «сервер-CAL». Требуется лицензия для каждого сервера, а также клиентская лицензия для каждого пользователя или устройства, которые будут использовать SQL Server."
Ага, я про то же и говорю.

Про объекты в памяти сервера в лицензионном соглашении ничего не говорится. Только про людей (физических, из мяса) или устройства (железяки, настоящие, с весом и размерами).

То есть логинов можно сколько хочешь создавать?
Я почему-то думал, что под пользователем и подразумевается логин.
И это что, для каждого сотрудника (300 чел-к), в этой схеме лицензирования, отдельная лицензия нужна (даже если все под одним логином сидят)?
19 июл 11, 11:11    [10993404]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
alexeyvg
Member

Откуда: Moscow
Сообщений: 31985
AndreiSQL
То есть логинов можно сколько хочешь создавать?
Да, и коннектов сколько хочешь.
AndreiSQL
И это что, для каждого сотрудника (300 чел-к), в этой схеме лицензирования, отдельная лицензия нужна (даже если все под одним логином сидят)?
Разумеется. Или покупать процессорные лицензии.
19 июл 11, 11:14    [10993436]     Ответить | Цитировать Сообщить модератору
 Re: Переменная окружения для соединения (ms sql 2008)  [new]
AndreiSQL
Member

Откуда: Москва
Сообщений: 64
alexeyvg,

спасибо за инфу
19 июл 11, 11:18    [10993475]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить