0

SSMS でレポートを作成して、オブジェクトをクリックしてレポートを選択し、データ ソース (自分が見ているサーバー自体ではない) にクエリを実行して、そのオブジェクトに関する情報を返すことができるようにしたいと考えています。

私が見たすべての SSMS レポートでは、空のデータ ソース ( Data Source=.) が使用されているため、クリックしたデータベース/サーバー/オブジェクトに対して SSMS が実行されます。履歴情報を別のサーバーに保存しています。

私はそれが可能であることを知っています。http://sqlbg.wordpress.com/2011/03/06/how-to-create-custom-reports-for-sql-server-management-studio/によると、6 つのパラメーターが渡されます。データ ソースに対してクエリを実行し、理想的にはこれら 6 つのパラメーターをリポジトリ データ ソースの SP に渡したいと考えています。

上記のリンクのコードを取得して RDL を作成し、プロジェクトにインポートしました (SSDT と BIDS 2005 の両方、同じ問題)。プレビュー モードで動作し、レポートの埋め込みデータソースからデータセットを返しますが、SSMS で RDL を開くと、「無効なオブジェクト名 "mytablename"」が表示されます (ここで、mytablename はクエリ内のテーブルの名前です)。 . データ ソースを適切に使用していないようです. プロファイラはこれを確認します - その時点でサーバーへのログインはありません.

SSDT および BIDS 2005 (8.0.50727.4039、Microsoft Visual Studio 2005 Tools for Applications) で問題を再現しました。

どうもありがとう!

4

1 に答える 1

0

実際に何を使用していても、SSMS はクリックしている SQL Server のみをデータ ソースとして使用するようです。これはおそらくセキュリティのためですが、クロスサーバー レポートがより困難になります。

これを回避するために、読み取り権限のみを持つ特定のユーザーを使用して、リンク サーバー (RPC OUT オン、照合互換性 = true) を作成しました。

SSMS で機能するクロスサーバー レポートを知っている人がいたら教えてください。

于 2012-10-17T22:22:49.133 に答える