データベーステーブルに新しい行が挿入されるたびに、ネットワーク上の特定のプリンタにssrsレポートを自動的に印刷する必要があります。 xp_cmdshellを使用してレポートをレンダリングして印刷するコンソールアプリケーションを呼び出すトリガーがデータベーステーブルにあります。コマンドプロンプトからコンソールアプリケーションを実行すると動作します。また、SQL Serverが管理者として実行されているアカウントを変更すると、xp_cmdshellが正常に動作し、レポートが出力されます。しかし、私はsp_xp_cmdshell_proxy_accountを使用して、プロキシアカウントを設定するので、SQL Serverを管理者として実行したくありません。 SQL Serverがxp_cmdshell asを実行し、SQL Serverをローカルシステムとして実行するように設定するアカウントとして管理者を使用しました。ただし、sysadminではないアカウントでSQL Serverにログインし、xp_cmdshellでコンソールアプリケーションを実行すると、コンソールアプリケーションは次の例外を生成します。SQL Serverエージェントプロキシの下でxp_cmdshellを実行するとコンソールアプリケーションが印刷されない
RPCサーバーは使用できません - ソース:System.Drawing - スタックトレース:atシステムのSystem.Drawing.Printing.PrintController.Print(PrintDocumentドキュメント)のSystem.Windows.Forms.PrintControllerWithStatusDialog.OnStartPrint(PrintDocumentドキュメント、PrintEventArgs e)のSystem.Drawing.Printing.StandardPrintController.OnStartPrint(PrintDocumentドキュメント、PrintEventArgs e) Drawing.Printing.PrintDocument.Print()at PrintQCChecklist.Program.Main(String [] args)
次に、xp_cmdshellでwhoami.exeを呼び出し、「administrator」を返します。 SQL Serverが管理者として実行されているのに、管理者としてプロキシの下で実行中にクラッシュすると、文書が印刷されるのはなぜですか?
ありがとうございます。私は間違いなくこの時点で選択肢を探求することに興味があります。セットアップに時間がかかることはありましたか?レポートは、多かれ少なかれ瞬時に印刷する必要があります。また、どのようなサードパーティの印刷ツールを使用しましたか? – Ryan