Реферат: SQL Server 2000
Аналогичные рекомендации касаются разрешений на выполнение команд Transact-SQL. Можно спроектировать базу данных таким образом, что выполнять конкретные действия — создание таблиц, представлений, правил, резервных копий и т. д. — будут строго определенные пользователи.
Права на доступ к объектам баз данных
Работа с данными и выполнение хранимых процедур требуют наличия класса доступа, называемого правами на доступ к объектам баз данных. Под объектами подразумеваются таблицы, столбцы таблиц, представления, хранимые процедуры. Права на доступ к объектам баз данных контролируют возможность выполнения пользователями, например, команд SELECT, INSERT, UPDATE и DELETE для таблиц и представлений. Таким образом, если пользователю необходимо добавить новые данные в таблицу, ему следует предоставить право INSERT (вставка записей в таблицу). Предоставление же пользователю права EXECUTE разрешает ему выполнение каких-либо хранимых процедур.
Для различных объектов применяются разные наборы прав доступа к ним: О SELECT, INSERT, UPDATE, DELETE, REFERENCES- эти права могут быть применены для таблицы или представления;
О SELECT и UPDATE — эти права могут быть применены к конкретному столбцу таблицы или представления;
О EXECUTE— это право применяется только к хранимым процедурам и функциям. Ниже приводится более подробное описание каждого из этих прав.
О INSERT. Это право позволяет вставлять в таблицу или представление новые строки. Как следствие, право INSERT может быть выдано только на уровне таблицы или представления и не может быть выдано на уровне столбца.
О UPDATE. Это право выдается либо на уровне таблицы, что позволяет изменять все данные в таблице, либо на уровне отдельного столбца, что разрешает изменять данные только в пределах конкретного столбца.
О DELETE. Это право позволяет удалять строки из таблицы или представления. Как и право INSERT, право DELETE может быть выдано только на уровне таблицы или представления и не может быть выдано на уровне столбца.
О SELECT. Разрешает выборку данных. Может выдаваться как на уровне таблицы, так и на уровне отдельного столбца.
О REFERENCES. Возможность ссылаться на указанный объект. Применительно к таблицам разрешает пользователю создавать внешние ключи, ссылающиеся на первичный ключ или уникальный столбец этой таблицы. Применительно к представлениям право REFERENCES позволяет связывать представление со схемами таблиц, на основе которых строится представление. Это позволяет отслеживать изменения структуры исходных таблиц, которые могут повлиять на работу представления. Право REFERENCES не существовало в предыдущих версиях SQL Server.
Как следует из вышеизложенного, доступ можно предоставлять как на уровне всей таблицы или представления, так и на уровне отдельного столбца. Обычно не практикуется управление правами доступа на уровне конкретного столбца. Если в таблице имеется один или более столбцов, доступ пользователей к которым необходимо ограничить, то в базе данных часто создается представление (view), включающее только те столбцы исходной таблицы, доступ к которым разрешен.
Предоставить или отклонить доступ пользователю базы данных ко всем объектам базы данных можно при помощи встроенных ролей базы данных. Например, для разрешения чтения данных из всех таблиц и представлений базы данных достаточно включить пользователя в фиксированную роль db_datareader, а не изменять права доступа пользователя к каждой таблице и представлению в отдельности.
Используйте команду GRANT для управления разрешениями пользователя на доступ к объектам базы данных:
GRANT
(ALL [PRIVILEGES] | permiss1on[....n]}
TO security_account[,...n] [WITH GRANT OPTION] [AS role]
Назначение параметров команды GRANT следующее:
О ALL — пользователю предоставляются все доступные разрешения. Этот параметр могут использовать только участники роли sysadmln;
О permission — список доступных разрешений, которые предоставляются пользователю (SELECT, INSERT, UPDATE, DELETE, EXECUTE). Вы можете одновременно предоставлять несколько разрешений, в этом случае их нужно разделять запятыми;
О security_account — имя того объекта системы безопасности, который необходимо включить в роль. В качестве таких объектов могут выступать как учетные записи SQL Server, так и пользователи и группы пользователей Windows NT, которым предоставлен доступ к серверу баз данных;
О table, view, column, stored_procedure, extended_procedure — в качестве данных параметров выступают имена объектов в текущей базе данных, для которых необходимо предоставить доступ;
О WITH GRANT OPTION— использование данного параметра позволяет пользователю, которому вы предоставляете права, назначать права на доступ к объекту другим пользователям;
О AS
Для функции можно выдать право на ее выполнение, а,
{
[(columnC....n])] ON table | ON table [-(columnC, . . . n])] I ON stored_procedure
TO security_account[....n] [CASCADE]
Для запрещения выполнения команд Transact-SQL применяется другая команда:
DENY statement^... .n] ТО security_account[....n]
Параметры данной команды аналогичны параметрам команды GRANT. Параметр CASCADE позволяет отзывать права не только у данного пользователя, но также и у всех тех пользователей, кому он предоставил данные права. Поясним смысл вышесказанного на примере. Пусть вы предоставили пользователю Sheridan определенные права:
GRANT CREATE TABLE
ТО Sheridan
WITH GRANT OPTION
Допустим, Sheridan предоставляет аналогичные права некоторым пользователям. Если впоследствии вам потребуется отозвать разрешения у Sheridan, вы выполните команду:
DENY CREATE TABLE ТО Sheridan CASCADE
При этом будут отозваны и все разрешения, которые Sheridan предоставил другим пользователям.
Создание и обслуживание баз данныхЛюбая база данных SQL Server 2000 состоит из набора таблиц, содержащих данные, и дополнительных объектов, создаваемых для обработки данных. К таким объектам относятся, например, представления, триггеры и хранимые процедуры. Данные сохраняются в таблицах в соответствии с их логическим определением, например, данные об имеющихся на складе товарах хранятся в одной таблице, а список персонала — в другой.
SQL Server позволяет одновременно поддерживать множество баз данных, которые могут иметь связи с другими базами данных либо существовать независимо.
Прежде чем приступить к созданию базы данных, необходимо четко представлять все составляющие ее части и уметь грамотно использовать их. Соблюдение этого требования гарантирует, что ваша база данных будет иметь оптимальную структуру.
Настоятельно рекомендую не создавать в системной базе данных master никаких пользовательских объектов, хотя это и возможно. База данных master содержит системные таблицы, которые хранят данные о параметрах функционирования SQL Server. Поэтому повреждение данных в этой базе может привести к непредсказуемым последствиям.
SQL Server 2000 предлагает несколько путей создания баз данных. О Использование Enterprise Manager. Для создания базы данных с помощью
Enterprise Manager в контекстном меню папки Databases на нужном сервере.
выберите пункт New Database (новая база данных). ;
О Использование мастера Create Database Wizard. На панели инструментов Enterprise Manager щелкните на кнопке Run a Wizard (запустить мастера) и выберите нужного мастера.
О Использование Transact-SQL. Этот метод предполагает выполнение команды
CREATE DATABASE.
Кроме перечисленных методов имеется еще несколько способов создания баз данных, например средствами SQL-DMO. Работа с этими механизмами является темой отдельной книги и здесь рассматриваться не будет.
Один сервер может поддерживать, максимум, 32 767 баз данных.
Для создания базы данных необходимо указать ее название, владельца (им будет пользователь, создающий базу данных), размер, определить файлы и группы файлов, из которых будет состоять создаваемая база данных.
Перед созданием базы данных необходимо уяснить следующие моменты:
О по умолчанию базы данных разрешено создавать членам фиксированных ролей сервера sysadmin и dbcreator, хотя разрешение на создание баз данных можно предоставлять и другим пользователям;
О пользователь, создающий базу данных, автоматически становится ее владельцем;
О имя (название) базы данных должно соответствовать правилам именования объектов. Для хранения базы данных используется три типа файлов.
О Primary — первичный файл. Каждая база данных обязательно имеет такой файл, причем только один. В этом файле хранится системная информация о базе данных и ее объектах. Здесь же размещаются системные таблицы. Кроме того, в первичном файле могут храниться и пользовательские данные. По умолчанию этот файл имеет расширение .mdf.
О Secondary — вторичный файл. Здесь содержатся пользовательские данные, не поместившиеся в первичном файле. Если база данных небольшая и нет надобности создавать вторичные файлы, то всю информацию можно хранить в первичном файле. Однако если база данных имеет большие размеры, можно иметь несколько вторичных файлов, причем для удобства работы с данными эти файлы можно хранить на разных дисках. По умолчанию вторичные файлы имеют расширение .ndf.
О Transaction Log — файл журнала транзакций. Минимальный размер такого файла —512 Кбайт. База данных должна иметь, по крайней мере, один файл журнала транзакций. В этом файле будет храниться информация о транзакциях, выполняемых в базе данных. По умолчанию файлам журнала транзакций присваивается расширение .Idf. Отметим, что файл журнала транзакций не может быть помещен на сжатый диск или удаленный сетевой диск (общедоступный сетевой каталог).
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26