2016-04-14 11 views
0

ローカルのシステムアカウントを使用してWindows WCFサービスを実行しており、SMOを使用してSQL Serverインスタンスに接続しようとしているサービス内からドメインユーザーアカウントを使用しています。SQL 2016で偽装されたユーザーアカウントが失敗するSM

、以下に示すコードは正常に動作します私は、SQL Server 2014 SDKからSMOを使用していますが、私は、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サービスを実行するならば、以下のコードは/任意の例外を持つOワット正常に動作します。

SQL 2016 SMOバイナリは、指定されたユーザーアカウントを偽装することはできません。

よろしく

アシシュは

+0

エラーは、Windowsアカウントを偽装する代わりに、現在のコンピュータアカウントが使用されていたことを意味します。ユーザーのアカウント名は 'MVA \ Administrator'ですか?このフォームを使用しようとしましたか? –

+0

はい、ユーザーアカウント名はMVA \ Administratorです。私もこのアカウントに接続してみましたが、「ユーザー名またはパスワードが間違っています」という例外が表示されています。 –

答えて

0

上記のコードでは、SQL 2016 RC3のリリースに期待通りに仕事を始めました。 私は、SQL2016 CTP3.2に、ユーザーアカウントを偽装する際にこのエラーの原因となったバグがあったと思います。

〜Ashish

関連する問題