ローカルのシステムアカウントを使用して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バイナリは、指定されたユーザーアカウントを偽装することはできません。
よろしく
アシシュは
エラーは、Windowsアカウントを偽装する代わりに、現在のコンピュータアカウントが使用されていたことを意味します。ユーザーのアカウント名は 'MVA \ Administrator'ですか?このフォームを使用しようとしましたか? –
はい、ユーザーアカウント名はMVA \ Administratorです。私もこのアカウントに接続してみましたが、「ユーザー名またはパスワードが間違っています」という例外が表示されています。 –