Windows NTのグループ/ユーザーに関する情報を取得できませんでした。

Windows 2012 ServerでSharePoint 2010を動作させ、SQL Server Expressをローカルにインストールしています。残念ながら、私のログには "ターゲットキューでメッセージをエンキューしているときに例外が発生しましたというメッセージで溢れかえっています。Error:15404, State:19.Could not obtain information about Windows NT group/user 'DOMAINuser', error code 0x5." It can be 20 such messages every second!

(...and the 'DOMAINuser' happens to be my personal account.)

Qoute from https://serverfault.com/questions/277551/mssqlserver-exception-occurred-while-enqueueing-a-message-in-the-target-queue-e "ジョブのプロパティで、ジョブのオーナーをsaアカウントに変更してみてください。それとも、ADにアクセスしたい誰かがいるのでしょうか?なぜ、そのアカウントは、毎秒20回、私のアカウントに関する情報を取得しようとするのでしょうか?

このタスクに関するブログやヒントはたくさんあるのですが、解決策がよくわかりません。ある人は、「これを解決するには、SAアカウントの1つとしてログインし、SAアクセスを必要とするアカウントにSAアクセスを許可してください」と言います。

誰かの役に立つといいのですが。

私の場合、saはDBのオーナーではなく、私でした。sa` 権限を必要とする CLR 設定を実行しようとすると、このようなエラーが発生しました。

解決策

USE MyDB 
GO 
ALTER DATABASE MyDB set TRUSTWORTHY ON; 
GO 
EXEC dbo.sp_changedbowner @loginame = N'sa', @map = false 
GO 
sp_configure 'show advanced options', 1; 
GO 
RECONFIGURE; 
GO 
sp_configure 'clr enabled', 1; 
GO 
RECONFIGURE; 
GO

職場のdbチームからのヘルプと[この記事][]を使って答えを見つけました。お役に立てれば幸いです。

解説 (6)

私の場合、データベースの所有者はドメインアカウントであるdomainMeでした。

エラーメッセージは

Error:15404, State:19.Windows NTに関する情報を取得できませんでした。 group/user 'DomainMyAccount'

問題は、データベースがドメインアカウントをどう扱えばいいのかわからないことでした - だから論理的には、代わりにローカルアカウントを使うことでした。

データベースの所有者を変更してみましたが、それでも正常に動作しません。

最終的には、データベース全体を削除して再作成し、所有者がSAであることを確認しました。

また、設定でBrokerをEnabledにしました。

この後、魔法のように動作するようになりました。

解説 (2)

私の場合、Windows Serverのホスト名を変更した直後に、sqlのServer Agentscheduled jobからこのエラーが発生しました。sp_dropserverとsp_addserverも実行したことがあります。私のデータベースは、Windowsユーザーではなく、"sa"によって所有されていました。

SQLにはWindowsのNEWHOSTNAMEというユーザーでログインできました(ホスト名を変更してもSIDは変わらないので、自動的に動いたのでしょうか)。

しかし、SQLのSecurity/Loginsノードでは、SQLのログインがOLDHOSTNAMEのユーザ名で定義されていました。Windows Integratedの代わりに"sa"を使ってSQLに接続し、古いログインを削除し、NEWHOSTNAME\usernameで新しいものを作りました。

エラーは消えました。

解説 (0)