Właśnie zanurzyłem się w Microsoft.SqlServer.Management.Smo.Database
obiekt (który jest dostarczany przez sam Microsoft!) Robią to po prostu za pomocą następującej instrukcji:
CAST(case when dtb.name in ('master','model','msdb','tempdb')
then 1
else dtb.is_distributor end AS bit) AS [IsSystemObject]
W skrócie:jeśli baza danych ma nazwę master
, model
, msdb
lub tempdb
, to JEST systemowa baza danych; jest to również systemowa baza danych, jeśli pole is_distributor = 1
w widoku sys.databases
.
Mam nadzieję, że to pomoże
Jimmy