冒充用户帐户在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二进制文件不能模拟给定的用户帐户。
问候
阿希什
答
上面提到的代码开始预期在SQL 2016 RC3发布工作。 我想在SQL 2016 CTP3.2中存在一个错误,在模拟用户帐户时导致了这个错误。
〜Ashish
此错误表示不是模拟Windows帐户,而是使用当前的计算机帐户。用户的帐户名称是“MVA \ Administrator”吗?你有没有试过使用这种形式? –
是的用户帐户名称是MVA \ Administrator。我试图通过连接这个帐户,但我收到一个例外,说“用户名或密码不正确”。 –