Serwisanci dostępni teraz · czynne całą dobę, także w weekendy i świętaWarszawa i okolice · dojazd bezpłatny
Darmowa diagnoza laptopa
Darmowa diagnoza laptopa
Dojazd do klienta bezpłatnie
Dojazd do klienta bezpłatnie
Laptopy zastępcze bezpłatnie
Laptopy zastępcze bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie
Odbiór i zwrot sprzętu bezpłatnie

Tabela systemowa

Termin Definicja
Tabela systemowa

Tabela systemowa przechowuje metadane i konfigurację samego silnika bazodanowego.

Katalog systemowy jako baza o bazie

Silnik bazodanowy przechowuje opis własnych obiektów w tych samych strukturach, których używa do danych użytkownika — tyle że zapisanych i chronionych przez sam serwer. W SQL Server dostęp odbywa się przez widoki katalogowe w schemacie sys: sys.objects, sys.tables, sys.columns, sys.indexes, sys.databases, sys.sql_logins. Fizyczne tabele bazowe (sys.sysschobjs i pokrewne) są niewidoczne dla zwykłego połączenia — pokazuje je dopiero sesja DAC (dedicated administrator connection). PostgreSQL trzyma odpowiedniki w schemacie pg_catalog: pg_class, pg_attribute, pg_namespace. MySQL i MariaDB dzielą to na bazę mysql (konta, uprawnienia) oraz wirtualny information_schema.

Widoki katalogowe kontra standard INFORMATION_SCHEMA

INFORMATION_SCHEMA jest przenośny między silnikami, ale opisuje tylko to, co przewiduje standard SQL. Nie znajdzie się tam informacji o kompresji stron, partycjonowaniu, statystykach czy filtrowanych indeksach — te wymagają widoków producenta. Praktyczna zasada przy pisaniu skryptów administracyjnych: INFORMATION_SCHEMA.COLUMNS wystarczy do sprawdzenia typów kolumn przed migracją, ale audyt indeksów trzeba oprzeć na sys.indexes połączonym z sys.index_columns. Do tego dochodzą dynamiczne widoki zarządcze (sys.dm_exec_requests, sys.dm_os_wait_stats), które nie są tabelami — dane powstają w pamięci przy każdym odczycie i zerują się po restarcie usługi.

Czego nie wolno robić z metadanymi

Bezpośrednia modyfikacja tabel systemowych jest od dawna zablokowana, a próby obejścia kończą się bazą w stanie SUSPECT. Realne kłopoty w małych firmach wyglądają inaczej: baza msdb puchnie do kilkunastu gigabajtów, bo historia zadań i kopii (backupset, backupmediafamily, sysjobhistory) nigdy nie była czyszczona procedurą sp_delete_backuphistory. Innym częstym objawem jest błąd 824 lub 823 przy odczycie strony katalogu — wtedy DBCC CHECKDB pokazuje uszkodzenia w obiektach o niskich identyfikatorach, co niemal zawsze oznacza problem z nośnikiem, nie z aplikacją.

Diagnostyka baz Subiekta i Comarcha w naszej pracowni

Programy handlowe oparte o SQL Server zwykle nie mają narzędzi do zaglądania w katalog systemowy, więc gdy aplikacja zgłasza brak obiektu albo odmowę dostępu, odpowiedź znajduje się w sys.objects i sys.database_permissions. Sprawdzamy zgodność poziomu zgodności bazy z wersją instancji, kompletność schematu po nieudanej aktualizacji i uprawnienia konta, na którym pracuje usługa. Serwery i stacje z bazami odbieramy własnym transportem, bez pośrednictwa firm kurierskich, żeby dysk z bazą nie krążył po sortowniach.

+48 22 100 48 29Zadzwoń teraz · serwisant w 1 godzinę