Aracılığıyla paylaş


Sistem temel tabloları

Şunlar için geçerlidir:SQL ServerAzure SQL Yönetilen Örneği

Sistem temel tabloları, belirli bir veritabanı için meta verileri gerçekten depolayan temel tablolardır. Veritabanı master bu açıdan özeldir çünkü diğer veritabanlarında bulunmayan bazı ek tablolar içerir. Bu tablolar, sunucu genelinde kapsama sahip kalıcı meta veriler içerir.

Önemli

Sistem temel tabloları yalnızca SQL Server Veritabanı Altyapısı içinde kullanılır ve genel müşteri kullanımı için kullanılmaz. Sistem temel tabloları değiştirilebilir ve uyumluluk garanti değildir.

Sistem temel tablo meta verileri

Veritabanında , CONTROLveya ALTER izni olan VIEW DEFINITIONbir izin veren, katalog görünümünde sistem temel tablo meta verilerini sys.objects görebilir. Onay veren, OBJECT_NAME ve OBJECT_ID gibi yerleşik işlevleri kullanarak sistem temel tablolarının adlarını ve nesne kimliklerini de çözümleyebilir.

Bir sistem temel tablosuna bağlanmak için, kullanıcının ayrılmış yönetici bağlantısını (DAC) kullanarak SQL Server örneğine bağlanması gerekir. DAC kullanarak bağlanmadan bir sistem temel tablosundan sorgu yürütmeye SELECT çalışmak hataya neden olur.

Önemli

DAC kullanarak sistem temel tablolarına erişim yalnızca Microsoft personeli için tasarlanmıştır ve desteklenen bir müşteri senaryosu değildir.

Sistem temel tabloları

Aşağıdaki tabloda SQL Server'daki her sistem temel tablosu listelenmiştir ve açıklanmaktadır.

Temel tablo Açıklama
sys.sysschobjs Her veritabanında bulunur. Her satır veritabanındaki bir nesneyi temsil eder.
sys.sysbinobjs Her veritabanında bulunur. Veritabanındaki her Hizmet Aracısı varlığı için bir satır içerir. Hizmet Aracısı varlıkları aşağıdaki nesneleri içerir:

İleti türü
Hizmet sözleşmesi
Hizmet
Adlar ve türler sabit ikili harmanlama kullanır.
sys.sysclsobjs Her veritabanında bulunur. Aşağıdaki nesneleri içeren ortak özellikleri paylaşan her sınıflandırılmış varlık için bir satır içerir:

Meclis
Yedekleme cihazı
Tam metin kataloğu
Partition işlevi
Bölüm düzeni
Dosya grubu
Gizleme anahtarı
Şema
sys.sysnsobjs Her veritabanında bulunur. Ad alanı kapsamlı her varlık için bir satır içerir. Bu tablo XML koleksiyonu varlıklarını depolamak için kullanılır.
sys.syscolpars Her veritabanında bulunur. Tablo, görünüm veya tablo değerli işlevdeki her sütun için bir satır içerir. Ayrıca, bir yordamın veya işlevin her parametresi için satırlar içerir.
sys.systypedsubobjs Her veritabanında bulunur. Yazılan her alt öğe için bir satır içerir. Yalnızca bölüm işlevi parametreleri bu kategoriye girer.
sys.sysidxstats Her veritabanında bulunur. Her dizin için bir satır veya tablolar ve dizinlenmiş görünümler için istatistikler içerir

Not: Her dizin (yığın dışında) dizinle aynı ada sahip bir istatistikle ilişkilendirilir.
sys.sysiscols Her veritabanında bulunur. Kalıcı olan her dizin ve istatistik sütunu için bir satır içerir.
sys.sysscalartypes Her veritabanında bulunur. Her kullanıcı tanımlı veya sistem türü için bir satır içerir.
sys.sysdbreg master Yalnızca veritabanında var. Kayıtlı her veritabanı için bir satır içerir.
sys.sysxsrvs master Yalnızca veritabanında var. Her yerel, bağlantılı veya uzak sunucu için bir satır içerir.
sys.sysrmtlgns Bu sistem temel tablosu yalnızca veritabanında var master . Her uzaktan oturum açma eşlemesi için bir satır içerir. Bu, ilgili sunucudan geldiğini iddia eden gelen oturum açma bilgilerini gerçek bir yerel oturum açmayla eşlemek için kullanılır.
sys.syslnklgns master Yalnızca veritabanında var. Her bağlantılı oturum açma eşlemesi için bir satır içerir. Bağlantılı oturum açma eşlemeleri, yerel bir sunucudan ilgili bağlı sunucuya giden uzaktan yordam çağrıları ve dağıtılmış sorgular tarafından kullanılır.
sys.sysxlgns master Yalnızca veritabanında var. Her sunucu sorumlusu için bir satır içerir.
sys.sysdbfiles Her veritabanında bulunur. Sütun dbid sıfırsa, satır bu veritabanına ait bir dosyayı temsil eder. master Veritabanında sütun dbid sıfırdan farklı olabilir. Bu durumda, satır bir ana dosyayı temsil eder.
sys.sysusermsg master Yalnızca veritabanında var. Her satır kullanıcı tanımlı bir hata iletisini temsil eder.
sys.sysprivs Her veritabanında bulunur. Her veritabanı veya sunucu düzeyinde izin için bir satır içerir.

