1. ms sql server. Общие сведения

Вид материалаДокументы

Содержание


1.2.Параметры MS SQL Server
1.3.Система безопасности
Стандартные роли пользователя базы данных
Стандартные роли на уровне сервера
[with grant options]
Grant execute on procedure
On [table]
Подобный материал:

1.MS SQL server. Общие сведения

1.1.Компоненты MS SQL server


MS SQL server работает в среде операционной системы MS NT server и реализован в виде нескольких сетевых служб:
  • MSSQLServer - основное ядро сервера, реализует функции доступа к данным, только эта служба необходима для доступа к данным;
  • SQLServerAgent – автоматическое выполнение заданий, извещение персонала об ошибках;
  • Microsoft Search (MSSearch) – поиск символьной информации в полях таблиц БД;
  • Microsoft Distributed Transaction Coordinator (MS DTC) – управление распределенными транзакциями (любая транзакция, использующая таблицы из разных БД, реализована как распределенная).

Каждая служба сервера запускается под некоторой учетной записью. Рекомендуется такие учетные записи включать в группу Administrators, для автоматического запуска и давать учетным записям права Log on as a service, Act as a part of the operating system.

Предусмотрены следующие системные БД:
  • Master – хранение параметров конфигурации, login-ы пользователей и др.
  • Msdb – используется SQLServerAgent для хранения информации о заданиях, операторах и оповещениях.
  • Model – исходное ядро которое копируется в создаваемую БД.
  • Tempdb – БД для хранения временных таблиц (для нее не поддерживается журнализация).

Любая БД содержит 18 системных таблиц для хранения метаданных.

Взаимодействие клиента и MS SQL server выполняется через специальные интерфейсы программирования (API) доступа к базам данных

ODBC (Open Database Connectivity) набор функций для доступа к табличным источникам данных. ODBC был использован для построения более совершенных и удобных драйверов Remote Data Objects (RDO), DataAccess Objects (DAO).

DB-Library – библиотека для доступа к серверу.

OLE DB – новая открытая спецификация для доступа к данным.

ADO (ActiveX Data Object) – эволюционное развитие RDO и DAO.

Все API реализованы в виде dll-файлов, которые взаимодействуют с MS SQL server через сетевые библиотеки клиента и сервера.

1.2.Параметры MS SQL Server


Способ лицензирования
  • На сервер (per Server)
  • На клиента (per Seat)

Требования к компьютеру (Standard Edition / Enterprise Edition)
  • Процессор Pentium II / Pentium III
  • Память 64/128 Мбайт
  • Диск 170 / 180 Мбайт + место для баз данных + (90 – утилиты администрирования)
  • Операционная система Windows NT/2000 + Service Pack 4.0 + Internet Explorer 4.0, сетевые протоколы и библиотеки.

Каталоги
  • Backup - резервное копирование.
  • Binn - программы
  • Books - документация
  • Data - базы данных
  • FtData - индексы MS Search
  • DevTolls – средства разработки ODBC, DB-library.
  • Html – документы html, используемые Enterprise Manager.
  • Install – описание инсталяции.
  • Jobs – временные файлы SQLServerAgent.
  • Log – сообщения об ошибках.
  • Repldata – для тиражирования
  • Upgrade – для обновления предыдущих версий.

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


Для подключения к SQL серверу необходимо регистрационное имя (login). Для доступа к данным регистрационное имя отображается в имя пользователя БД (user). Каждая база данных имеет свой список пользователей (user-ов). Один пользователь появляется в момент создания БД – dbo – владелец БД. Он обладает всеми полномочиями в БД и раздает права всем остальным пользователям. Для удобства администрирования вводятся роли (группы пользователей) и права раздаются ролям. Пользователь получает права и запреты ролей, в которые он включен. Стандартные роли баз данных перечислены в таблице1. Права доступа к объектам БД (таблицы, представления, процедуры) выдаются на уровне операций SELECT, INSERT, UPDATE, DELETE, EXECUTE. Кроме этого, предусмотрены специальные права на операции, такие как создание таблиц.


Таблица 1.

Стандартные роли пользователя базы данных

Встроенная роль
базы данных


Назначение

db_owner


Имеет все права в базе данных


db_accessadmin


Может добавлять или удалять пользователей


db_securityadmin

Управляет всеми разрешениями, объектами, ролями и членами ролей


db_ddladmin

