2012-02-16 10 views
1

SQL Server 2008からリンクサーバー経由で電子メールを送信します。 私が使用してリンクサーバーを構成し: -SQLジョブエージェントをリンクサーバーに接続できません

EXEC sp_addlinkedserver N'linkedserver.com',N'SQL Server'; 
EXEC sp_addlinkedsrvlogin 'linkedserver.com', 'false','sa' , 'user', 'Pwd'; 

それは正常にリンク。

EXEC msdb.dbo.sp_send_dbmail 
@profile_name='Profile name', 
@recipients='[email protected]', 
@subject='Test message', 
@body='This is the body of the test message. 
Congrates Database Mail Received By you Successfully.', 
@query = 'select top 10 * from [linkedserver.com].[comm].[dbo].[tbl_mobilereporting] order by visit_date desc' 

素晴らしいです。

NT AUTHORITY\SYSTEM. Error formatting query.probably invalid parameters [SQLSTATE 42000] (Error 22050).The step failed. 

と私は、クエリを解析されたとき、それは、コマンドが正常に解析を示す - を: しかし、私は、SQLサーバー・ジョブエージェントを介してそれを送信しようとしているときに問題があり、それが表示されます。

答えて

2

saのリンクサーバーログインが設定されています。エージェントジョブがsaとして実行されていることを確認するか、正しいローカルログイン用のリンクサーバーログインを追加してください。

この例は、簡略化されたように見え、値が補足されています。その場合は、nvarchar(max)変数にクエリを作成して、@ queryに渡してみてください。 クエリは別のセッションで実行されるため、sp_send_dbmailを呼び出すスクリプトのローカル変数はクエリで使用できません。

sp_send_dbmail (Transact_SQL)

関連する問題