Not: Sunucu düzeyinde izinler veritabanında depolanır master .
sys.sysowners Her veritabanında bulunur. Her satır bir veritabanı sorumlusunu temsil eder.
sys.sysobjkeycrypts Her veritabanında bulunur. Bir nesneyle ilişkili her simetrik anahtar, şifreleme veya şifreleme özelliği için bir satır içerir.
sys.syscerts Her veritabanında bulunur. Veritabanındaki her sertifika için bir satır içerir.
sys.sysasymkeys Her veritabanında bulunur. Her satır bir asimetrik anahtarı temsil eder.
sys.ftinds Her veritabanında bulunur. Veritabanındaki her tam metin dizini için bir satır içerir.
sys.sysxprops Her veritabanında bulunur. Her genişletilmiş özellik için bir satır içerir.
sys.sysallocunits Her veritabanında bulunur. Her depolama ayırma birimi için bir satır içerir.
sys.sysrowsets Her veritabanında bulunur. Bir dizin veya yığın için her bölüm satır kümesi için bir satır içerir.
sys.sysrowsetrefs Her veritabanında bulunur. Her dizinden satır kümesine başvuru için bir satır içerir.
sys.syslogshippers master Yalnızca veritabanında var. Her veritabanı yansıtma tanığı için bir satır içerir.
sys.sysremsvcbinds Her veritabanında bulunur. Her uzak hizmet bağlaması için bir satır içerir.
sys.sysconvgroup Her veritabanında bulunur. Hizmet Aracısı'ndaki her hizmet örneği için bir satır içerir.
sys.sysxmitqueue Her veritabanında bulunur. Her Hizmet Aracısı iletim kuyruğu için bir satır içerir.
sys.sysdesend Her veritabanında bulunur. Bir Hizmet Aracısı konuşmasının her gönderen uç noktası için bir satır içerir.
sys.sysdercv Her veritabanında bulunur. Hizmet Aracısı konuşmasının her alıcı uç noktası için bir satır içerir.
sys.sysendpts master Yalnızca veritabanında var. Sunucuda oluşturulan her uç nokta için bir satır içerir.
sys.syswebmethods master Yalnızca veritabanında var. Sunucuda oluşturulan SOAP özellikli bir HTTP uç noktasında tanımlanan her SOAP yöntemi için bir satır içerir.
sys.sysqnames Her veritabanında bulunur. Her ad alanı veya nitelenmiş ad için 4 baytlık kimlik belirtecine bir satır içerir.
sys.sysxmlcomponent Her veritabanında bulunur. Her satır bir XML şema bileşenini temsil eder.
sys.sysxmlfacet Her veritabanında bulunur. XML türü tanımının her XML modeli (kısıtlaması) için bir satır içerir.
sys.sysxmlplacement Her veritabanında bulunur. XML bileşenleri için her XML yerleşimi için bir satır içerir.
sys.syssingleobjrefs Her veritabanında bulunur. Her genel N-1 başvurusu için bir satır içerir.
sys.sysmultiobjrefs Her veritabanında bulunur. Her genel N-N başvurusu için bir satır içerir.
sys.sysobjvalues Her veritabanında bulunur. Bir varlığın her genel değer özelliği için bir satır içerir.
sys.sysguidrefs Her veritabanında bulunur. Her GUID sınıflandırılmış kimlik başvurusu için bir satır içerir.

Sistem temel tablolarını güncelleştirme

Sistem tablolarındaki verileri sistem kataloğu görünümleri aracılığıyla görüntüleyebilirsiniz. Sistem temel tablosundaki meta verileri güncelleştirmek için uygun Transact-SQL arabirimini kullanın (örneğin, DDL deyimleri). Sistem tablolarını el ile güncelleştiremezsiniz. Sistem tablolarında doğrudan güncelleştirmeler gerçekleştirdiğinizde SQL Server aşağıdaki iletileri bildirir.

Sistem tablosu el ile güncelleştirilir

Msg 17659: Warning: System table ID <id> has been updated directly in database ID <id> and cache coherence may not have been maintained. SQL Server should be restarted.

El ile güncelleştirilmiş bir sistem tablosuyla veritabanı başlatma

Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.

Sistem tablosu el ile güncelleştirildikten sonra DBCC_CHECKDB komutunu yürütme

Msg 3859: Warning: The system catalog was updated directly in database ID 17, most recently at date_time.

Bir sistem tablosunda el ile güncelleştirmeler gerçekleştirir ve bir sorunla karşılaşırsanız, bir yedeklemeden geri yüklemeniz veya etkilenen veritabanındaki verileri yeni bir veritabanına kopyalamanız istenebilir. Daha fazla bilgi için bkz. MSSQLSERVER_8992 için kullanıcı eylemleri.