In den meisten Fällen müssen wir nach Objekten mit suchen Metadaten (Daten zu Daten) Informationen zu SQL Server erhalten. Beispielsweise verwenden wir eine Abfrage, um herauszufinden, welche Version des SQL-Servers auf einem bestimmten Computer ausgeführt wird. Metadaten helfen uns, Einstellungen und Konfigurationen für verschiedene Objekte in unserer Datenbank zu finden.
In diesem Beispiel müssen wir an welchem Datum die Tabelle finden 'Kunde' wurde erstellt. Wir müssen SQL Server-Metadaten abfragen, um dieses Datum zu finden.
SELECT create_date FROM sys.objects WHERE name = 'Kunde';
sys.objects ist eine von SQL Server erstellte Tabelle, die als Metadaten fungiert.
Bei der ersten Installation von SQL Server wurden automatisch bestimmte Tabellen, Prozeduren und verschiedene Objekte erstellt, in denen Metadaten gespeichert werden, die als betrachtet werden "Versandt" Artikel des Softwareanbieters Microsoft mit SQL Server.
Wenn wir eine neue Datenbank unter SQL Server erstellen, werden automatisch einige Objekte erstellt, in denen Metadaten gespeichert werden.
is_ms_shipped Eigenschaft in SQL Server
Das is_ms_shipped Die Eigenschaft in SQL Server zeigt, welche Objekte von Microsoft bei der Installation von SQL Server erstellt (ausgeliefert) wurden und welche Objekte von Benutzern erstellt wurden.
SELECT name, object_id, is_ms_shipped FROM sys.objects;
is_ms_shipped = 1 (gibt an, dass dieses Objekt von Microsoft ausgeliefert oder erstellt wurde) is_ms_shipped = 0 (zeigt an, dass dieses Objekt von einem Benutzer erstellt wurde)
Mit der obigen Abfrage sehen wir verschiedene Objekte, die unter einer Datenbank erstellt wurden. Die Spalte "is_ms_shipped" zeigt an, ob ein Objekt von einem Benutzer erstellt wurde oder von Microsoft ausgeliefert wurde.
Jetzt wissen wir, dass wir die Tabelle STUDENTS erstellt haben. Die Spaltenliste zeigt den Objektnamen, die object_id (die für jedes erstellte Objekt im SQL-Server eindeutig ist) und die Spalte is_ms_shipped.
Verwendung der ObjectProperty () System erstellte Funktion, können wir herausfinden, ob ein bestimmtes Objekt von Microsoft ausgeliefert wurde oder von einem Benutzer erstellt wurde.
--2105058535 ist object_id für Tabellenschüler. Wählen Sie CASE WHEN OBJECTproperty (2105058535, 'IsMSShipped') = 0 DANN 'Erstellt von Benutzer' ELSE 'Geliefert von Microsoft' END AS 'IsMsShipped'; --2089058478 ist object_id für die syscommittab-Tabelle SELECT CASE WHEN OBJECTproperty (2089058478, 'IsMSShipped') = 0 DANN 'Erstellt von Benutzer' ELSE 'Geliefert von Microsoft' END AS 'IsMsShipped';
Wenn Sie eine Liste mit Objekten erstellen möchten, die von Microsoft oder von Benutzern für Überwachungszwecke erstellt wurden, können Sie die unten stehende Abfrage verwenden.
--is_ms_shipped = 1 gibt Objekte an, die von Microsoft ausgeliefert / erstellt wurden. SELECT name, object_id, is_ms_shipped FROM sys.objects WHERE is_ms_shipped = 1; --is_ms_shipped = 0 kennzeichnet von Benutzern erstellte Objekte. SELECT name, object_id, is_ms_shipped FROM sys.objects WHERE is_ms_shipped = 0;