Bagikan melalui


Tabel Dasar Sistem

Berlaku untuk: SQL Server Azure SQL Managed Instance

Tabel dasar sistem adalah tabel yang mendasar yang benar-benar menyimpan metadata untuk database tertentu. Database master khusus dalam hal ini karena berisi beberapa tabel tambahan yang tidak ditemukan di database lain. Tabel ini berisi metadata persisten yang memiliki cakupan di seluruh server.

Penting

Tabel dasar sistem hanya digunakan dalam Mesin Database SQL Server dan bukan untuk penggunaan pelanggan umum. Mereka dapat berubah dan kompatibilitas tidak dijamin.

Metadata Tabel Dasar Sistem

Penerima hibah yang memiliki izin CONTROL, ALTER, atau VIEW DEFINITION pada database dapat melihat metadata tabel dasar sistem dalam tampilan katalog sys.objects . Penerima hibah juga dapat menyelesaikan nama dan ID objek tabel dasar sistem dengan menggunakan fungsi bawaan seperti OBJECT_NAME dan OBJECT_ID.

Untuk mengikat ke tabel dasar sistem, pengguna harus terhubung ke instans SQL Server dengan menggunakan koneksi administrator khusus (DAC). Mencoba menjalankan kueri SELECT dari tabel dasar sistem tanpa menyambungkan dengan menggunakan DAC menimbulkan kesalahan.

Penting

Akses ke tabel dasar sistem dengan menggunakan DAC dirancang hanya untuk personel Microsoft, dan ini bukan skenario pelanggan yang didukung.

Tabel Dasar Sistem

Tabel berikut ini mencantumkan dan menjelaskan setiap tabel dasar sistem di SQL Server.

Tabel dasar Deskripsi
sys.sysschobjs Ada di setiap database. Setiap baris mewakili objek dalam database.
sys.sysbinobjs Ada di setiap database. Berisi baris untuk setiap entitas Service Broker dalam database. Entitas Service Broker meliputi:

Jenis pesan

Kontrak layanan

Layanan

Nama dan jenis menggunakan kolase biner yang diperbaiki.
sys.sysclsobjs Ada di setiap database. Berisi baris untuk setiap entitas klasifikasi yang berbagi properti umum yang sama yang mencakup yang berikut ini:

Rakitan

Perangkat cadangan

Katalog teks lengkap

Fungsi partisi

Skema partisi

Grup file

Kunci obfuscation

Skema
sys.sysnsobjs Ada di setiap database. Berisi baris untuk setiap entitas cakupan namespace. Tabel ini digunakan untuk menyimpan entitas koleksi XML.
sys.syscolpars Ada di setiap database. Berisi baris untuk setiap kolom dalam tabel, tampilan, atau fungsi bernilai tabel. Ini juga berisi baris untuk setiap parameter prosedur atau fungsi.
sys.systypedsubobjs Ada di setiap database. Berisi baris untuk setiap subentitas yang diketik. Hanya parameter untuk fungsi partisi yang termasuk dalam kategori ini.
sys.sysidxstats Ada di setiap database. Berisi baris untuk setiap indeks atau statistik untuk tabel dan tampilan terindeks

Catatan: Setiap indeks (kecuali tumpukan) dikaitkan dengan statistik yang memiliki nama yang sama dengan indeks.
sys.sysiscols Ada di setiap database. Berisi baris untuk setiap indeks dan kolom statistik yang bertahan.
sys.sysscalartypes Ada di setiap database. Berisi baris untuk setiap jenis sistem atau yang ditentukan pengguna.
sys.sysdbreg Hanya ada di database master . Berisi baris untuk setiap database terdaftar.
sys.sysxsrvs Hanya ada di database master . Berisi baris untuk setiap server lokal, tertaut, atau jarak jauh.
sys.sysrmtlgns Tabel dasar sistem ini hanya ada di database master . Berisi baris untuk setiap pemetaan masuk jarak jauh. Ini digunakan untuk memetakan login masuk yang mengklaim berasal dari server yang sesuai ke login lokal yang sebenarnya.
sys.syslnklgns Hanya ada di database master . Berisi baris untuk setiap pemetaan masuk yang ditautkan. Pemetaan masuk tertaut digunakan oleh panggilan prosedur jarak jauh dan kueri terdistribusi yang berasal dari server lokal ke server tertaut yang sesuai.
sys.sysxlgns Hanya ada di database master . Berisi baris untuk setiap prinsipal server.
sys.sysdbfiles Ada di setiap database. Jika kolom dbid adalah nol, baris mewakili file milik database ini. Dalam database master, kolom dbid bisa nonzero. Jika demikian, baris mewakili file master.
sys.sysusermsg Hanya ada di database master . Setiap baris mewakili pesan kesalahan yang ditentukan pengguna.
sys.sysprivs Ada di setiap database. Berisi baris untuk setiap izin tingkat database atau server.

