2011-06-20 9 views
1

ユーザー名(sAMAccountName)に基づいてユーザーの電子メールアドレスを直接レガシーDBに照会するSQLS 2008R2 DBにスケジュールされたジョブがあります。クエリSQL Server 2008 R2の電子メールアドレスのActive Directory?

私はこれらの2つのシステム間のリンクを断ち切ることができるように、直接ADを照会したいと思いますが、すべてのページに表示される同じアドバイスを試してみると、うまく動作しません。 DCまたはパススルー認証/セキュリティが機能していません。私たちは、すべてのマシンが含まれている単一のドメインでWindows認証を使用しています。データベースはネットワークサービスアカウントとして実行されています。

は以下を見て:

は、私たちのDCの(私たちは、いくつかを持っている)のいずれかが "fredDC" と呼ばれているとしましょうLDAPルートは "DC = fred、DC = com"です。

だから私は、サーバーリンク

EXEC sp_addlinkedserver 'ADSI', 'Active Directory Services 2.5', 'ADSDSOObject', 'adsdatasource' 

その後、私は、クエリを実行してみてください(魔法によって発見ここで、ホスト名のは言及しないが、?):

SELECT sAMAccountName 
FROM OPENQUERY(ADSI, 'SELECT sAMAccountName 
FROM ''LDAP://DC=fred,DC=com'' 
WHERE objectCategory = ''Person'' 
AND objectClass = ''user'' ') 

をし、次のエラーが表示されます。

Msg 7321, Level 16, State 2, Line 1 
An error occurred while preparing the query "SELECT sAMAccountName 
FROM 'LDAP://DC=fred,DC=com' 
WHERE objectCategory = 'Person' 
AND objectClass = 'user' for execution against OLE DB provider "ADSDSOObject" for linked server "ADSI". 

Kerberosのパススルー問題の場合、私はDB Se RVERと私は、エラーメッセージ、するために助言する1件のコメントを除いて便利だった何にグーグルとdidn'tfindmuch同じエラー:(

を得た「リンクサーバー(ADSI)は、リモートアクセスを許可するかどうかを確認してください。」、私はそれがどういう意味か分かりませんか? KBの記事では、ADサーバーで必要とされる他の構成については言及していませんか?

誰でもこれを正しく行う方法を提案できますか?私は何かを明らかにしていないと感じています(たとえば、私はDCホストをどこにも設定していません)が、わかりません...

歓声!

+1

権限エラーのようです。リンクされたサーバー構成の認証設定をどのように定義しましたか?それをドメイン管理者アカウントとして実行し、それが動作するかどうか確認してください。 – WOPR

+1

o_Oは完全に動作します。うわー、ドキュメントがリンクが動作するためにドメイン管理者として作成される必要があると言われたらうれしいです.. GAH! あなたは質問に返信できますか?私はあなたの答えを受け入れるでしょうか? – matao

答えて

2

権限エラーのようです。リンクされたサーバー構成の認証設定をどのように定義しましたか?それをドメイン管理者アカウントとして実行し、それが動作するかどうか確認してください。

関連する問題