sys.sql_modules (Transact-SQL)
Berlaku untuk: Titik akhir analitik SQL Server Azure SQL Database Azure SQL Managed Instance Azure Synapse Analytics Platform System (PDW) SQL di Microsoft Fabric Warehouse di Microsoft Fabric
Mengembalikan baris untuk setiap objek yang merupakan modul yang ditentukan bahasa SQL di SQL Server, termasuk fungsi yang ditentukan pengguna skalar yang dikompilasi secara asli. Objek jenis P, RF, V, TR, FN, IF, TF, dan R memiliki modul SQL terkait. Default yang berdiri sendiri, objek jenis D, juga memiliki definisi modul SQL dalam tampilan ini. Untuk deskripsi jenis ini, lihat type
kolom dalam tampilan katalog sys.objects .
Untuk informasi selengkapnya, lihat Fungsi Yang Ditentukan Pengguna Skalar untuk OLTP Dalam Memori.
Nama kolom | Jenis data | Deskripsi |
---|---|---|
object_id | int | ID objek objek yang berisi. Unik dalam database. |
Definisi | nvarchar(maks) | Teks SQL yang menentukan modul ini. Nilai ini juga dapat diperoleh menggunakan fungsi bawaan OBJECT_DEFINITION . NULL = Terenkripsi. |
uses_ansi_nulls | bit | Modul dibuat dengan SET ANSI_NULLS ON. Akan selalu = 0 untuk aturan dan default. |
uses_quoted_identifier | bit | Modul dibuat dengan SET QUOTED_IDENTIFIER ON. |
is_schema_bound | bit | Modul dibuat dengan opsi SCHEMABINDING. Selalu berisi nilai 1 untuk prosedur tersimpan yang dikompilasi secara asli. |
uses_database_collation | bit | 1 = Definisi modul terikat skema tergantung pada kolaborasi default database untuk evaluasi yang benar; jika tidak, 0. Dependensi seperti itu mencegah perubahan kolatasi default database. |
is_recompiled | bit | Prosedur dibuat dengan opsi RECOMPILE. |
null_on_null_input | bit | Modul dinyatakan menghasilkan NULL output pada input apa pun NULL . |
execute_as_principal_id | Int | ID prinsipal database EXECUTE AS.NULL secara default atau jika EXECUTE AS CALLER.ID prinsipal yang ditentukan jika EXECUTE AS SELF atau EXECUTE AS <principal>. -2 = JALANKAN SEBAGAI PEMILIK. |
uses_native_compilation | bit | Berlaku untuk: SQL Server 2014 (12.x) melalui SQL Server 2014 (12.x). 0 = tidak dikompilasi secara asli 1 = dikompilasi secara asli Nilai default adalah 0. |
is_inlineable | bit | Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru. Menunjukkan apakah modul tidak sebaris atau tidak. Ketidakbarisan didasarkan pada kondisi yang ditentukan di sini. 0 = tidak sebaris 1 = tidak sebaris. Untuk fungsi yang ditentukan pengguna skalar (UDF), nilainya adalah 1 jika UDF sebaris, dan 0 sebaliknya. Ini selalu berisi nilai 1 untuk fungsi bernilai tabel sebaris (TVF), dan 0 untuk semua jenis modul lainnya. |
inline_type | bit | Berlaku untuk: SQL Server 2019 (15.x) dan yang lebih baru. Menunjukkan apakah inlining diaktifkan untuk modul saat ini. 0 = inlining dinonaktifkan 1 = inlining diaktifkan. Untuk fungsi yang ditentukan pengguna skalar (UDF), nilainya adalah 1 jika inlining diaktifkan (secara eksplisit atau implisit). Nilainya akan selalu 1 untuk fungsi bernilai tabel sebaris (TVF), dan 0 untuk jenis modul lainnya. |
Keterangan
Ekspresi SQL untuk batasan DEFAULT, objek tipe D, ditemukan dalam tampilan katalog sys.default_constraints . Ekspresi SQL untuk batasan CHECK, objek tipe C, ditemukan dalam tampilan katalog sys.check_constraints .
Informasi ini juga dijelaskan dalam sys.dm_db_uncontained_entities (Transact-SQL).
Mengganti nama prosedur tersimpan, fungsi, tampilan, atau pemicu tidak akan mengubah nama objek yang sesuai di kolom sys.sql_modules
definisi tampilan katalog atau definisi yang dikembalikan oleh fungsi bawaan OBJECT_DEFINITION . Untuk alasan ini, kami menyarankan agar sp_rename
tidak digunakan untuk mengganti nama jenis objek ini. Sebagai gantinya, letakkan dan buat ulang objek dengan nama barunya. Pelajari selengkapnya di sp_rename (Transact-SQL).
Izin
Visibilitas metadata dalam tampilan katalog terbatas pada keamanan yang dimiliki pengguna, atau di mana pengguna diberikan beberapa izin. Untuk informasi selengkapnya, lihat Konfigurasi Visibilitas Metadata.
Contoh
Contoh berikut mengembalikan object_id, nama skema, nama objek, jenis objek, dan definisi setiap modul dalam database saat ini.
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
JOIN sys.objects AS o
ON sm.object_id = o.object_id
JOIN sys.schemas AS ss
ON o.schema_id = ss.schema_id
ORDER BY
o.[type]
, ss.[name]
, o.[name];
Lihat Juga
Tampilan Katalog (Transact-SQL)
Tampilan Katalog Objek (Transact-SQL)
Mengkueri TANYA JAWAB Umum Katalog Sistem SQL Server
In-Memory OLTP (Pengoptimalan In-Memory)