Právě jsem se ponořil do Microsoft.SqlServer.Management.Smo.Database
objekt (který poskytuje samotný Microsoft!) Udělají to jednoduše pomocí následujícího příkazu:
CAST(case when dtb.name in ('master','model','msdb','tempdb')
then 1
else dtb.is_distributor end AS bit) AS [IsSystemObject]
Stručně řečeno:pokud se databáze jmenuje master
, model
, msdb
nebo tempdb
, je to systémová databáze; je to také systémová databáze, pokud pole is_distributor = 1
v pohledu sys.databases
.
Doufám, že to pomůže
Jimmy