| Начало » Использование СУБД » Microsoft SQL Server » Не хочет работать Linked Server с PostgreSQL (Вообще не хочет) Переход к форуму:
	| 
		
			| Не хочет работать Linked Server с PostgreSQL [сообщение #5610] | Thu, 24 October 2024 11:21  |  
			| 
				
				
					|  DaniilGray Сообщений: 19
 Зарегистрирован: October 2024
 | Junior Member |  |  |  
	| Дано: MS SQL Server (в домене Windows) и Postgresql на Linux. К Postgresql из Windows подключение через учётки домена Windows с использованием Kerberos (на самом Postgre учётки занесены в группу krb_users).
 На сервере, где стоит MS SQL Server, установлены odbc-драйвера Postgresql, и создан системный источник данных.
 Далее - на Windows-сервере, где стоит MS SQL Server, через удалённый рабочий стол запускаю Management Studio, подключаюсь к MS SQL Server и:
 1) На основе системного источника данных в MS SQL Server создаю Linked Server к Postgresql;
 2) добавляю в разделе безопасность Linked Server-а юзера с олицетворением (свою windows-учётку);
 3) запускаю запрос к Linked Server-у - всё работает.
 4) отключаю удалённый рабочий стол.
 
 На рабочей машине запускаю Management Studio под той же учёткой, что и на Windows-сервере, подключаюсь к MS SQL Server, запускаю тот же запрос, что и во время подключения к windows-серверу через удалённый рабочий стол, и получаю ошибку:
 В пакете безопасности отсутствуют учетные данные.
 
 И как с этим бороться?
 |  
	|  |  |  
	|  |  
	| 
		
			| Re: Не хочет работать Linked Server с PostgreSQL [сообщение #5660 является ответом на сообщение #5612] | Thu, 31 October 2024 22:13  |  
			| 
				
				
					|  jffulcrum Сообщений: 10
 Зарегистрирован: September 2024
 | Junior Member |  |  |  
	| Пока у вас сеанс на самом Windows сервере с SQL - данные токена берутся на самом деле от сеанса, а не от того, что вы там в management studio вбили. Вы сеанс закрыли - и токен пропал. Вам надо одно из двух: 1. Предоставить доступ на Linux для учетной записи, под которой работает служба SQL Server. Обычно это локальная учетка службы, то есть доступ предоставляется учетной записи компьютера в домене
 2. Делегировать учетной записи учетной записи, под которой работает служба SQL Server (учетной записи этого компьютера в общем случае) права на представление выбранной учетной записи для подключения к Linux. Тогда служба SQL Server сама сможет, пользуясь сохранёнными данными, получать токен. Делается это в AD.
 
 1а. Есть, конечно, и вариант просто держать нужный сеанс пользователя на сервере. Например, с помощью службы, сделанной через srvany, висеть может хоть cmd.exe - пока процесс в памяти, в памяти будет и токен, и SQL сможет его брать. Не рекомендуется, т.к. при смене пароля или любых атрибутов учетной записи пользователя токен превратится в тыкву и придется возиться со службой снова.
 [Обновления: Thu, 31 October 2024 22:16] Известить модератора |  
	|  |  | 
 
 
 Текущее время: Fri Oct 31 16:11:07 GMT+3 2025 
 Общее время, затраченное на создание страницы: 0.01087 секунд |