Странное поведение с помощью группы Active Directory, отображенной на пользователе SQL Server / вход в систему

Для Вашей текущей сессии?

select host_name from gv$instance where instance_number=userenv('instance');

Для всех сессий:

select i.host_name, s.username from 
  gv$session s join
  gv$instance i on (i.inst_id=s.inst_id)
where 
  username is not null;
1
задан 7 August 2013 в 17:45
2 ответа

Оказывается, это не совсем вопрос «разрешений», несмотря на сообщение об ошибке, которое я получал.

Короче говоря, пользователь SQL-сервера, связанный с Группа Windows не имеет схемы по умолчанию, и ее невозможно настроить. Это ограничение SQL Server 2008R2 (и, вероятно, более ранних версий), которое было исправлено в SQL Server 2012.

Таким образом, запрос приложения пытался создать свою tmpTable в схеме, в которой у него не было разрешений. Причина, по которой это сработало, когда я создал пользователя SQL Server, подключенного к одному пользователю Windows, заключается в том, что в этом случае он назначил схему по умолчанию «dbo», которая была правильной схемой. У пользователя было разрешение писать туда, и все работало.

В конце концов, тогда единственным решением для меня было создание отдельных пользователей SQL Server и логинов, подключенных к отдельным учетным записям Windows. Это постоянная проблема обслуживания, но, похоже, она неизбежна с этой версией SQL Server.

3
ответ дан 3 December 2019 в 17:48

Я почти уверен, что проблема в том, что учетная запись службы (вы сказали, что она работает как «СЕТЕВАЯ СЛУЖБА») не имеет необходимых учетных данных для поиска членов группы домена. Если пользователь домена проверяется ОС как действительно DOMAIN \ user, SQL Server доверяет этому, но если SQL Server должен проверить, действительно ли DOMAIN \ groupmember является членом DOMAIN \ group, это не удастся, потому что учетная запись службы не ' У меня есть необходимые разрешения для просмотра этой информации. Таким образом, член группы может войти в систему, потому что ОС говорит, что это нормально, но когда она позже проверяет разрешения на объекты, поиск не выполняется.

Попробуйте запустить службу SQL от имени пользователя домена / учетной записи службы домена и посмотрите, поможет ли это.

1
ответ дан 3 December 2019 в 17:48

Теги

Похожие вопросы