冒充用户帐户在SQL 2016 SMO中失败

问题描述:

我正在使用本地系统帐户运行Windows WCF服务,并且在服务中我们尝试使用带域用户帐户的SMO连接到SQL Server实例。冒充用户帐户在SQL 2016 SMO中失败

下面所示的代码工作正常是我使用SMO从SQL Server 2014 SDK,但如果我使用SQL Server 2016 CTP 3.2 SMO那么它抛出一个异常说

用户登录失败{域} {本地计算机名称}

其中我在服务器连接对象中给出域管理员凭据。

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

srvConnectionConn.ConnectAsUser = true; 
srvConnectionConn.ConnectAsUserName = @"[email protected]"; 
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服务,然后下面的代码工作正常W/O有任何异常。

它看起来像SQL 2016 SMO二进制文件不能模拟给定的用户帐户。

问候

阿希什

+0

此错误表示不是模拟Windows帐户,而是使用当前的计算机帐户。用户的帐户名称是“MVA \ Administrator”吗?你有没有试过使用这种形式? –

+0

是的用户帐户名称是MVA \ Administrator。我试图通过连接这个帐户,但我收到一个例外,说“用户名或密码不正确”。 –

上面提到的代码开始预期在SQL 2016 RC3发布工作。 我想在SQL 2016 CTP3.2中存在一个错误,在模拟用户帐户时导致了这个错误。

〜Ashish