У меня есть скрипт sql, запускаемый установщиком, чтобы определить, является ли текущий пользователь системным администратором в подключенной базе данных. По какой-то причине указание имени пользователя приводит к сбою скрипта.
Я не могу сейчас изменить скрипт, поэтому я хотел бы знать, что может вызвать такое поведение, у скрипта не было проблем с другими машинами. Скрипт запускается на SQL Server 2012 Express.
Вот скрипт:
SELECT IS_SRVROLEMEMBER('sysadmin'),IS_SRVROLEMEMBER('sysadmin','domain\user')
Скрипт вернет 1 и 0 соответственно. Я хотел бы знать, почему вторая часть сценария возвращает 0.
Заранее спасибо!
ОБНОВЛЕНИЕ Когда я запускаю этот сценарий, я вошел в систему как домен \ пользователь, поэтому они должны либо вернуть 0, либо 1. Не 1 и 0
ОБНОВЛЕНИЕ 2
Кажется, что служба сервера sql не может получить доступ к контроллеру домена. При запросе локального пользователя запрос возвращает оба значения 1.
Мой новый вопрос: почему служба сервера SQL не сможет связаться с контроллером домена для запроса IS_SRVROLEMEMBER, когда я могу войти на сервер SQL как пользователь домена.