Sdílet prostřednictvím


Vlastní sestavy v Management Studio

platí pro:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

V SQL Server Management Studio zobrazuje mnoho uzlů Průzkumníka objektů sadu standardních sestav vytvořených Microsoftu. Tyto sestavy shrnují obvykle požadované informace o serveru. Od verze SQL Server 2005 (9.x) Service Pack 2 můžou správci spouštět vlastní sestavy vytvořené v nástrojích SQL Server Data Tools (SSDT) ze sady Management Studio.

Implementace

Vlastní sestavy se ukládají jako soubory definice sestavy (.rdl) a vytvářejí se pomocí jazyka RDL (Report Definition Language). RDL obsahuje informace o načítání a rozložení dat pro sestavu ve formátu XML. RDL je otevřené schéma. Vývojáři můžou rozšířit RDL o další atributy a prvky. Sestavy můžou v sestavě spouštět libovolný platný příkaz Transact-SQL.

Pokud je Průzkumník objektů připojený k serveru, mohou se vlastní sestavy spouštět v kontextu aktuálního výběru Průzkumníka objektů, pokud sestavy odkazují na parametry sestavy daného uzlu. To umožňuje sestavě používat aktuální kontext, například aktuální databázi; nebo konzistentní kontext, například určení určené databáze jako součást příkazu Transact-SQL, který je obsažen ve vlastní sestavě.

Spuštění vlastní sestavy

Vlastní sestavu můžete spustit v Management Studiu následujícími způsoby:

  • Klikněte pravým tlačítkem myši na uzel v Průzkumníku objektů, najeďte na Sestavy a levým tlačítkem myši klikněte na Vlastní sestavy. V dialogovém okně Otevřít soubor vyhledejte složku obsahující soubory .rdl a otevřete příslušný soubor sestavy.

  • Klikněte pravým tlačítkem myši na uzel v Průzkumníku objektů, přejděte na příkaz Sestavy, přejděte na příkaz Vlastní sestavya vyberte vlastní sestavu ze seznamu naposledy použitých souborů.

Omezení

Při práci s vlastními sestavami zvažte následující omezení:

  • Aby se zabránilo neúmyslnému spuštění škodlivého kódu, nelze Management Studio nakonfigurovat tak, aby automaticky spustilo report, i když je systém souborů nakonfigurovaný tak, aby přidružil soubory .rdl k aplikaci Management Studio. Sestavy nelze v sadě Management Studio spouštět prostřednictvím kódu programu a nelze je spustit z příkazového řádku prostřednictvím aplikace Management Studio.

  • Vlastní sestavy můžete spouštět v kontextu, ve kterém nejsou generovány očekávané hodnoty. Můžete například spustit sestavu o replikaci v kontextu databáze, která není součástí replikace, nebo spustit sestavu jako uživatel, který nemá oprávnění k přístupu k informacím potřebným k vygenerování přesné sestavy. Tvůrce sestavy zodpovídá za platnost struktury sestavy a jejího kontextu.

  • Nelze přidat vlastní sestavu do seznamu standardních sestav.

  • Kód, který je zpracován zprávou, může ovlivnit výkon serveru.

  • Vlastní sestavy nebudou podporovat podsestavy.

  • Text příkazu každého dotazu v sestavě nesmí být určen pomocí výrazu.

  • Jakýkoli parametr dotazu použitý v příkazu (dotazu) může odkazovat pouze na jeden parametr sestavy a nemůže použít žádné operátory výrazu.

  • Pro příkazy sestavy (dotazy) jsou podporovány pouze typy příkazů Text a Uložená procedura.

  • Rámec sestav neposkytuje žádné escapování parametrů pro dotazy. Autoři dotazů musí zajistit, aby jejich dotazy byly bez útoků prostřednictvím injektáže SQL.

Správa vlastních sestav

Doporučujeme uživatelům, kteří mají mnoho vlastních sestav, aby je uspořádali pomocí složek systému souborů s příslušnými oprávněními systému souborů NTFS.

Dovolení

Vlastní sestavy se spouštějí pomocí oprávnění aktuálního uživatele. Aby uživatel se zlými úmysly nemohl měnit dotazy spuštěné sestavou, musí být oprávnění ke složce systému souborů, která obsahuje soubory sestavy, nastavena tak, aby omezovala přístup.

Uživatel i účet používaný službou SQL Server vyžadují přístup pro čtení ke složce systému souborů, která obsahuje soubory sestav.

Do sestavy lze vložit libovolný platný příkaz rozhraní .NET Framework, ale příkaz se nespustí.

Opatrnost

Jakýkoli platný příkaz Transact-SQL lze vložit a spustit ze sestavy. Spuštění sestavy v rámci vysoce privilegovaného uživatelského účtu umožňuje, aby se kterékoliv z těchto vložených instrukcí mohly spustit bez výzvy.

Viz také

Přidat vlastní sestavu do Management Studio
Zrušit potlačení upozornění na spuštění vlastní sestavy
používat vlastní sestavy s vlastnostmi uzlu Průzkumníka objektů