異常な SQL サービス アカウント - ログオン失敗のためサービスが開始されませんでした

異常な SQL サービス アカウント - ログオン失敗のためサービスが開始されませんでした

これはクレイジーですので、ご容赦ください。これは間違ったパスワードではありません。

認証されない SQL サービス アカウントがあります。私は経験豊富なサーバー担当者で、知識豊富な同僚数名 (Cisco 指向であっても) と基本的な操作をすべて試しました。

シナリオ:

  1. 3 つのサイトにそれぞれ 2 つの DC と 1 つのルート DC を持つ Active Directory (Server 2008 R2)
  2. DNS の問題はなく、サイトのレプリケーションは正確です。アカウントの変更は数秒以内に行われます。
  3. 新しく構築された SQL 2016 R2 は、Server 2008 R2 上の SQL 2005 も存在する OU に存在するドメイン上の 2 台の Server 2012 R2 サーバーに展開されています。
  4. すべての SQL サーバーは独自の VLAN 上にあり、DC は別の VLAN 上にあります。ただし、VLAN 間の Cisco 契約により ESX クラスターでホストされているサードパーティであるため、ログを確認することはできません。
  5. SQL 2005 サーバーは、他の VLAN 上の DC との認証に問題はありません。

確立された AD SQL サービス アカウントを新しい SQL サーバーに設定すると、エラー 1069: ログオンに失敗したためサービスが開始されませんでした。

DC (アカウントを認証している 2 つのうちのいずれか) のイベント ログ内のイベントには、次の内容が記録されます。

Kerberos 事前認証に失敗しました。アカ​​ウント情報: セキュリティ ID: DOMAIN\sqlsvcaccount$ アカウント名: sqlsvcaccount$ (実際のアカウント名ではありません) サービス情報: サービス名: krbtgt/DOMAIN (もちろんドメイン名ではありません) ネットワーク情報: クライアント アドレス: ::ffff:10.30.xx (IPv4 アドレス) クライアント ポート: 49464 追加情報: チケット オプション: 0x40810010 失敗コード: 0x18 事前認証タイプ: 2

証明書情報: 証明書発行者名:
証明書シリアル番号:
証明書の拇印:

0x18 は通常は悪いパスワードですが、前述のように、アカウントは問題なく、無効になった場合は再度有効にして、パスワードをリセットするなどします。新しい SQL サーバー上のアプリケーションで RunAs を実行でき、正常に動作します。

サービスなどのサービス アカウント権限を許可するようにコンピューター グループ ポリシーを設定し、gpresult を実行して GPO が適用されていることを確認しました。

ファイルとディレクトリをバックアップする DOMAIN\sqlsvcaccount$ バッチジョブとしてログオンする DOMAIN\sqlsvcaccount$ サービスとしてログオンする DOMAIN\sqlsvcaccount$

制限されたコンピュータ GPO があり、ドメイン アカウントをローカル管理者として設定していた場合 (これにより、サービス GPO の必要性がなくなる)。

継承がブロックされたサービス アカウントの新しいユーザー OU を作成し、そこにサービス アカウントを移動し、再度 gpupdate /force を実行して gpresult を再度 html に実行したところ、すべて正常に見えます。

また、作業の合間に何度か再起動するなど、いつもどおりです。

Wireshark を実行しましたが、何も問題は表示されず、SQL サーバーを DC と同じ VLAN に移動しました。前述のように、DB VLAN 上の SQL 2005 サーバーでは認証に問題はありません。

最後に、新しいコンピューター OU を作成し、ポリシーの継承をブロックして、このすべてを再度試しましたが、SQL Server またはエージェント サービスを起動しようとしても、まだうまくいきません。

必要に応じてサービスを編集するための SQL 管理ツールや、Windows Services.msc も試しました。

最後に調べたのは、暗号と、Server 2012 が RC4 を使用して認証を試み、暗号を無効にしているかどうかです。ただし、これについてはまだあまり調べていません。

それで、何が起こっているのか誰か分かる人はいませんか?どんなフィードバックでも、または私が試すことができる別の手段でも、よろしくお願いします。

答えを知っている人には、仮想のビールの木箱が贈られます。

答え1

管理されたサービス アカウント(MSA) でこの問題が解決しました。Server 2012 AD は gMSA を使用しているため、少し困惑しました。

AD (詳細オプション付き) の Novacroft の下には、Managed Service Accounts と呼ばれる OU があります。Powershell で作成された MSA はそこにあります。

サービス アカウントをインストールするには、次の手順を実行します。

  1. Powershell を使用してアカウント ($ なし) を作成します。
  2. 次に、再度 Powershell を使用して、アカウントをサーバーに関連付けます。
  3. 移行先サーバーで、Powershell と AD モジュールを機能と AD ツールの下にインストールします。.NET 3.5 もインストールします。
  4. Powershell 内の宛先サーバー上で、アカウントをホストにインポートします。
  5. 次に、サービスを設定し (最後に $ を追加する必要があります)、パスワードは空白のままにします。

簡単でいいですね(やり方がわかれば)?クレジット:NedPyle [MSFT] 全文ここ これが誰かの役に立つことを願います:-)

関連情報