Acabei de mergulhar em
Microsoft.SqlServer.Management.Smo.Database object (que é fornecido pela própria Microsoft!) Eles simplesmente fazem isso usando a seguinte instrução:CAST(case when dtb.name in ('master','model','msdb','tempdb')
then 1
else dtb.is_distributor end AS bit) AS [IsSystemObject]
Resumindo:se um banco de dados se chama
master , model , msdb ou tempdb , é um banco de dados do sistema; também é um banco de dados do sistema, se o campo is_distributor = 1 na visualização sys.databases . Espero que isto ajude
Jimmy