Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Platí pro: SQL Server
Azure SQL Database
Azure SQL Managed Instance
Azure Synapse Analytics
Analytics Platform System (PDW)
SQL analytics endpoint v Microsoft Fabric
Sklad ve službě Microsoft Fabric
SQL databáze v Microsoft Fabric
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. Správci můžou 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 získává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ů a přejděte na Sestavy>vlastních sestav. V dialogovém okně Otevřít soubor najděte složku, která obsahuje
.rdlsoubory, a poté 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 Sestavy>Vlastní sestavy a 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 nezamýšlenému spuštění škodlivého kódu, nelze Management Studio nakonfigurovat tak, aby automaticky spouštělo sestavu, i když je systém souborů nakonfigurován tak, aby přidružoval
.rdlsoubory k Management Studio. Sestavy nelze programaticky spustit v nástroji Management Studio a nelze je spustit z příkazového řádku prostřednictvím Management Studio.Vlastní sestavy můžete spouštět v kontextu, který negeneruje 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.
Do seznamu standardních sestav nemůžete přidat vlastní sestavu.
Kód, který je zpracován zprávou, může ovlivnit výkon serveru.
Vlastní sestavy nepodporují podsestavy.
Text příkazu každého dotazu v sestavě nesmí být určen pomocí výrazu.
Jakýkoli parametr dotazu, který se používá v příkazu (dotazu), může odkazovat pouze na jeden parametr sestavy a nemůže používat žádné operátory výrazů.
Pro příkazy sestavy (dotazy) jsou podporovány pouze typy příkazů Text a Uložená procedura.
Architektura sestav neposkytuje pro dotazy žádné parametry. 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 v reportu. 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.