| 
			
			 | 
		#1 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
			
			
			Различные пользователи на стороне СУБД
			 
			
			Добрый день. 
		
		
		
		
		
		
		
	Используем СУБД SQL Server 2000, Axapta 3.0, трёхзвенная архитектура. Возможно ли настроить систему так, чтобы АОС для каждого пользователя открывал с сервером БД соединение от имени этого пользователя, а не от bmssa? Возможно ли это реализовать при помощи конфигурационных файлов? Необходим ли в таком случае запуск отдельного АОС под каждый конфигурационный файл, в котором прописывается отдельный Database user id? Какие есть ещё способы реализации?  | 
| 
	
 | 
| 
			
			 | 
		#2 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			аос работает по 1 (или двум) соединениям.  
		
		
		
		
		
		
		
	Соответственно - нельзя.  | 
| 
	
 | 
| 
			
			 | 
		#3 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если для какого-то пользователя будет свой конфигурационный файл, где будет прописан отличный от bmssa Database User ID, приведёт ли это в текущем АОСе к созданию нового соединения с БД? 
		
		
		
		
		
		
		
	Кстати, программно с использованием объекта UserConnection можно открыть новое соединение с сервером БД. Может быть, используя ODBCConnection, можно как-то подменять открытое от имени bmssa соединение на своё, открытое от имени нужного пользователя?  | 
| 
	
 | 
| 
			
			 | 
		#4 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			нельзя. Только подключившись толстым клиентом/двузвенным клиентом
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#5 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			А то, что описано в  статье, тоже относится к двухзвенке? Если да, тогда в силе вопрос о программной подмене/настройке текущего подключения
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#6 | 
| 
			
			 Модератор 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Предположим на секунду, что можно. А зачем ?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	-ТСЯ или -ТЬСЯ ?  | 
| 
	
 | 
| 
			
			 | 
		#7 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			используйте "толстого" клиента в трехзвенке
		 
		
		
		
		
		
		
		
		
			Последний раз редактировалось otkudao; 16.03.2011 в 16:20.  | 
| 
	
 | 
| 
			
			 | 
		#8 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Для того, чтобы на стороне сервера БД можно было бы однозначно идентифицировать пользователя. Это даст удобство при использовании средств мониторинга текущей активности сервера БД (которые функциональнее, чем включенные в Аксапту, да и не требуют запущенной Аксапты на машине администратора и следовательно дополнительной лицензии), к которым можно отнести и Профайлер.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#9 | 
| 
			
			 Модератор 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
 
				__________________ 
		
		
		
		
	-ТСЯ или -ТЬСЯ ?  | 
| 
	
 | 
|
| За это сообщение автора поблагодарили: CDR (1), DSPIC (-2). | |
| 
			
			 | 
		#10 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Наверное, прийти к Васе и спросить, а што это было?
		 
		
		
		
		
		
		
			
				__________________ 
		
		
		
		
	Axapta v.3.0 sp5 kr2  | 
| 
	
 | 
| 
			
			 | 
		#11 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 
			
			Если уж помечтать, то хорошо было бы чтобы в Аксапте был какой-то отладочный режим (включемый и выключаемый динамически), который бы запрещал повторно использовать SPIDs пользователей. Тогда можно было бы посмотреть текущий SPID в Users Online и тупо трассировать SQL Profiler, зная, что при смене контекста транзации, этот SPID не будет назначен какому-то другому пользователю.
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#12 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Сообщение от fed
			 
 
			Если уж помечтать, то хорошо было бы чтобы в Аксапте был какой-то отладочный режим (включемый и выключаемый динамически), который бы запрещал повторно использовать SPIDs пользователей. Тогда можно было бы посмотреть текущий SPID в Users Online и тупо трассировать SQL Profiler, зная, что при смене контекста транзации, этот SPID не будет назначен какому-то другому пользователю. 
		
	Хотя для случае когда несколько человек отладку ведут - это несильно поможет.  | 
| 
	
 | 
| 
			
			 | 
		#13 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Наверное, прийти к Васе и спросить, а што это было?
		
	 
