Почему SQL Server дублирует сотню системных представлений из базы данных модели в каждую пользовательскую базу данных вместо того, чтобы сохранять их централизованными (например, как объекты сервера) и использовать их в определенном контексте конкретной базы данных при запросе /нужно?
Не являются ли они (например, определения / сценарий системного представления) общими для баз данных?
Обновление:
Я все еще не смог получить его:
1)
Для выполнения представления в контексте другой базы данных нет необходимости копировать представлениеопределения в каждую базу данных (просто извлеките представление def и выполните в контексте конкретной базы данных).
Итак, зачем умножать копии?
2)
Тогда я все еще не понимаю, что где хранится?
[1] (BOL2005 [1a] -2008R2 [1b]) сообщает, что:
"В SQL Server системные объекты больше не хранятся в базе данных master; вместо этого они хранятся в базе данных ресурсов"
Кроме того, я хотел бы понять, почему SSMS разрешает создание сценариев объектов сервера (например, щелкните правой кнопкой мыши в обозревателе объектов в разделе СерверObjects -> Trigger на syspolicy_server_trigger -> Script Server Trigger as ...--->), в то время как, например, системные представления не имеют такой возможности.
Что отличает их?Где они хранятся?
Цитируется:
[1] основная база данных
[1a]
(Электронная документация по SQL Server 2008 R2)
http://msdn.microsoft.com/en-us/library/ms187837.aspx
[1b]
(Электронная документация по SQL Server 2005)
http://msdn.microsoft.com/en-us/library/ms187837(v=SQL.90).aspx