Назад | Перейти на главную страницу

Пользователь не может получить доступ к системному DSN в Windows Server 2008

Мы запускаем наши службы SQL Server, используя учетную запись домена с низким уровнем привилегий. Эта учетная запись НЕ является локальным администратором ОС. Только доступ, который я даю учетной записи пользователя, назначается во время установки SQL: полный контроль над его точками монтирования, а затем все остальное предоставляется установщиком SQL Server 2005/2008.

Мне нужно создать связанный сервер в SQL Server 2008 с источником данных ODBC. Поэтому я подключился к компьютеру, используя свою учетную запись домена, которая является частью группы, у которой ДЕЙСТВИТЕЛЬНО есть права локального администратора в ОС. Я создал системный DSN и настроил его для подключения к другому SQL Server. DSN работает отлично, когда я его тестирую. Однако когда я пытаюсь создать связанный сервер, я получаю сообщение об ошибке.

Мне кажется, что DSN невидим для учетной записи домена, под которой работает SQL Server. Кажется, эта проблема возникает у меня только на серверах Windows 2008. Кто-нибудь знает, нужно ли что-нибудь сделать после создания DSN, чтобы сделать его видимым для доступа других пользователей?

Вы должны явно добавить имя пользователя для входа в Windows (или просто DOMAIN \ Domain Users при использовании AD) в SQL в качестве DBO каждой соответствующей БД. На сервере Win2K3 все, что требовалось для входа в систему с помощью SQL только с DSN, но в Win2K8 одного входа в систему с помощью SQL с использованием только DSN недостаточно. После того, как я добавил логин Windows для данного (ограниченного) пользователя (на самом деле DOMAIN \ Domain Users в моем случае - все они являются ограниченными пользователями) на мой SQL-сервер, каждый пользователь мог затем использовать DSN (настройка с собственным отдельным входом) как всегда было раньше ... Какой это был главный PITA - спасибо за отсутствие примечания, Microshaft !!!!

Убедитесь, что вы создаете 32-битные DSN, когда вам нужно создать 32-битные DSN, а не 64-битные. Существует две версии инструмента ODBC в 64-битной системе. По умолчанию открывается 64-битный. Попробуйте вручную перейти к инструменту C: \ Windows \ SysWOW64 \ odbc32ad.exe и создать там DSN.

Путаница - досадный побочный эффект попытки сохранить обратную совместимость.

Кто-нибудь знает, нужно ли что-нибудь сделать после создания DSN, чтобы сделать его видимым для доступа других пользователей?

Из того, что я читаю в Google, похоже, что такое поведение является результатом UAC. Вы можете отключить UAC на этом конкретном сервере.

Я не уверен, есть ли способ разрешить это, не отключая UAC.