実稼働サーバーで実行されているウィンドウ サービスがあります。サービスは、レコードを処理するためにデータベース サーバーに頻繁にアクセスします。毎日、以下のエラーがスローされます。
ユーザー 'S-1-5-21-1482476501-1214440339-839522115-500' メッセージ 18456、レベル 14、状態 1 のログインに失敗しました。
例外でSQLユーザー名ではなく長いユーザー名が表示されているのはなぜだろうか. サーバーサーバーバージョン2012.
実稼働サーバーで実行されているウィンドウ サービスがあります。サービスは、レコードを処理するためにデータベース サーバーに頻繁にアクセスします。毎日、以下のエラーがスローされます。
ユーザー 'S-1-5-21-1482476501-1214440339-839522115-500' メッセージ 18456、レベル 14、状態 1 のログインに失敗しました。
例外でSQLユーザー名ではなく長いユーザー名が表示されているのはなぜだろうか. サーバーサーバーバージョン2012.
他の人がコメントしているように、これはWindows SIDです。同じ問題 (SID からアカウント名を取得しようとしている) があり、翻訳に使用する小さな PoSH スクリプトがあります。
param(
[string] $sid = (Read-Host "Enter a SID")
)
$objSID = New-Object System.Security.Principal.SecurityIdentifier ( $sid )
$objUser = $objSID.Translate( [System.Security.Principal.NTAccount] )
$objUser.Value
私はまったく同じ問題を抱えていましたが、それは含まれているデータベースが原因でした。私の場合の修正は、含まれているユーザー アカウントを使用する代わりに、グローバル ユーザーを作成し、そのユーザーを db_owner としてデータベースに割り当てることでした。
グローバル ユーザーを作成するには、次の手順に従います。
新しいグローバル ログインを作成したら、データベースに接続しているアプリケーションを更新して、新しい資格情報を使用する必要があります。
この特定の問題は、2013 年 7 月 30 日に Microsoft によって確認されました。接続が含まれているユーザーを追加した後、含まれている DB での接続プールでのログインの失敗を参照してください。彼らは「私たちは問題に取り組んでおり、修正は次または将来のサービス パックで行われる予定です」と述べていますが、公平を期すために、SP1 以降の累積的な修正プログラム パッケージを適用していないため、これは既に修正されている可能性があります。