ローカルにインストールされたSQL Server Expressを使用してSharePoint 2010を実行しているWindows 2012 Serverがあります。残念ながら、現在、ログは「ターゲットキューでメッセージをエンキュー中に例外が発生しました。エラー:15404、状態:19. Windows NTグループ/ユーザー 'DOMAIN\user'、エラーコード0x5に関する情報を取得できませんでした」そのようなメッセージは毎秒20になります!
(...「ドメイン\ユーザー」はたまたま私の個人アカウントです。)
権限が欠落している実行中のジョブはありますか? 「Qoute from https://serverfault.com/questions/277551/mssqlserver-exception-occurred-while-enqueueing-a-message-in-the-target-queue-e 」を変更してみてくださいジョブのプロパティで、saアカウントへのジョブの所有者。 "私が正しい場合、SQLサーバーのエクスプレスバージョンはジョブを実行できませんか?またはADへのアクセスを必要とする誰か/何かがいますか?なぜそのアカウントが必要ですか?アカウントに関する情報を毎秒20回取得するには?
このタスクに関する多くのブログとヒントを見つけましたが、解決策がわかりません。 「これを修復するには、SAアカウントの1つとしてログインし、それを必要とするアカウントに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チームの助けを借りて this post を見つけました。それが役に立てば幸い。
私はこれが長いことを知っていますが、最近同じ問題に遭遇しました。これを解決するためにとったステップは以下の通りです:
データベースを右クリックして、プロパティを選択します
[ページを選択]の下の[ファイル]をクリックします
右側のペインのデータベース名のすぐ下にある所有者の下で、所有者としてsaを選択します。
これで問題が解決します。
これが役立つことを願っています
私の場合、データベースの所有者はドメインアカウントDomain\Meでした。
エラーメッセージは
エラー:15404、状態:19。WindowsNTグループ/ユーザー「Domain\MyAccount」に関する情報を取得できませんでした
問題は、データベースがドメインアカウントの処理方法を認識していないことでした。したがって、論理的なことは、代わりにローカルアカウントを使用することでした。
データベースの所有者を変更しようとしましたが、まだ正しく動作しませんでした。
最終的に、データベース全体を削除して再作成し、所有者がSAであることを確認しました
また、設定でブローカーを有効に設定しました
事はこの後魔法的に働き始めました
私の場合、Windows Serverのホスト名を変更した直後、sql Server Agentのスケジュールされたジョブからこのエラーが発生しました。 sp_dropserverとsp_addserverも実行しました。データベースの所有者は、Windowsユーザーではなく「sa」です。
WindowsユーザーNEWHOSTNAME\usernameとしてSQLにログインできました(ホスト名を変更した後、SIDが変更されないため、自動的に機能したのはなぜですか?)。
ただし、SQLの[セキュリティ/ログイン]ノードで、OLDHOSTNAME\usernameとして定義されたSQLログインがありました。 Windows Integratedの代わりに「sa」を使用してSQLに接続し、古いログインを削除し、NEWHOSTNAME\usernameで新しいログインを作成しました。
エラーが消えました。
ドメインログインが認識されないという同じ問題がありました。私がしたことは、SQL Server構成マネージャーに移動して、ローカルサービスではなくネットワークサービスとしてサービスを開始することだけでした。その後、SQLサーバー/エージェントは、ジョブのADログインを認識できました。
すべてのデータベースの一括更新を行うには、このスクリプトを実行してからその出力を実行します。
SELECT 'ALTER AUTHORIZATION ON DATABASE::' + QUOTENAME(name) + ' TO [sa];'
from sys.databases
where name not in ('master', 'model', 'tempdb')