Sqlserver
 sql >> Datenbank >  >> RDS >> Sqlserver

Wie identifiziere ich Systemobjekte beim Anzeigen einer Liste von SQL Server-Datenbankobjekten?

Dies funktioniert auf meiner SQL Server 2008 R2-Installation. Ich sehe nicht viel außer Benutzerdatenbanken

SELECT 
    *
FROM
   sys.objects
WHERE
   OBJECTPROPERTY(object_id, 'IsMSShipped') = 0

Sie können sys.objects ändern zu sagen, sys.tables und es funktioniert immer noch, oder verwenden Sie die Spalte "Typ" zum Filtern. Oder verwenden Sie OBJECTPROPERTY(object_id, 'IsProcedure') etc.

Hinweis:In SQL Server 2005+ ist es sys.objects

Hinweis 2:OBJEKTEIGENSCHAFT funktioniert auch für SQL Server 2000:

SELECT 
    *
FROM
   sysobjects
WHERE
   OBJECTPROPERTY(id, 'IsMSShipped') = 0