Aracılığıyla paylaş


sys.sql_modüller (Transact-SQL)

Şunlar için geçerlidir:SQL ServerAzure SQL VeritabanıAzure SQL Yönetilen ÖrneğiAzure Synapse AnalyticsAnaliz Platformu Sistemi (PDW)Microsoft Fabric'teki SQL analiz uç noktasıMicrosoft Fabric'teki ambarMicrosoft Fabric'teki SQL veritabanı

Yerel olarak derlenmiş skaler kullanıcı tanımlı işlev de dahil olmak üzere SQL Server'da SQL dil tanımlı bir modül olan her nesne için bir satır döndürür. , , P, , RF, V, TR, FN, IFve türüne TFsahip nesneler ve R ilişkili bir SQL modülüne sahiptir. Bağımsız varsayılanlar, türündeki Dnesneler de bu görünümde bir SQL modülü tanımına sahiptir. Bu türlerin açıklaması için type katalog görünümündeki sütuna bakın.

Daha fazla bilgi için bkz: In-Memory OLTP için Skaler User-Defined İşlevleri.

Sütun adı Veri türü Description
object_id int İçeren nesnenin nesnesinin kimliği. Bir veritabanında benzersizdir.
definition nvarchar(max) Bu modülü tanımlayan SQL metni. Bu değer OBJECT_DEFINITION yerleşik işlevi kullanılarak da elde edilebilir.

NULL = Şifrelenmiş.
uses_ansi_nulls bit Modülü ile SET ANSI_NULLS ONoluşturulmuştur.

Her zaman 0 kurallar ve varsayılanlar için.
uses_quoted_identifier bit Modülü ile SET QUOTED_IDENTIFIER ONoluşturulmuştur.
is_schema_bound bit Modül seçeneğiyle SCHEMABINDING oluşturuldu.

Her zaman yerel olarak derlenmiş saklı yordamlar için değerini 1 içerir.
uses_database_collation bit 1 = Şemaya bağlı modül tanımı, doğru değerlendirme için veritabanının varsayılan harmanlama durumuna bağlıdır; aksi takdirde , 0. Böyle bir bağımlılık, veritabanının varsayılan harmanlamasını değiştirmeyi engeller.
is_recompiled bit Yordam oluşturuldu WITH RECOMPILE seçeneği.
null_on_null_input bit Modül, herhangi NULL bir girişte çıkış NULL üretmek için bildirildi.
execute_as_principal_id Int Veritabanı sorumlusunun EXECUTE AS kimliği.

NULL varsayılan olarak veya ise EXECUTE AS CALLER.
veya EXECUTE AS SELFise EXECUTE AS <principal> belirtilen sorumlunun kimliği.
-2 = EXECUTE AS OWNER.
uses_native_compilation bit 0 = yerel olarak derlenmedi
1 = yerel olarak derlenmiş

Varsayılan değer şudur: 0.

Şunlar için geçerlidir: SQL Server 2014 (12.x) ve sonraki sürümler.
is_inlineable bit Modülün çizili olup olmadığını gösterir. Satır içi kullanılabilirlik, gereksinimlerde belirtilen koşulları temel alır.

0 = inlined olamaz
1 = inlined olabilir.

Skaler kullanıcı tanımlı işlevler (UDF' ler) için değer1, UDF'nin çizili olup olmadığını gösterir.0 Her zaman satır içi tablo değerli işlevler (TVF'ler) ve 1 diğer tüm modül türleri için değerini 0 içerir.

için geçerlidir: SQL Server 2019 (15.x) ve sonraki sürümler.
inline_type bit Şu anda modül için inlining özelliğinin açık olup olmadığını gösterir.
0 = inlining kapalı
1 = inlining açık.
Skaler kullanıcı tanımlı işlevler (UDF' ler) için değer 1 , inlining açıksa (açıkça veya örtük olarak) olur. Değer her zaman 1 satır içi tablo değerli işlevler (TVF'ler) ve 0 diğer modül türleri içindir.

için geçerlidir: SQL Server 2019 (15.x) ve sonraki sürümler.

Remarks

Kısıtlamanın DEFAULT SQL ifadesi, türündeki Dnesnesi sys.default_constraints katalog görünümünde bulunur. bir kısıtlamanın CHECK SQL ifadesi, türündeki Cnesnesi sys.check_constraints katalog görünümünde bulunur.

Bu bilgiler sys.dm_db_uncontained_entities'de de açıklanmıştır.

Saklı yordamı, işlevi, görünümü veya tetikleyiciyi yeniden adlandırmak, katalog görünümünün tanım sütununda sys.sql_modules veya yerleşik OBJECT_DEFINITION işlevi tarafından döndürülen tanımda karşılık gelen nesnenin adını değiştirmez. Bu nedenle, bu nesne türlerini yeniden adlandırmak için kullanmamanızı sp_rename öneririz. Bunun yerine, nesneyi bırakın ve yeni adıyla yeniden oluşturun. sp_rename'da daha fazla bilgi edinin.

Permissions

Katalog görünümlerindeki meta verilerin görünürlüğü, kullanıcının sahip olduğu veya kullanıcıya bazı izinlerin verildiği güvenli hale getirilebilir öğelerle sınırlıdır. Daha fazla bilgi için bkz. meta veri görünürlüğü yapılandırması .

Examples

Aşağıdaki örnek geçerli veritabanındaki her modülün object_id, şema adını, nesne adını, nesne türünü ve tanımını döndürür.

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