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