Catatan: Izin tingkat server disimpan dalam database master .
sys.sysowners Ada di setiap database. Setiap baris mewakili prinsipal database.
sys.sysobjkeycrypts Ada di setiap database. Berisi baris untuk setiap kunci konten, enkripsi, atau properti kriptografi yang terkait dengan objek.
sys.syscerts Ada di setiap database. Berisi baris untuk setiap sertifikat dalam database.
sys.sysasymkeys Ada di setiap database. Setiap baris mewakili kunci asimetris.
sys.ftinds Ada di setiap database. Berisi baris untuk setiap indeks teks lengkap dalam database.
sys.sysxprops Ada di setiap database. Berisi baris untuk setiap properti yang diperluas.
sys.sysallocunits Ada di setiap database. Berisi baris untuk setiap unit alokasi penyimpanan.
sys.sysrowsets Ada di setiap database. Berisi baris untuk setiap set baris partisi untuk indeks atau timbunan.
sys.sysrowsetrefs Ada di setiap database. Berisi baris untuk setiap indeks ke referensi rowset.
sys.syslogshippers Hanya ada di database master . Berisi baris untuk setiap bukti pencerminan database.
sys.sysremsvcbinds Ada di setiap database. Berisi baris untuk setiap pengikatan layanan jarak jauh.
sys.sysconvgroup Ada di setiap database. Berisi baris untuk setiap instans layanan di Service Broker.
sys.sysxmitqueue Ada di setiap database. Berisi baris untuk setiap antrean transmisi Service Broker.
sys.sysdesend Ada di setiap database. Berisi baris untuk setiap titik akhir pengiriman percakapan Service Broker.
sys.sysdercv Ada di setiap database. Berisi baris untuk setiap titik akhir penerimaan percakapan Service Broker.
sys.sysendpts Hanya ada di database master . Berisi baris untuk setiap titik akhir yang dibuat di server.
sys.syswebmethods Hanya ada di database master . Berisi baris untuk setiap metode SOAP yang ditentukan pada titik akhir HTTP dengan dukungan SOAP yang dibuat di server.
sys.sysqnames Ada di setiap database. Berisi baris untuk setiap namespace layanan atau nama yang memenuhi syarat ke token ID 4-byte.
sys.sysxmlcomponent Ada di setiap database. Setiap baris mewakili komponen skema XML.
sys.sysxmlfacet Ada di setiap database. Berisi baris untuk setiap faset XML (pembatasan) definisi jenis XML.
sys.sysxmlplacement Ada di setiap database. Berisi baris untuk setiap penempatan XML untuk komponen XML.
sys.syssingleobjrefs Ada di setiap database. Berisi baris untuk setiap referensi N-ke-1 umum.
sys.sysmultiobjrefs Ada di setiap database. Berisi baris untuk setiap referensi N-ke-N umum.
sys.sysobjvalues Ada di setiap database. Berisi baris untuk setiap properti nilai umum entitas.
sys.sysguidrefs Ada di setiap database. Berisi baris untuk setiap referensi ID klasifikasi GUID.

Memperbarui Tabel Dasar Sistem

Anda dapat melihat data dalam tabel sistem melalui tampilan katalog sistem. Untuk memperbarui metadata dalam tabel dasar sistem, gunakan antarmuka Transact-SQL yang sesuai (misalnya, pernyataan DDL). Anda tidak dapat memperbarui tabel sistem secara manual. SQL Server melaporkan pesan berikut saat Anda melakukan pembaruan langsung ke tabel sistem.

Tabel sistem diperbarui secara manual

Msg 17659: Peringatan: Id> ID <tabel sistem telah diperbarui langsung dalam ID <> database dan koherensi cache mungkin belum dipertahankan. SQL Server harus dimulai ulang.

Memulai database dengan tabel sistem yang diperbarui secara manual

Msg 3859: Peringatan: Katalog sistem diperbarui langsung di ID database 17, terbaru pada date_time.

Menjalankan perintah DBCC_CHECKDB setelah tabel sistem diperbarui secara manual

Msg 3859: Peringatan: Katalog sistem diperbarui langsung di ID database 17, terbaru pada date_time.

Jika Anda melakukan pembaruan manual ke tabel sistem dan mengalami masalah, Anda mungkin diminta untuk memulihkan dari cadangan atau menyalin data dari database yang terpengaruh ke database baru. Pelajari selengkapnya tentang pesan kesalahan tindakan pengguna.