Udostępnij za pośrednictwem


Badanie katalogu systemu SQL Server

Dynamicznych aplikacji, które nie są zakodowane do pracy z określonego zestaw tabel i widoków musi być mechanizm określania struktury i atrybutów obiektów w każdej innej bazy danych, z którym łączą się.Aplikacje te mogą wymagać, aby informacje, takie jak:

  • Numer i nazwy tabel i widoków w bazie danych.

  • Liczba kolumn w tabela lub widoku, łącznie z nazwą, typem danych, skala i precyzja w wypadku każdej kolumna.

  • Ograniczenia, które są zdefiniowane w tabela.

  • Indeksów i kluczy zdefiniowanych dla tabela.

Katalog systemu udostępnia te informacje dla SQL Server bazy danych. Rdzeń SQL Server system wykazów jest zestaw widoków, które pokazują metadane, który opisuje obiekty w wystąpieniu SQL Server. Metadane są dane, które opisuje atrybuty obiektów w systemie.SQL Server-opartych na aplikacji może uzyskać dostęp do informacji w katalogach systemu przy użyciu następujących czynności:

  • widoki wykazu.Firma Microsoft zaleca tej metoda dostępu.

  • Informacje o schemacie widoki.

  • Zestawy wierszy schematu DB OLE.

  • Funkcji ODBC wykazu.

  • Funkcje i procedury zapisanej w systemie.

Widoki wykazów

Widoki wykazu zapewniają dostęp do metadane, które są przechowywane w bazie danych, co na serwerze.

Uwaga

Widoki wykazu nie zapewniają dostępu do replikacja, SQL Server Agent lub kopia zapasowa metadane.

Zaleca się korzystanie z widoki wykazu dostępu metadane z następujących powodów:

  • Wszystkie metadane są dostępne jako widoki wykazu.

  • Widoki wykazu obecnie metadane w formacie, który jest niezależny od implementacji tabela dowolnego katalogu, w związku z tym widoki wykazu nie wpływają zmiany w tabelach danej strony wykazu.

  • widoki wykazu są najbardziej efektywny sposób, aby uzyskać dostęp do metadane serwera podstawowego.

  • widoki wykazu są ogólne interfejs katalogu metadane i do uzyskiwania, przekształcania i prezentacji niestandardowych formularzy metadane w najbardziej bezpośredni sposób.

  • Są opisowych nazw widoków w katalogu i nazw kolumn i ich.Wyniki kwerendy pasuje do czego można się spodziewać przez użytkownika, który ma umiarkowany wiedzę na temat funkcji, która odpowiada metadane, które jest poszukiwanych.

Na przykład następujące kwerendy zastosowań sys.Objects wykazu widoku do zwrócenia wszystkich obiektów bazy danych, które zostały zmodyfikowane w ciągu ostatnich 10 dni.

SELECT name AS object_name 
  ,SCHEMA_NAME(schema_id) AS schema_name
  ,type_desc
  ,create_date
  ,modify_date
FROM sys.objects
WHERE modify_date > GETDATE() - 10
ORDER BY modify_date;

Aby uzyskać więcej przykładów Kwerenda wykazu systemu przy użyciu widoków wykazu zobacz Querying the SQL Server System Catalog FAQ.

Important noteImportant Note:

W przyszłych wydaniach SQL Server, Microsoft może uzupełnić definicji dowolnego widoku wykazu systemu przez dodanie kolumna na końcu listy kolumn. Firma Microsoft zaleca, aby przed użyciem składni SELECT * FROM sys.catalog_view_name w produkcji kod ponieważ zwrócona liczba kolumn może zmienić i doprowadzić do uszkodzenia aplikacji.

Informacje o schemacie widoki

Informacje o schematu widoki są oparte na katalogu definicji widoku w ISO standardowych.Te stanowią informacje o wykazie w formacie, który jest niezależny od implementacji tabela dowolnego katalogu i w związku z tym nie wpływają zmiany w tabelach danej strony wykazu.Aplikacje korzystające z tych widoków są przenośne między systemami bazy danych zgodnej ze standardem ISO heterogenicznych.Aby uzyskać więcej informacji zobaczInformation Schema Views (Transact-SQL).

Uwaga

Informacje o schemacie widoki nie zawierają metadane dotyczące SQL Server 2008.

