Je viens de plonger dans Microsoft.SqlServer.Management.Smo.Database
objet (qui est fourni par Microsoft lui-même !) Ils le font simplement en utilisant l'instruction suivante :
CAST(case when dtb.name in ('master','model','msdb','tempdb')
then 1
else dtb.is_distributor end AS bit) AS [IsSystemObject]
En bref :si une base de données est nommée master
, model
, msdb
ou tempdb
, c'est une base de données système ; c'est aussi une base de données système, si le champ is_distributor = 1
dans la vue sys.databases
.
J'espère que cela vous aidera
Jimmy