Администрирование SQL Server 2000

Автор работы: Пользователь скрыл имя, 07 Января 2011 в 18:00, реферат

Описание

Централизованная база данных хранится в памяти одной вычислительной системы, то есть база данных располагается на одном компьютере. Если для этого компьютера установлена поддержка сети, то множество пользователей с клиентских компьютеров могут одновременно обращаться к информации, хранящейся в центральной базе данных. В локальных сетях чаще всего используется именно такой способ обработки данных. Системы централизованных баз данных могут существенно различаться в зависимости от их архитектуры

Работа состоит из  1 файл

администрирование ms sql server.doc

— 112.50 Кб (Скачать документ)

     В самом общем виде домен определяется заданием некоторого базового типа данных, к которому относятся элементы домена, и произвольного логического выражения, применяемого к элементам данных. Если при вычислении логического условия относительно элемента данных в результате получено значение «истина», то этот элемент принадлежит домену. В простейшем случае домен определяется как допустимое потенциальное множество значений одного типа. Например, совокупность дат рождения всех сотрудников составляет «домен дат рождения», а имена всех сотрудников составляют «домен имен сотрудников». Домен дат рождения имеет тип данных, позволяющий хранить информацию о моментах времени, а домен имен сотрудников должен иметь символьный тип данных. 

     В один домен могут входить значения из нескольких столбцов, объединенных, помимо одинакового типа данных, еще и логически. Например, домен может состоять из столбца с датой поступления на работу и столбца с датой увольнения. Но в этот домен нельзя включить столбец с датой рождения, так как дата поступления или увольнения с работы не связана с датой рождения. 

     Если  два значения берутся из одного и  того же домена, то можно выполнять  сравнение этих двух значений. Например, если два значения взяты из домена дат рождения, то можно сравнить их и определить, кто из сотрудников старше. Если же значения берутся из разных доменов, то их сравнение не допускается, так как, по всей вероятности, оно не имеет смысла. Например, из сравнения имени и даты рождения сотрудника ничего определенного не выйдет. 

     В большинстве систем управления реляционными базами данных понятие домена не реализовано. Каждый элемент данных в отношении может быть определен с указанием его адреса в формате A[i , j], где А — элемент данных, i — строка отношений, j — номер атрибута отношения. 

     Количество  атрибутов в отношении определяет его порядок (или степень. Множество значений А [ i , j ] при постоянном i и всех возможных j образуют кортеж (или попросту строку таблицы). Количество всех кортежей в отношении определяет его мощность, или кардинальное число. Мощность отношения, в отличие от порядка отношения, может со временем меняться. Совокупность всех кортежей образует тело отношения (или собственно таблицу). [7]  

     Поскольку отношения являются математическими  множествами, которые по определению  не могут содержать совпадающих элементов, никакие два кортежа в отношении не могут быть дубликатами друг друга в любой момент времени. 

     Каждый  столбец (поле) имеет имя, которое  обычно записывается в верхней части  таблицы. При проектировании таблиц в рамках конкретной СУБД имеется возможность выбрать для каждого поля его тип, то есть определить набор правил по его отображению, а также определить те операции, которые можно выполнять над данными, хранящимися в этом поле. Наборы типов могут различаться у разных СУБД.[8]  

     Имя поля должно быть уникальным в таблице, однако различные таблицы могут  иметь поля с одинаковыми именами. Любая таблица должна иметь, по крайней  мере, одно поле; поля расположены в  таблице в соответствии с порядком следования их имен при ее создании. В отличие от полей, строки не имеют имен; порядок их следования в таблице не определен, а количество логически не ограничено. 

     Так как строки в таблице не упорядочены, невозможно выбрать строку по ее позиции  — среди них не существует «первой», «второй», «последней». Любая таблица имеет один или несколько столбцов, значения в которых однозначно идентифицируют каждую ее строку. Такой столбец (или комбинация столбцов) называется первичным ключом (primary key). В таблице Спортивная секция первичный ключ — это столбец Ф.И.О. Такой выбор первичного ключа имеет существенный недостаток: невозможно записать в секцию двух детей с одним и тем же значение поля Ф.И.О., что на практике встречается не так уж редко. Именно поэтому часто вводят искусственное поле, предназначенное для нумерации записей в таблице. Таким полем, например, может быть его порядковый номер в журнале для каждого ребенка, который сможет обеспечить уникальность каждой записи в таблице. Ключ должен обладать следующими свойствами. Уникальностью. В каждый момент времени никакие два различных кортежа отношения не имеют одинакового значения для комбинации входящих в ключ атрибутов. То есть в таблице не может быть двух строк, имеющих одинаковый идентификационный номер или номер паспорта. 

     Минимальностью. Ни один из входящих в ключ атрибутов не может быть исключен из ключа без нарушения уникальности. Это означает, что не стоит создавать ключ, включающий и номер паспорта, и идентификационный номер. Достаточно использовать любой из этих атрибутов, чтобы однозначно идентифицировать кортеж. Не стоит также включать в ключ неуникальный атрибут, то есть запрещается использование в качестве ключа комбинации идентификационного номера и имени служащего. При исключении имени служащего из ключа все равно можно уникально идентифицировать каждую строку. 

     Выполнение  условия уникальности является обязательным. В то же время при необходимости  может быть допущено нарушение условия  минимальности. 

     Каждое  отношение имеет, по крайней мере, один возможный ключ, поскольку совокупность всех его атрибутов удовлетворяет условию уникальности — это следует из самого определения отношения. 

     Один  из возможных ключей произвольно  выбирается в качестве первичного ключа. Остальные возможные ключи, если они есть, принимаются за альтернативные ключи. Например, если в качестве первичного ключа выбрать идентификационный номер, то номер паспорта будет альтернативным ключом.[9]  

     Взаимосвязь таблиц является важнейшим элементом  реляционной модели данных. Она поддерживается внешними ключами (foreign key). Рассмотрим пример. При описании модели реляционной базы данных для одного и того же понятия часто употребляют различные термины, что зависит от уровня описания (теория или практика) и системы (Access, SQL Server, dBase).  

     Администрирование  

     На  любом предприятии где используются в работе средства SQL Server 2000, обязан быть человек, ответственный за администрирование баз данных, их резервное копирование на случай сбоя. Также необходимо разграничить доступ к информации внутри предприятия. Некоторая информация может быть доступна всему персоналу, другая часть информации не должна выходить за рамки отдела. Например, доступ ко всей информации по заработной плате сотрудников должен иметь только работник бухгалтерии, занимающийся ее начислением. Все остальные сотрудники предприятия в этом случае владеют информацией только о размере своей заработной платы. Третья категория информации является строго конфиденциальной и должна быть доступна только определенным людям. Примером может служить сведения о собственных оригинальных разработках и технологиях, которые компания стремится уберечь от конкурентов. Выход такой информации за пределы компании может принести большие убытки. 

     Кроме кражи информации имеется возможность  ее повреждения вследствие ошибки оператора  или неправильно написанного приложения. Последствия таких действий могут повлечь за собой серьезные финансовые потери. Например, если данные о клиентах будут потеряны, придется заново собирать нужную информацию. А это потеря времени, финансов, да и конкуренты в это время воспользуются ситуацией и захватят рынок. 

     В современных условиях, когда информация имеет огромное значение, принятие мер для предотвращения несанкционированного доступа, предупреждения потери или  повреждения информации становятся неотъемлемой частью работы любой компании. В последнее время все больше предприятий отказываются от бумажных хранилищ информации и переходят к компьютерной обработке документов. Система хранения информации должна быть максимально защищена как от случайного, так и от преднамеренного повреждения или искажения информации. При создании базы данных разработчик должен спланировать ее таким образом, чтобы любой пользователь не мог сделать что-либо, не имея на это соответствующих прав. Не следует надеяться на компетентность пользователя и его порядочность. Возможно исправление или удаление данных не по злому умыслу, а просто из-за невнимательности или ошибки. Система, насколько это возможно, должна препятствовать подобным действиям.[10]  

     Система управления базами данных Microsoft SQL Server 2000 имеет разнообразные средства администрирования для обеспечения защиты данных 

     Общие правила разграничения доступа  

     Если  база данных предназначена для использования  более чем одним человеком, необходимо позаботиться о разграничении прав доступа. В процессе планирования системы безопасности следует определить, какие данные могут просматривать те или иные пользователи и какие действия в базе данных им разрешено при этом предпринимать. 

     После проектирования логической структуры  базы данных, связей между таблицами, ограничений целостности и других структур необходимо определить круг пользователей, которые будут иметь доступ к базе данных. Чтобы разрешить этим пользователям обращаться к серверу, необходимо создать для них учетные записи в SQL Server либо предоставить им доступ посредством учетных записей в домене, если используется система безопасности Windows NT. Разрешение доступа к серверу не дает автоматически доступа к базе данных и ее объектам. 

     Второй  этап планирования системы безопасности заключается в определении действий, которые может выполнять в базе данных конкретный пользователь. Полный доступ к базе данных и всем ее объектам имеет администратор, который является своего рода хозяином базы данных — ему позволено все. Второй человек после администратора — это владелец объекта. При создании любого объекта в базе данных ему назначается владелец, который может устанавливать права доступа к этому объекту, модифицировать его и удалять. Третья категория пользователей имеет права доступа, выданные им администратором или владельцем объекта. 

     Следует тщательно планировать права, выдаваемые пользователям в соответствии с  занимаемой должностью и необходимостью выполнения конкретных действий. Так  вовсе необязательно назначать  права на изменение данных в таблице, содержащей сведения о зарплате сотрудников, директору компании. И, конечно же, нельзя предоставлять подобные права рядовому сотруднику. Вы можете выдать права только на ввод новых данных, например информации о новых клиентах. Неправильный ввод такой информации не нанесет серьезного ущерба компании, но если добавить к правам ввода еще и возможность исправления или удаления уже существующих данных, то злоумышленник, завладевший паролем, может нанести существенные финансовые потери. Кроме этого, следует учесть ущерб от работы пользователей, не сильно задумывающихся о последствиях своих действий. 

     Правильно спроектированная система безопасности не должна позволять пользователю выполнять  действия, выходящие за рамки его  полномочий. Не лишним также будет предусмотреть дополнительные средства защиты, например, не разрешать удалять данные, если срок их хранения не истек, то есть они не потеряли актуальность. Можно также предоставлять служащим, которые недавно устроились на работу, минимальный доступ или доступ только в режиме чтения. Позже им можно будет разрешить и изменение данных. 

     Следует внимательно относиться к движению сотрудников внутри компании, их переходам  из одного отдела в другой. Изменения  занимаемой должности должны незамедлительно  отражаться на правах доступа. Своевременно сдеует удалять пользователей, которые больше не работают в компании. Если оставить человеку, занимавшему руководящую должность и ушедшему в конкурирующую фирму, доступ к данным, он может воспользоваться ими и нанести ущерб вашей компании.  

     Архитектура системы безопасности SQL Server 2000

     Система безопасности 

     Система безопасности SQL Server 2000 базируется на пользователях  и учетных записях. Пользователи проходят следующие два этапа  проверки системой безопасности. На первом этапе пользователь идентифицируется по имени учетной записи и паролю, то есть проходит аутентификацию. Если данные введены правильно, пользователь подключается к SQL Server. Подключение к SQL Server, или регистрация, не дает автоматического доступа к базам данных. Для каждой базы данных сервера регистрационное имя (или учетная запись — login) должно отображаться в имя пользователя базы данных (user). На втором этапе, на основе прав, выданных пользователю как пользователю базы данных (user), его регистрационное имя (login) получает доступ к соответствующей базе данных. В разных базах данных login одного и того же пользователя может иметь одинаковые или разные имена user с разными правами доступа. 

     Для доступа приложений к базам данных им также понадобятся права. Чаще всего приложениям выдаются те же права, которые предоставлены пользователям, запускающим эти приложения. Однако для работы некоторых приложений необходимо иметь фиксированный набор прав доступа, не зависящих от прав доступа пользователя. SQL Server 2000 позволяет предоставить такие с применением специальных ролей приложения. 

     Итак, на уровне сервера система безопасности оперирует следующими понятиями: 

     1) аутентификация (authentication); 

Информация о работе Администрирование SQL Server 2000