Сбой олицетворения учетной записи пользователя в 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