SQL Server dbo.sysdiagrams - это таблица пользователей или системная таблица
При использовании диаграмм базы данных в простой базе данных SQL Server создает таблицу dbo.sysdiagrams в Table\Systam Tables
node (в Microsoft studio studio\object explorer). Но таблица sysdiagrams помечена как таблица пользователя в SQL Server. вы можете получить таблицу пользователя по запросу.
SELECT *
FROM sys.tables t
WHERE OBJECTPROPERTY(t.object_id,'IsUserTable') = 1
![enter image description here]()
Я не знаю, что таблица sysdiagram является системной таблицей или является таблицей пользователя.
Существует microsoft_database_tools_support
со значением 1
В расширенном свойстве sysdiagram, который автоматически определяет эту таблицу.
![enter image description here]()
Ответы
Ответ 1
Системные таблицы используются внутри SQL Server, они одинаковы в каждой пользовательской базе данных.
sysdiagrams не является системной таблицей с точки зрения сервера.
Но SQL Server Management Studio создает его для хранения данных диаграммы, поэтому он также классифицирует его как системную таблицу.
Вы можете исключить такие системные таблицы, используя расширенный атрибут, который вы указали.
Ответ 2
Management Studio использует в определении "Системные объекты" следующее: "tbl" - это sys.tables:
CAST(
case
when tbl.is_ms_shipped = 1 then 1
when (
select
major_id
from
sys.extended_properties
where
major_id = tbl.object_id and
minor_id = 0 and
class = 1 and
name = N'microsoft_database_tools_support')
is not null then 1
else 0
end
AS bit) AS [IsSystemObject]