Лекции / Л-3 - Архитектура MS SQL Server
.pdfОтображение БД и их файлов в системном представлении sys.master_files
USE master;
GO
SELECT DB_NAME (database_id) AS 'DB Name' , type_desc AS 'Descr' ,
name AS 'File Name' , state_desc AS 'State' , size AS 'Size' ,
max_size AS ‘Max Size', growth AS 'Growth‘
FROM sys.master_files
ORDER BY 'DB Name';
GO
Системное представление sys.database_files
Позволяет получить список файлов и их характеристик
только одной текущей БД, указанной в операторе USE.
Характеристики, которые можно получить при вызове этого представления, в точности дублируют значения столбцов представления sys.master_files.
Системное представление sys.filegroups
Позволяет получить некоторые данные о файловых группах текущей БД, указанной в операторе USE.
Столбцы представления, которые могут быть интересны:
name – название файловой группы, первой всегда будет первичная файловая группа PRIMARY.
type – тип, для файловых групп имеет значение FG.
type_desc – текстовое описание типа, для файловой группы имеет значение ROWS_FILEGROUP.
is_read_only – указывает, является ли файловая группа группой только для чтения.
Схемы и объекты (1)
БД включает в себя схемы (schema), а схемы содержат
объекты.
Именно схемы служат контейнерами объектов (таблиц, представлений, хранимых процедур и др.).
Схемы и объекты (2)
Физически БД представлена в файлах данных.
Логически БД состоит из произвольного количества
схем.
Каждый объект БД принадлежит одной и только одной схеме. Если при создании объекта БД явно не указывается, какой схеме он принадлежит, то он помещается в схему по умолчанию (обычно dbo).
Схему можно рассматривать как пространство имен (namespace). Имена объектов одного типа в схеме должны быть уникальными.
Зачем объединять объекты в схемы?
Повышается уровень безопасности данных. На уровне схемы можно управлять правами доступа, предоставляя права на использование объектов только указанным группам пользователей – принципалам.
Схема позволяет выполнить «упаковку» групп объектов, что облегчает манипулирование привилегиями.
Будучи пространством имен, схема используется как префикс в имени объекта. Например, в схеме с именем Sales (Продажи) есть таблица Orders (Заказы). Составное имя объекта – Sales.Orders.
Составные имена объектов
Если при ссылке на объект опустить имя схемы, запускается процесс разрешения имени схемы, включающий проверку существования объекта в пользовательской схеме по умолчанию. При его отсутствии – проверку существования объекта в схеме dbo.
Схема dbo создается автоматически в каждой БД и используется как схема по умолчанию, когда пользователи явно не связаны с другой схемой.
Рекомендуется всегда использовать составные имена (разрешение имени объекта требует расходов; если в разных схемах есть объекты с одним именем, можно получить не тот объект).
Работа со схемами
При создании БД в ней автоматически создается не менее десяти схем.
Схемы можно создавать, модифицировать и удалять, используя:
операторы Transact-SQL;
диалоговые средства Management Studio.
Изменение схемы – всего лишь перемещение объектов из одной схемы в другую.
Удалять можно только схему, которая не содержит объектов.