Sdílet prostřednictvím


sys.sql_moduly (Transact-SQL)

Platí pro:SQL ServerAzure SQL DatabaseSpravovaná instance Azure SQLAzure Synapse AnalyticsAnalytics Platform System (PDW)Koncový bod analýzy SQL v Microsoft FabricSklad v Microsoft FabricDatabáze SQL v Microsoft Fabric

Vrátí řádek pro každý objekt, který je jazykem definovaný modul SQL v SQL Serveru, včetně nativně kompilované skalární uživatelem definované funkce. Objekty typu P, , RF, , VTRFNIF, TFa R mají přidružený modul SQL. Samostatné výchozí hodnoty, objekty typu D, mají v tomto zobrazení také definici modulu SQL. Popis těchto typů naleznete ve type sloupci v zobrazení katalogu sys.objects .

Další informace naleznete v tématu Funkce skalárního User-Defined pro In-Memory OLTP.

Název sloupce Datový typ Description
object_id int ID objektu obsahujícího objektu. Je jedinečný v rámci databáze.
definition nvarchar(max) Text SQL, který definuje tento modul. Tuto hodnotu lze získat také pomocí integrované funkce OBJECT_DEFINITION .

NULL = Zašifrováno.
uses_ansi_nulls bit Modul byl vytvořen pomocí SET ANSI_NULLS ON.

Vždy 0 pro pravidla a výchozí hodnoty.
uses_quoted_identifier bit Modul byl vytvořen pomocí SET QUOTED_IDENTIFIER ON.
is_schema_bound bit Modul byl vytvořen s SCHEMABINDING možností.

Vždy obsahuje hodnotu 1 pro nativně zkompilované uložené procedury.
uses_database_collation bit 1= Definice modulu vázaného schématem závisí na výchozí kolaci databáze pro správné vyhodnocení; v opačném případě . 0 Taková závislost brání změně výchozí kolace databáze.
is_recompiled bit Byla vytvořena WITH RECOMPILE možnost postupu.
null_on_null_input bit Modul byl deklarován tak, aby vytvořil NULL výstup pro jakýkoli NULL vstup.
execute_as_principal_id Int ID instančního objektu EXECUTE AS databáze.

NULL ve výchozím nastavení nebo pokud EXECUTE AS CALLER.
ID zadaného objektu zabezpečení, pokud EXECUTE AS SELF nebo EXECUTE AS <principal>.
-2 = EXECUTE AS OWNER.
uses_native_compilation bit 0 = nenativně kompilováno
1 = je nativně kompilován.

Výchozí hodnota je 0.

Platí pro: SQL Server 2014 (12.x) a novější verze.
is_inlineable bit Určuje, jestli se modul dá inlinovat, nebo ne. Inlineability je založená na podmínkách zadaných v požadavcích.

0 = nelze inlinovat
1 = lze inlinovat.

U skalárních uživatelem definovaných funkcí (UDF) je 1 hodnota v případě, že je možné funkci definované uživatelem vyčíst a 0 jinak. Vždy obsahuje hodnotu 1 pro vložené funkce s hodnotami tabulky (TVF) a 0 pro všechny ostatní typy modulů.

platí pro: SQL Server 2019 (15.x) a novější verze.
inline_type bit Označuje, jestli je pro modul aktuálně zapnuté vkládání.
0 = inlining je vypnutý.
1 = inlining je zapnutý.
U skalárních uživatelem definovaných funkcí (UDF) je 1 hodnota zapnutá (explicitně nebo implicitně). Hodnota je vždy 1 určena pro vložené funkce s hodnotami tabulky (TVF) a 0 pro jiné typy modulů.

platí pro: SQL Server 2019 (15.x) a novější verze.

Remarks

Výraz SQL pro DEFAULT omezení, objekt typu D, je nalezen v zobrazení sys.default_constraints katalogu. Výraz SQL pro CHECK omezení, objekt typu C, je nalezen v zobrazení katalogu sys.check_constraints .

Tyto informace jsou popsány také v sys.dm_db_uncontained_entities.

Přejmenování uložené procedury, funkce, zobrazení nebo triggeru nezmění název odpovídajícího objektu ve sloupci sys.sql_modules definice zobrazení katalogu nebo definici vrácenou OBJECT_DEFINITION integrovanou funkcí. Z tohoto důvodu doporučujeme, abyste tyto typy objektů nepřejmenovali.sp_rename Místo toho odstraňte a znovu vytvořte objekt s novým názvem. Další informace najdete v sp_rename.

Permissions

Viditelnost metadat v zobrazeních katalogu je omezena na položky, které uživatel vlastní, nebo na které má uživatel udělené určité oprávnění. Další informace naleznete v kapitole Konfigurace viditelnosti metadat.

Examples

Následující příklad vrátí object_id, název schématu, název objektu, typ objektu a definici každého modulu v aktuální databázi.

SELECT sm.object_id,
       ss.[name] AS [schema],
       o.[name] AS object_name,
       o.[type],
       o.[type_desc],
       sm.[definition]
FROM sys.sql_modules AS sm
     INNER JOIN sys.objects AS o
         ON sm.object_id = o.object_id
     INNER JOIN sys.schemas AS ss
         ON o.schema_id = ss.schema_id
ORDER BY o.[type], ss.[name], o.[name];