Ещё хорошо было бы сгруппировать затраты процессорного ресурса и количество операций ввода-вывода из трассы по пользователям и выяснить, какой функционал больше нагружает систему и нуждается в оптимизации. Также для задач администрирования (скажем просмотра блокировок) можно было бы не входить в Аксапту (не использовать лицензию), а пользоваться только средствами сервера БД. Т.е. такая возможность была бы весьма полезна. Цитата: 
	
		
			который бы запрещал повторно использовать SPIDs пользователей
		
	 
Но опять-таки, в чём тогда смысл в конфигурационном файле указывать Database User ID, если его процесс может быть передан другому пользователю?  | 
| 
	
 | 
| 
			
			 | 
		#14 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			все-таки мануал читать лишним не бывает
		 
		
		
		
		
		
		
		
	 | 
| 
	
 | 
| 
			
			 | 
		#15 | 
| 
			
			 Участник 
		
			
	 | 
	
	|
| 
	
 | 
| 
			
			 | 
		#16 | 
| 
			
			 Модератор 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
- Руководство администратора в части "толстого" трехуровнего клиента - Help по Query profiler-у аксапты - Если найдете, посмотрите в сторону спрятанного в конфигурационной утилите параметра -allowntauth Цитата: 
	
		
			Предположим, у меня есть трасса, собранная Профайлером. Из трассы я выбираю запросы, требующие больше других ресурсов сервера. Чтобы разобраться, в каком функционале реализованы эти запросы, надо провести расследование
		
	 
				__________________ 
		
		
		
		
	-ТСЯ или -ТЬСЯ ?  | 
| 
	
 | 
| 
			
			 | 
		#18 | 
| 
			
			 Участник 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			в чем разница между User ID и Process ID
		
	 
Т.о. в одном соединении пользователя может быть несколько серверных процессов, объединённых одним UserID. Но один серверный процесс не может относиться к разным соединениям, а следовательно и пользователям. Номера (SPID) процессам, создающимся позже, могут присваиваться из числа уже освободившихся, поэтому одинаковые номера вовсе не свидетельствуют о том, что процесс один и тот же. Т.к. АОС соединяется с сервером БД под одним пользователем, понятно, что в АОСе может храниться несколько соединений от имени этого пользователя, и когда от клиентских приложений в АОС поступают запросы, АОС выбирает объект-команду, ассоциированный с одним из соединений, и используя его отправляет запрос к серверу БД. Поэтому я и предположила, что если с использованием конфигурационного файла открывается соединение от имени указанного в утилите Database User ID, а потом механизм АОСа использует это соединение для выполнения команд другого пользователя Аксапты, то это привело бы к путанице и мне бы не подошло ![]() Возможно, предположение и было ошибочным. Толстый трёхуровневый клиент не подойдёт нам для массового использования. Справку по Профайлеру читала. Параметр -allowntauth буду искать Администрирование Axapta 3.0 - как раз по нему и изучала конфигурационную утилиту. Читала весь от начала до конца, возможно не заметила ссылки, где говорится об использовании параметра Database User ID только для толстых клиентов?  | 
| 
	
 | 
| 
			
			 | 
		#19 | 
| 
			
			 Гость 
		
			
	 | 
	
	
	
		
		
		
		 
			
			там указано, что толстый клиент имеет свое отдельное соединение с базой. 
		
		
		
		
		
		
		
	У тонкого такой возможности нет. И это тоже явно прописано. И, кажется, закладка с Database User ID у него блокируется при переходе 2-узвенный/толстый -> тонкий. Если не блокируется, то увы  .
		 | 
| 
	
 | 
| 
			
			 | 
		#20 | 
| 
			
			 Moderator 
		
			
	 | 
	
	
	
		
		
		
		 Цитата: 
	
		
			Vadik:Зачем? Допустим, в приложении кривой код, который каждый раз инициирует table scan или открывает диалог в транзакции - решение этих проблем как-то зависит от того, кто этот код запустил? Если разноска Васей накладных занимает 80% процессорного времени, надо
		
	 
 | 
| 
	
 | 
| 
	
	 | 
	
		
		
  |