Может выполнять любые команды DDL, кроме GRANT, DENY и REVOKE


db_backupoperator


Может выполнять команды DBCC, CHECKPOINT и BACKUP


db_datareader


Может просматривать любые данные в любой таблице БД


db_datawriter


Может модифицировать любые данные в любой таблице БД


db_denydatareader


Запрещается просматривать данные в любой таблице


db_denydatawriter


Запрещается модифицировать данные в любой таблице



Кроме ролей доступа к данным – ролей на уровне баз данных - существуют роли на уровне сервера (см. таблицу 2), которые назначаются не user-у, а login-у.


Таблица 2

Стандартные роли на уровне сервера

Встроенная роль сервера

Назначение

Sysadmin

Может выполнять любые действия в SQL Server.

Serveradmin

Выполняет конфигурирование и выключение сервера

Setupadmin

Управляет связанными серверами и процедурами, автоматически запускающимися при запуске SQL Server

Securityadmin

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

Processadmin

Управляет процессами, запущенными в SQL Server.

Dbcreator

Может создавать и модифицировать базы данных.

Diskadmin

Управляет файлами SQL Server


Аутентификация может выполняться средствами NT (не требуется дополнительной информации для регистрации на SQL сервере в случае успешной регистрации в домене NT) или в смешанном режиме (можно регистрироваться отдельно на SQL сервере).

Группа программ Microsoft SQL Server позволяет быстро получить доступ к основным инструментам и вспомогательным утилитам SQL Server:

Books Online - подробная документация по SQL Server;

Client Network Utility - утилита, позволяющая выполнить настройку клиентских сетевых библиотек;

Enterprise Manager - основная утилита, при помощи которой администратор осуществляет управление серверами баз данных предприятия;

Import and Export Data - мастер Data Transformation Service Wizard, который можно использовать для интеграции SQL Server с другими источни­ками данных;

MSDTC Administrative Console - утилита Microsoft Distributed Transaction Coordinator (MS DTC) Administrative Console, посредством которой можно интегрировать SQL Server с другими источниками данных;

Performance Monitor - системная утилита, позволяющая реализовать наблюдение за использованием SQL Server системных ресурсов (таких, например, как процессор, оперативная память, диск и т. д.);

Profiler - инструмент, предоставляющий администратору широкие возможности для осуществления мониторинга отдельных аспектов функционирования SQL Server;

Query Analyzer - основной инструмент, при помощи которого администратор может выполнять управление базами данных средствами Transact-SQL;

Server Network Utility - утилита, позволяющая выполнить настройку серверных сетевых библиотек;

Service Manager - утилита, при помощи которой администратор управляет всеми службами SQL Server;

Uninstall SQL Server - мастер, который должен выполнить удаление SQL Server 7.0 в случае, если в этом возникнет необходимость.

Полномочия предоставляет владелец (создатель) объекта (таблицы, представления,...) командой

GRANT <полномочия> ON <имя объекта> TO <пользователи/роли>
[WITH GRANT OPTIONS]

Полномочия указываются следующим образом:
  • ALL PRIVILEGES
  • список действий SELECT, INSERT, DELETE, UPDATE (список колонок), REFERENCES (список колонок)

Полномочия на использование хранимой процедуры предоставляются командой

GRANT EXECUTE ON PROCEDURE <имя процедуры> TO <пользователи/роли >


Лишение полномочий выполняется командой

REVOKE [GRANT OPTION FOR]{

{ALL [PRIVILEGES] | SELECT | DELETE | INSERT | UPDATE [(col [, col ...])]}

ON [TABLE] <имя объекта>

FROM <пользователи/роли>

| EXECUTE ON PROCEDURE <имя процедуры> FROM <пользователи>

};

SQL Profiler

Программа SQL Profiler обеспечивает выполнение следующих работ:
  • Контроль работы SQL сервера.
  • Отладка SQL команд и процедур.
  • Аудит работы SQL сервера.

Обычно работа с SQL Profiler заключается в следующем:
  1. Запускаетя SQL Profiler.
  2. Стартуется новая трассировку.
  3. При необходимости указывается запись трассировки в файл.
  4. На вкладке Event можно управлять отображением событий в трассировке.
  5. На вкладке Data Columns можно управлять набором полей, описывающих событие.
  6. На вкладке Filters можно установить фильтрацию событий (например, по имени базы данных и login-у пользователя).