2009-08-05 14 views
31

スクリプトを使用してSQL Serverレプリケーションを作成しています。私はWindows NTグループユーザーに関する情報を取得できませんでした

The job failed. Unable to determine if the owner (STAR\moorer7) of job L3BPT2M-Atlas-14 has server access (reason: Could not obtain information about Windows NT group/user 'STAR\moorer7', error code 0x5. [SQLSTATE 42000] (Error 15404)).

を実行しようとするとこれは、レプリケーションを定義するスクリプトによって作成されたジョブです。

これはどのようにデバッグできますか?

+2

私は仕事のプロパティの所有者を 'sa'に変更してから問題を解決しました。 – Alex

+2

Heh。あなたはこれを7年前に尋ねましたが、今日も私のような人々を助けています。 – PowerUser

+0

誰かがなぜ仕事やメンテナンス計画のオーナーがADにあり、SQLボックスの管理者がこのエラーを起こすのかを教えてもらえますか?何かを実行するには、いつもsaアカウントに戻る必要があります。 –

答えて

33

Active Directoryは、SQL Agentへのアクセスを拒否しています。エージェントは、STARドメインコントローラによって認識されるアカウントで実行されている必要があります。

+1

@Remus Rusanu:MyWorkstation \ SqlServerAccountというローカルマシンアカウントでエージェントが実行されています –

+8

@Raj:実際にADに接続しているSQL Server自体であるため、SQLが実行されているアカウントを変更する必要があります。ドメインアカウントやNETWORK SERVICEアカウント(マシンがドメインに参加している場合)のように、ADが認証するアカウントである必要があります。 SSMSまたはEMには、サービスアカウントを変更するオプションがあります。 –

+2

+1私のdba(数時間保存)と話をしないようにするために+1 – DancesWithBamboo

5

仮想マシンのテスト環境でも同様のエラーが発生しました。テンプレートからVMを複製するためにマシン名が変更された場合、このエラーが発生することがあります。

コンピュータ名がOLDからNEWに変更された場合。

msdb.dbo.sp_sqlagent_has_server_access @login_name = 'OLD\Administrator' 

このいずれかを使用します:私は推測15404

select text from sys.messages where message_id = 15404; 
Could not obtain information about Windows NT group/user '%ls', error code %#lx. 

が正しいか、このSQLエラーを与える

EXECUTE master.dbo.xp_logininfo 'OLD\Administrator' 

、下

ジョブは、このストアドプロシージャを使用しています状況。 VMクローニング/展開プロセスにスクリプトを追加して、SQLログインを再作成しました。

3

私のケースでは、SQL Server 2008 R2のIS_ROLEMEMBER()関数を使用しようとするとこのエラーが発生していました。この関数は、以前のSQL Server 2012

の代わりに私が

select 1 
from sys.database_principals u 
inner join sys.database_role_members ur 
    on u.principal_id = ur.member_principal_id 
inner join sys.database_principals r 
    on ur.role_principal_id = r.principal_id 
where r.name = @role_name 
and u.name = @username 

はかなり多くの冗長使用して終了し、この関数に有効ではありませんが、それは仕事を取得します。

1

ただこの問題を解決しました。私の場合は、両方のDNSサーバーがGoogle DNSであったため、ドメインコントローラにアクセスできませんでした。

私はこの問題のためのチェックリストを追加します。

  • チェックドメインコントローラは、私が実行されるドメインログインによって引き起こされることが判明し、同じ問題を、持っていた
1

アクセス可能ですSQLサービスがADでロックアウトされています。ロックアウトは、間違ったパスワードを持つ別の目的のためにサービスアカウントが無関係に使用されたために発生しました。

SQLエージェントログから受け取ったエラーには、認証されなかったユーザー(ジョブ所有者)の名前(ADで確認するためにサービスアカウントを使用しているため)のみが記載されています。

1

DBを正常に展開するために、パブリッシュスクリプト用にVPNに接続する必要がありました。私にとって

8

、仕事は私がsaに失敗した各ジョブの所有者を変更DOMAIN \ Administratorの下で実行し、この問題を解決するには、エラーメッセージ"The job failed. Unable to determine if the owner (DOMAIN\administrator) of job Agent history clean up: distribution has server access (reason: Could not obtain information about Windows NT group/user 'DOMAIN\administrator', error code 0x5. [SQLSTATE 42000] (Error 15404)).で失敗していました。それ以来、完璧に働いていました。ジョブはレプリケーションのクリーンアップに関連していましたが、手動で追加されたのかレプリケーションのセットアップの一部として追加されたのかは分かりません。私はそれに関与していませんでした。

関連する問題