«Доступ запрещен» при подключении SSMS к Integration Services


17

Я получаю следующую ошибку при попытке подключить SSMS к службам Integration Services с использованием сетевого имени конкретного кластера SQL Server:

Соединение со службой Integration Services на компьютере «FooDB» завершилось ошибкой: «Доступ запрещен».

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

Это обычная проблема с хорошо документированным решением. Например, посмотрите решения здесь и здесь .

Однако я перепробовал все известные мне решения, и проблема остается.

Более подробно я сделал следующее:

  • Проверено, что у подключающихся пользователей есть разрешения DCOM, перечисленные в статьях, на которые есть ссылки на MsDtsServer100:

    1. Разрешения на запуск и активацию: разрешить локальный запуск, разрешить удаленный запуск, локальную активацию, удаленную активацию

    2. Разрешения на доступ: разрешить локальный доступ, разрешить удаленный доступ

    3. Разрешение конфигурации: разрешить чтение

  • С помощью анализатора пакетов подтвердил, что весь трафик, связанный с подключением, успешно проходит через брандмауэр. Последний пакет, показанный перед разрывом TCP-соединения, является ответом сервера, содержащим код состояния Windows для «Отказано в доступе» внутри заголовка MSRPC.

  • Проверено добавление пользователей в группу «Распределенные пользователи COM» и / или группу локальных администраторов, а затем перезапуск серверов. Это позволило пользователям подключаться к SSIS из SSMS с использованием имен локальных узлов (FooDBN1, FooDBN2), но они по-прежнему получают ошибку «Отказано в доступе» при подключении к имени сети кластера (FooDB), к чему они привыкли к использованию, и что работает на других наших кластерах.

Кроме того, я не нашел, что изменение членства этих групп необходимо в других кластерах.

На других кластерах, которые я проверил, я могу подключить SSMS к SSIS, используя имя кластера без какой-либо нестандартной конфигурации.

Я понимаю, что это может быть более подходящим для ServerFault, и я согласен с вопросом переноса, если это необходимо, но это также проблема SQL Server, и я думаю, что пользователи здесь, скорее всего, уже сталкивались с этим раньше.

Детали платформы:

  • Windows Server 2008 R2 SP1
  • SQL Server 2008 R2 с пакетом обновления 2
  • Двухузловый активно-пассивный кластер с одним экземпляром SQL Server

Может ли кто-нибудь подсказать, на что мне следует смотреть дальше?

Обновление : это таинственно только сегодня начал работать, но только для членов группы локальных администраторов. Насколько я могу судить, ничего не изменилось.


1
Если вы используете группу «Администраторы», вас может укусить маскировка привилегий UAC. Попробуйте создать новую группу или предоставить отдельным пользователям разрешения непосредственно в приложении SSIS DCOM.
db2

Если у вас есть кластер, то пользователи должны подключаться к псевдониму кластера, а не к отдельным машинам. Это так?
Стелег

Да, они должны использовать имя кластера, а не имя отдельного узла. Однако по какой-то причине ошибка возникает только при использовании имени кластера.
Джеймс Л

У нас не включено UAC на клиентах или на сервере, но я собираюсь попробовать предоставить разрешения DCOM отдельным пользователям вместо групп и посмотреть, будет ли это иметь какое-то значение. В настоящее время проблема не имеет никакого смысла для меня.
Джеймс Л

Хорошо, теперь это просто необоснованно начало работать для всех, кто должен иметь доступ на основе разрешений, которые я предоставил несколько недель назад. Я понятия не имею, почему это начало работать только в последние несколько дней. Таким образом, проблема, кажется, решена, но я понятия не имею, почему это началось или почему это прекратилось, когда это произошло. Я предполагаю, что это связано с необъявленными изменениями групповой политики.
Джеймс Л

Ответы:


9

Длинный выстрел возможно, но стоит проверить файл

\ Программные файлы \ Microsoft SQL Server \ 100 \ DTS \ Binn \ MsDtsSrvr.ini

или эквивалент по вашей настройке. Возможно, вам придется вручную редактировать его с именем экземпляра. В противном случае соединения SSIS могут искать msdb экземпляра SQL по умолчанию, который не существует.


1
Спасибо, но я уже установил это. Проголосовал, потому что это стоит упомянуть.
Джеймс Л

0

Эта проблема связана с разрешениями на базовом сервере, а не с SSIS или MSDB. У нас была такая же проблема. Временное добавление учетной записи AD пользователя в группу локальных администраторов исправило это для нас. Добавление своей учетной записи AD в PowerUsers или пользователей не сделал; однако я уверен, что мы могли бы найти то, чего не хватало в Политике локальной безопасности, чтобы это произошло.


Добавление в локальную учетную запись также работает для меня, можете ли вы предположить, что может быть вероятной причиной. Поскольку это не может быть лучшей практикой
Саурабх Синха
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.