Badanie wykazu systemu SQL Server

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

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

  • Liczba kolumn w tabela lub widoku, wraz z nazwa, typ danych, skali i dokładność każdej kolumna.

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

  • Indeksy i klawiszy zdefiniowanych dla tabela.

Wykaz systemu udostępnia te informacje, aby SQL Server baz danych.Rdzeń SQL Server system wykazów jest zestaw metadane, który opisuje obiekty w widokach wystąpienie z SQL Server.Metadane są dane opisujące atrybutów obiektów w systemie.SQL Server-aplikacji mają dostęp do informacji w katalogach systemu przy użyciu następujących:

  • Wykazu widoki.Zaleca się tej metoda dostępu.

  • Informacje o schemacie widoki.

  • OLE DB schematu zestawów wierszy.

  • Funkcje wykazu ODBC.

  • System procedur przechowywanych i funkcji.

Wykaz widoków

Widoki wykazu zapewniają dostęp do metadane przechowywanych w bazie danych, co na serwerze.

Ostrzeżenie

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

Zaleca się używanie widoki wykazu do uzyskania dostępu do metadane z następujących powodów:

  • Wszystkie metadane jest udostępniana jako widoki wykazu.

  • Widoki wykazu przedstawić metadane w formacie, który jest niezależny od jakiegokolwiek zastosowania tabela wykazu, zatem widoki wykazu nie dotyczy zmian wykazu tabel.

  • Widoki wykazu są najbardziej wydajnym sposobem dostępu do metadane serwera podstawowego.

  • Widoki wykazu są ogólne interfejs do katalogu metadane i najbardziej bezpośredni sposób uzyskiwania, przekształcania i przedstawić niestandardowych formularzy metadanych.

  • Nazwy widoku wykazu i nazw kolumn i ich są opisowe.Wyniki są zgodne, czego można się spodziewać przez użytkownika, który ma umiarkowany kwerendy wiedza funkcji, który odpowiada metadane, którego dotyczy kwerenda.

Na przykład następujące kwerendy używa sys.objects wykazu widoku, aby zwrócić wszystkie obiekty 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;

Zobacz więcej przykładów Kwerenda wykazu systemu przy użyciu widoki wykazu Kwerenda SQL Server System wykazu często zadawane pytania.

Ważna informacjaWażne:

W przyszłych wersjach SQL Server, Microsoft może uzupełnić definicję dowolnego widoku wykazu systemu, dodając kolumna do końca kolumna listy.Zaleca się przy użyciu składni wybierz * FROM sys.catalog_view_name w produkcji kod ponieważ zwrócona liczba kolumn może zmienić i podział aplikacji.

Informacje o schemacie widoków

Informacje o schemacie widoki są oparte na wykaz definicji widoku w normie ISO.Przedstawia informacje dotyczące wykazu w formacie, który jest niezależny od jakiegokolwiek zastosowania tabela wykazu, a zatem nie dotyczy zmian wykazu tabel.Aplikacje korzystające z tych widoków są przenośne między systemom heterogenicznym bazę danych zgodną z ISO.Aby uzyskać więcej informacji, zobacz Widoki schematu informacji (Transact-SQL).

Ostrzeżenie

Informacje o schemacie widoki nie zawierają metadane specyficzne dla SQL Server 2008.

W następujących przykładowych kwerendach INFORMATION_SCHEMA.COLUMNS Widok do zwrócenia wszystkich kolumn Person tabela w AdventureWorks2008R2 bazy danych.

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

Widoki zgodności

Wiele tabele systemowe z wcześniejszych wersji programu SQL Server teraz są implementowane jako zestaw widoków.Widoki te są znane jako widoki zgodności i są przeznaczone tylko do zgodności ze starszymi wersjami.Pokazują one tych samych metadane, dostępnych w SQL Server 2000.Jednakże nie wykazują żadnych metadane związanych z funkcje wprowadzone w SQL Server 2005 i nowsze.Dlatego podczas korzystania z nowych funkcji, takich jak Service Broker lub partycjonowanie, należy przełączyć się do za pomocą widoki wykazu.Jest to dobry powód, aby uaktualnienie do widoki wykazu.Innym powodem do uaktualnienia do widoki wykazu jest zgodności tej kolumny widoku, w których są przechowywane nazwy użytkowników i identyfikator typu może zwrócić NULL lub Przepełnienie arytmetyczne wyzwalacza.Dzieje się tak dlatego, w SQL Server 2005 i później, można utworzyć więcej niż 32 767 użytkowników i typy danych.Na przykład, gdyby utworzyć 32 768 użytkowników, a następnie uruchomić tę kwerendę: SELECT * FROM sys.sysusers; Jeśli jest ARITHABORT zestaw on, kwerenda zakończy się niepowodzeniem z błędem Przepełnienie arytmetyczne.Jeśli jest ARITHABORT zestaw do OFF, uid kolumna zwraca wartość NULL.

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

OLE DB schematu wierszy

Specyfikacja OLE DB definiuje IDBSchemaRowset interfejs, który uwidacznia zestaw schematu zestawów wierszy zawierających informacje wykazu.Zestawów wierszy schematu OLE DB są standardową metoda przedstawianie informacji wykazu, który jest obsługiwany przez różnych dostawców OLE DB.Zestawów wierszy są niezależne od struktury wykazu tabel.Aby uzyskać więcej informacji, zobacz Obsługa wierszy schematu (OLE DB).

Microsoft SQL Server macierzystego klienta dostawca OLE DB obsługuje rozszerzenie IDBSchemaRowset , raporty wykaz informacji połączonych serwerów używanych w kwerendach rozproszonych.Aby uzyskać więcej informacji, zobacz LINKEDSERVERS wierszy (OLE DB).

Funkcje wykazu ODBC

Specyfikacja ODBC definiuje zestaw funkcji wykazu, które zwracają zestawów wyników, które zawierają informacje dotyczące wykazu.Funkcje te są standardowe metoda przedstawiania informacji wykazu, obsługiwany przez różnych sterowników ODBC.Zestawy wyników są niezależne od struktury wykazu tabel.

Sterownik ODBC macierzystym klienta programu SQL Server obsługuje dwie funkcje specyficzne dla sterownika, które raportują informacje wykazu dla serwerów połączonych w kwerendami rozproszonymi.Aby uzyskać więcej informacji, zobacz Za pomocą funkcji wykazu.

System procedur przechowywanych i funkcji

Transact-SQL Określa serwer procedury składowane w systemie i funkcje systemowe, które zwracają informacje wykazu.Chociaż procedury przechowywane i funkcje są specyficzne dla SQL Server, i ich użytkownikom Struktura podstawowego systemu wykazu tabel.Aby uzyskać więcej informacji, zobacz Funkcje metadanych (Transact-SQL) i System przechowywane procedury języka Transact-SQL).