W następujących przykładowych kwerendach INFORMATION_SCHEMA.COLUMNS Widok do zwrócenia wszystkich kolumn Contact Tabela w AdventureWorks Baza danych.

SELECT TABLE_NAME, COLUMN_NAME, COLUMNPROPERTY(OBJECT_ID(TABLE_SCHEMA + '.' + TABLE_NAME), COLUMN_NAME, 'ColumnID') AS COLUMN_ID
FROM AdventureWorks.INFORMATION_SCHEMA.COLUMNS
WHERE TABLE_NAME = 'Contact';

Widoki zgodności

Wiele z tabelami systemowymi, ze starszych wersji SQL Server teraz są implementowane jako zestaw widoków. Widoki te są znane jako widoki zgodności i są one przeznaczone do zgodność z poprzednimi wersjami.Pokazują one ten sam metadane, które są dostępne w SQL Server 2000. Jednak te nie są wyświetlane którekolwiek z metadane, które jest powiązane z funkcje wprowadzone w SQL Server 2005 i nowszych. W związku z tym korzystając z nowych funkcji, takich jak usługa Broker lub partycjonowanie, należy przełączyć się do za pomocą widoki wykazu.To jest uzasadniony powód, aby uaktualnić do widoki wykazu.Inną przyczyną do uaktualnienia do widoki wykazu jest to, że kolumny widoku zgodności, które są przechowywane nazwy użytkowników, a następnie wpisz nazwy mogą zwracać wartość NULL lub Przepełnienie arytmetyczne wyzwalacza.Dzieje się tak, SQL Server 2005 a później, można utworzyć więcej niż 32 767 użytkowników i typy danych. Na przykład, jeśli zostały tworzenie 32 768 użytkowników, a następnie uruchomić tę kwerendę: SELECT * FROM sys.sysusers; Jeśli ARITHABORT jest ustawiony na włączone, kwerenda nie powiedzie się z powodu błędu Przepełnienie arytmetyczne.Jeśli ARITHABORT ma wartość OFF, UID kolumna zwraca wartość NULL.

Aby uniknąć tych problemów, zaleca się uaktualnienie do nowych widoki wykazu, które mogą obsługiwać wzrostu liczby użytkowników ich identyfikatory i identyfikatory typu przy użyciu.

Zestawy wierszy schematu DB OLE

Specyfikacja OLE DB definiuje IDBSchemaRowset interfejs, który umożliwia uzyskanie dostępu do zestaw wierszy schematu, które zawierają informacje o wykazie. Zestawy wierszy schematu bazy danych OLE to standardowa metoda przedstawiania informacje o wykazie, który jest obsługiwany przez różnych dostawców OLE DB.Zestawów wierszy są niezależne od struktury z tabel wykazu.Aby uzyskać więcej informacji zobaczObsługa zestaw zestaw wierszy schematu (OLE DB).

Microsoft SQL Server Macierzysta klient dostawca OLE DB obsługuje rozszerzenia IDBSchemaRowset w przypadku serwerów połączonych używane w kwerendach rozproszonych, raportowane wykazu. Aby uzyskać więcej informacji zobaczZestaw wierszy LINKEDSERVERS (OLE DB).

Funkcje katalogów ODBC

Specyfikacja ODBC definiuje zestaw funkcji wykazu, która zwrócić zestaw wyników, które zawierają informacje o wykazie.Te funkcje są to standardowa metoda przedstawiania informacji wykazu, obsługiwaną przez różnych sterowników ODBC.Zestawy wyników są niezależne od struktury z tabel wykazu.

Sterownik ODBC dla programu SQL Server Native klient obsługuje dwie funkcje specyficzne dla sterownika, przedstawione informacje o wykazie dla serwerów połączonych w kwerendami rozproszonymi.Aby uzyskać więcej informacji zobaczZa pomocą funkcjach katalogowych.

procedury składowane w systemie i funkcje

Transact-SQL Określa serwer systemu przechowywanych procedur i funkcje systemowe, które zwracają informacje o wykazie.Chociaż te procedury przechowywane i funkcje są specyficzne dla SQL Server, i ich użytkownikom ze struktury tabel podstawowych wykazu systemu. Aby uzyskać więcej informacji zobacz Metadane funkcje języka Transact-SQL) i System Stored Procedures (Transact-SQL).