Acabo de sumergirme en Microsoft.SqlServer.Management.Smo.Database
objeto (¡que es proporcionado por el mismo Microsoft!) Simplemente hacen esto usando la siguiente declaración:
CAST(case when dtb.name in ('master','model','msdb','tempdb')
then 1
else dtb.is_distributor end AS bit) AS [IsSystemObject]
En resumen:si una base de datos se llama master
, model
, msdb
o tempdb
, ES una base de datos del sistema; también es una base de datos del sistema, si el campo is_distributor = 1
en la vista sys.databases
.
Espero que esto ayude
Jimmy