Сбой олицетворения учетной записи пользователя в SQL 2016 SMO

Я использую службу Windows WCF, используя локальную системную учетную запись, и внутри службы мы пытаемся подключиться к экземпляру SQL Server, используя SMO с учетной записью пользователя домена.

Приведенный ниже код отлично работает, если я использую SMO из SQL Server 2014 SDK, но если я использую SQL Server 2016 CTP 3.2 SMO, выдается исключение, говорящее, что

Ошибка входа пользователя {домен}{имя локального компьютера}

при этом я дал учетные данные администратора домена в объекте подключения к серверу.

var srvConnectionConn = new ServerConnection("WIN-DVGQDI73QR6");

srvConnectionConn.ConnectAsUser = true;
srvConnectionConn.ConnectAsUserName = @"administrator@mva";
srvConnectionConn.ConnectAsUserPassword = "*****";

srvConnectionConn.ConnectTimeout = 60;
srvConnectionConn.NonPooledConnection = true;

Server srv = new Server(srvConnectionConn);
srv.SetDefaultInitFields(typeof(LogFile), "Name", "FileName");
srv.SetDefaultInitFields(typeof(FileGroup), "Name");
srv.SetDefaultInitFields(typeof(DataFile), "Name", "FileName");

Database db = srv.Databases["DB_H"];
bool bRemote = db.RemoteDataArchieveEnabled;

Примечание: если я запускаю службу Windows через учетную запись администратора домена, а не локальную системную учетную запись, то приведенный ниже код работает без каких-либо исключений.

Похоже, что двоичные файлы SMO для SQL 2016 не могут олицетворять данную учетную запись пользователя.

С уважением

Ashish

1 ответ

Решение

Вышеупомянутый код начал работать, как и ожидалось, в выпуске SQL 2016 RC3. Я предполагаю, что в SQL 2016 CTP3.2 была ошибка, которая вызывала эту ошибку при олицетворении учетной записи пользователя.

~ Ashish

Другие вопросы по тегам