Delen via


sys.sql_modules (Transact-SQL)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)SQL Analytics-eindpunt in Microsoft FabricWarehouse in Microsoft Fabric

Retourneert een rij voor elk object dat een door de SQL-taal gedefinieerde module is in SQL Server, inclusief systeemeigen gecompileerde scalaire door de gebruiker gedefinieerde functie. Objecten van het typeP, RF, V, TR, , FN, , IFen TFR hebben een bijbehorende SQL-module. Zelfstandige standaardinstellingen, objecten van het type D, hebben ook een SQL-moduledefinitie in deze weergave. Zie de kolom in de type catalogusweergave sys.objects voor een beschrijving van deze typen.

Zie Scalaire User-Defined functies voor In-Memory OLTP voor meer informatie.

Column name Data type Description
object_id int Id van het object van het object dat het object bevat. Is uniek in een database.
definition nvarchar(max) SQL-tekst die deze module definieert. Deze waarde kan ook worden verkregen met behulp van de ingebouwde OBJECT_DEFINITION functie.

NULL = Versleuteld.
uses_ansi_nulls bit Module is gemaakt met SET ANSI_NULLS ON.

Altijd 0 voor regels en standaardinstellingen.
uses_quoted_identifier bit Module is gemaakt met SET QUOTED_IDENTIFIER ON.
is_schema_bound bit Module is gemaakt met SCHEMABINDING de optie.

Bevat altijd een waarde voor 1 systeemeigen gecompileerde opgeslagen procedures.
uses_database_collation bit 1 = Schemagebonden moduledefinitie is afhankelijk van de standaardsortering van de database voor de juiste evaluatie; anders, 0. Een dergelijke afhankelijkheid voorkomt dat de standaardsortering van de database wordt gewijzigd.
is_recompiled bit De procedure is gemaakt WITH RECOMPILE .
null_on_null_input bit Module is gedeclareerd om een NULL uitvoer te produceren voor elke NULL invoer.
execute_as_principal_id Int Id van de EXECUTE AS database-principal.

NULL standaard of indien EXECUTE AS CALLER.
Id van de opgegeven principal indien EXECUTE AS SELF of EXECUTE AS <principal>.
-2 = EXECUTE AS OWNER.
uses_native_compilation bit 0 = niet systeemeigen gecompileerd
1 = is systeemeigen gecompileerd

De standaardwaarde is 0.

Van toepassing op: SQL Server 2014 (12.x) en latere versies.
is_inlineable bit Geeft aan of de module inline kan zijn of niet. Inlineability is gebaseerd op de voorwaarden die zijn opgegeven in de vereisten.

0 = kan niet inline zijn
1 = kan inline zijn.

Voor door de gebruiker gedefinieerde scalaire functies (UDF's) is 1 de waarde als de UDF inline kan zijn en 0 anders. Het bevat altijd een waarde voor 1 inline tabelwaardefuncties (TVF's) en 0 voor alle andere moduletypen.

van toepassing op: SQL Server 2019 (15.x) en latere versies.
inline_type bit Geeft aan of inlining is ingeschakeld voor de module op dit moment.
0 = inlining is uitgeschakeld
1 = inlijnen is ingeschakeld.
Voor door de gebruiker gedefinieerde scalaire functies (UDF's) is 1 de waarde als inlining is ingeschakeld (expliciet of impliciet). De waarde is altijd 1 voor inline tabelwaardefuncties (TVF's) en 0 voor andere moduletypen.

van toepassing op: SQL Server 2019 (15.x) en latere versies.

Remarks

De SQL-expressie voor een DEFAULT beperking, het object van het type D, vindt u in de sys.default_constraints catalogusweergave. De SQL-expressie voor een CHECK beperking, object van het type C, vindt u in de sys.check_constraints catalogusweergave.

Deze informatie wordt ook beschreven in sys.dm_db_uncontained_entities.

Als u de naam van een opgeslagen procedure, functie, weergave of trigger wijzigt, wordt de naam van het bijbehorende object niet gewijzigd in de definitiekolom van de sys.sql_modules catalogusweergave of de definitie die wordt geretourneerd door de ingebouwde functie OBJECT_DEFINITION . Daarom raden we u aan om de naam van deze objecttypen niet sp_rename te wijzigen. Plaats in plaats daarvan het object neer en maak het opnieuw met de nieuwe naam. Meer informatie vindt u in sp_rename.

Permissions

De zichtbaarheid van de metagegevens in catalogusweergaven is beperkt tot beveiligbare items waarvan een gebruiker eigenaar is of waarvoor de gebruiker een bepaalde machtiging heeft gekregen. Zie Zichtbaarheidsconfiguratie voor metagegevensvoor meer informatie.

Examples

In het volgende voorbeeld worden de object_id, schemanaam, objectnaam, objecttype en definitie van elke module in de huidige database geretourneerd.

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];