- •Санкт-Петербург
- •Часть I. Общие сведения о субд Microsoft sql Server 2000 5
- •Часть II. Администрирование sql Server 2000 116
- •Введение
- •Часть I. Общие сведения о субд Microsoft sql server 2000
- •1.1. Возможности sql server 2000
- •1.2. Компоненты sql server 2000
- •Утилита Server Network
- •Встроенные мастера sql Server 2000
- •1.3. Архитектур бдв среде sql Server 2000
- •Логические компоненты базы данных
- •Режимы сопоставления
- •Идентификаторы пользователей, учетные имена, роли и группы
- •Физическая структура базы данных Страницы и экстенты
- •Файлы и группы файлов баз данных
- •Протокол tds
- •Архитектура обработчика запросов
- •Архитектура памяти
- •Архитектура ввода-вывода
- •Архитектура полнотекстовых запросов
- •Организация транзакций
- •Хранилища данных и оперативная аналитическая обработка (olap)
- •Oltp-системы
- •Olap-системы
- •Архитектура разработки приложений
- •Язык баз данных
- •1.4. Инструменты программирования sql server
- •Окно Query
- •Панель Results
- •Вкладка Grids
- •Окно Object Browser
- •Окно отладчика Transact-sql
- •Окно Object Search
- •Утилита командной строки isql
- •Утилита командной строки osql
- •1.5.Язык transact - sql
- •Операторы Transact-sql
- •Язык определения данных
- •Язык управления данными
- •Язык манипулирования данными
- •Идентификаторы
- •Переменные
- •Функции
- •Встроенные функции
- •Функции получения набора строк
- •Агрегатные функции
- •Скалярные функции
- •Скалярные функции
- •Табличные функции
- •Детерминированность функций
- •Типы данных
- •Выражения
- •Использование операторов в выражениях
- •Элементы языка управления ходом выполнения
- •Обработка оператора select
- •Обработка других операторов
- •Команда go
- •Обработка пакета
- •Хранимые процедуры и триггеры
- •Исполнение хранимых процедур и триггеров
- •Сценарии Transact-sql
- •Часть II. Администрирование sql server 2000
- •2.1. Создание и управление бд sql server 2000
- •Методы создания баз данных sql Server
- •Оператор create database
- •Управление базой данных sql Server
- •Просмотр сведений о базе данных
- •Модификация базы данных
- •Настройка параметров базы данных
- •Удаление базы данных sql Server
- •2.2. Импорт и экспорт данных
- •Использование утилиты Ьср и оператора bulk insert
- •Использование различных форматов данных
- •Использование dts
- •Инструменты dts
- •Задачи dts
- •Соединения dts
- •2.3. Копирование в среде sql server 2000
- •Терминология резервного копирования
- •Резервное копирование с использованием Transact-sql
- •Полное резервное копирование базы данных
- •Резервное копирование файла или группы файлов
- •Репликация
- •2.4. Восстановление в среде sql server 2000 Определение последовательности восстановления данных
- •2.5. Репликация Процесс репликации
- •Репликация моментальных снимков
- •2.6. Проверка подлинности в sql server 2000
- •Проверка подлинности средствами Windows
- •Проверка подлинности средствами sql Server 2000
- •Сравнение типов проверки подлинности
- •Клиентские сетевые библиотеки и проверка подлинности.
- •Выбор режима проверки подлинности для sql Server 2000
- •Проверка подлинности Windows
- •Смешанный режим проверки подлинности
- •Делегирование учетной записи пользователя
- •2.7.Разрешение уровня сервера
- •Фиксированные роли базы данных
- •2.8.1. Оптимизация работы sql server 2000
- •2.8.1. Конфигурация сети
- •2.8.2. Индексы
- •Назначение и структура индексов
- •Кластерные индексы
- •Не кластерные индексы
- •Свойства индекса
- •Уникальный индекс.
- •Составной индекс
- •Коэффициент заполнения и разреженность индекса
- •Порядок сортировки
- •2.8.3. Триггеры
- •Исполнение триггеров
- •2.8.4. Хранимые процедуры
- •Производительность
- •Временные хранимые процедуры
- •Расширенные хранимые процедуры
- •Удаленные хранимые процедуры
- •2.8.5. Представления
- •2.8.6. Мониторинг
- •Утилита System Monitor
- •Утилита Task Manager
- •Утилита sql Profiler
- •Утилита sql Query Analyzer
- •Использование Transact-sql
- •Системные хранимые процедуры
- •Команды dbcc
- •Встроенные функции
- •Флаги трассировки
- •Использование snmp
- •2.9. Системы безопасности
- •Шифрование объектов
- •Список литературы
Встроенные функции
Transact-SQL включает несколько встроенных функций (также называемых глобальными функциями Т-SQL), которые позволяют отслеживать специфические сведения об активности SQL Server, например статистику производительности о работе SQL Server с момента последнего запуска. Для просмотра этой информации используются предопределенные счетчики SQL Server, доступ к которым осуществляется с помот щью оператора SELECT. В табл. перечислены наиболее часто используемые глобальные счетчики T-SQL.
Табл.2.12.
Часто используемые глобальные счетчики T-SQL
Счетчик
|
С момента запуска SQL Server показывает |
@@CONNECTIONS |
Число подключений (включая попытки подключения) |
@@CPU_BUSY |
Время работы процессора в миллисекундах |
@@IDLE
|
Время простоя SQL Server в миллисекундах |
@@IO_BUSY |
Время в миллисекундах, затраченное SQL Server на выполнение операций ввода — вывода |
@@PACK_RECEIVED
|
Число пакетов ввода, считанных из сети |
@@PACK_SENT
|
Число пакетов вывода, переданных в сеть |
@@PACKET_ERRORS
|
Число ошибок обработки сетевых пакетов для всехподключений |
@@TOTAL_ERRORS |
Число ошибок при выполнении операций чтения — записи на диск |
@@TOTAL_READ |
Число операций чтения с диска (исключая операции чтения из кэша) |
@@TOTAL WRITE |
Число операций записи на диск |
Флаги трассировки
Флаги трассировки в SQL Server 2000 отключены, и, по-видимому, в будущих версиях этой СУБД поддерживаться не будут. Они позволяют временно включить/отключить определенные функции сервера. При использовании любого флага трассировки в журнал ошибок SQL Server заносится соответствующая запись, т. е. флаги полезны для отладки. Они применяются преимущественно разработчиками. О флагах упоминают в статьях Microsoft Knowledge Base, и включить нужный флаг можно с помощью команды DBCC TRACEON. Например, включив флаг 3205, вы запретите аппаратное сжатие данных на ленточных накопителях.
Использование snmp
Протокол упрощенного управления сетью (Simple Network Management Protocol, SNMP) позволяет передавать управляющие сведения, включая статистику производительности и конфигурационную информацию, между платформами под управлением различных ОС. Средствами SNMP можно вести мониторинг только экземпляра SQL Server по умолчанию. На компьютерах Windows NT 4.0/2000, поддерживающих SNMP, SQL Server 2000 будет автоматически поддерживать данный протокол.
2.9. Системы безопасности
SQL Server имеет шестиуровневую модель безопасности. Нижний уровень этой модели представлен физической системой безопасности. Она подразумевает защиту доступа к инфраструктуре, содержащей внутренние сетевые компоненты и серверное оборудование, поддерживающее работу SQL Server. На втором уровне обеспечивается безопасность сетевого протокола. Она включает такие компоненты, как изоляция транспортного протокола и шифрование пакетов. Третий уровень — доменная безопасность. Она реализуется в сетях Microsoft с помощью служб каталога Active Directory (AD) и самих доменов. На четвертом уровне обеспечивается безопасность локального компьютера. Это означает аудит средствами ОС, поддержка прав доступа к файлам и реестру, а также служб шифрования. Пятый уровень — система безопасности SQL Server, которая включает аутентификацию, авторизацию, шифрование и службы аудита. Наконец, шестой уровень занимает безопасность приложений. Приложение может расширять возможности системы безопасности SQL Server, дополняя ее собственными функциями безопасности.
Физическую безопасность необходимо обеспечить не только для БД SQL Server, но и для других компьютерных данных. В сетях многих компаний об этом жизненно важном уровне системы безопасности нередко забывают. В результате сети не защищены от хищения информации, вандализма и стихийных бедствий. Физическая безопасность подразумевает защиту жизненно важного сервера и сетевого оборудования путем размещения их на территориях с ограниченным доступом. Для очень крупных сетей это может быть целое здание или группа зданий, а для сетей среднего размера — центр хранения и обработки данных. Для небольшой сети достаточного единственного запираемого помещения. Для защиты от стихийных бедствий необходимо планировать и регулярно создавать резервные копии, которые следует хранить отдельно от места эксплуатации сервера.
Данные, передаваемые с клиента на SQL Server, могут быть зашифрованы. Таким образом, даже перехватив пакеты при передаче их по сети, злоумышленник не сможет прочитать их содержимое. Шифрование пакетов реализовано на промежуточном уровне между клиентом и SQL Server (шифрование на прикладном уровне) с помощью протокола SSL (Secure Socket Layer) или шифрования при вызове удаленных процедур (RPC). При обмене данными между двумя компьютерами под управлением Windows 2000 шифрование пакетов реализуется с помощью безопасности IP (IP Security, IPSec). IPSec также поддерживается многими современными маршрутизаторами. Утилита Client Network Utility позволяет сконфигурировать SSL для Net-Libraries в SQL Server 2000.
Шифрование снижает сетевую производительность SQL Server. Прежде чем включать шифрование, следует провести эталонное измерение производительности сети. После включения шифрования следует измерить снижение производительности в сети, чтобы определить, стоит ли использовать эту функцию. Некоторые протоколы SQL Server содержат собственные функции безопасности. Например, Multiprotocol Net-Library использует RFC и API шифрования RPC. Таким образом, SSL-шифрование пакетов для этого протокола излишне.
Кроме того, существует ряд особенностей для каждого конкретного протокола. Например, вместо порта по умолчанию 1433 для протокола TCP/IP следует использовать уникальный порт, а в качестве базового протокола безопасности — IPSec. Следует отключить оповещения сервера именованных каналов, чтобы сервер не фигурировал в списке графического интерфейса Query Analyzer. Также следует отключить широковещательную передачу для почтовых ящиков, чтобы NetBIOS-имя сервера не появлялось в сети.
Другая распространенная методика обеспечения безопасности сетевого протокола — применение брандмауэра на основе Microsoft Internet Security and Acceleration Server или специализированного оборудования. Простым решением является использование разных протоколов во внутренней и внешней сети. Например, во внутренней сети можно использовать IPX/SPX, а во внешней — TCP/IP. Чтобы получить доступ к внутренней сети из внешней, достаточно подключиться к виртуальной частной сети (virtual private network, VPN).
Если компьютер, на котором работает SQL Server 2000, является сервером — членом домена Windows NT или Windows 2000, можно проверить пользователя с помощью его идентификатора безопасности (security identifier, SID). Для выполнения аутентификации средствами Windows администратор БД наделяет учетную запись пользователя или группы привилегиями для доступа к SQL Server и выполнения на нем определенных действий. Доменные учетные записи пользователей Windows обеспечивают надежную проверку и блокировку учетных записей. Доменные пароли Windows шифруют во избежание их перехвата при передаче по сети. Они чувствительны к регистру символов, что затрудняет их подбор. Кроме того, используют такие приемы, как определение минимальной длины пароля и срока его действия. Если при установке SQL Server задан чувствительный к регистру порядок сортировки, то пароль, назначенный пользователю, также окажется чувствительным к регистру. При входе в систему с клиента Windows NT или Windows 2000 доменные пароли Windows всегда чувствительны к регистру. Механизм SQL Server, позволяющий доменным учетным записям Windows устанавливать соединения с SQL Server, обсуждается далее в разделе «Безопасность SQL Server».
Другая мощная возможность защиты сетей Windows 2000, работающих под управлением служб каталога Active Directory и протокола взаимной аутентификации Kerberos, — делегирование учетных записей системы безопасности. Она позволяет проверять идентификационные данные пользователя при подключении одного компьютера к другому в сети, при этом пользователь проходит регистрацию лишь однажды (на первом компьютере).
SQL Server 2000 может работать под управлением Windows 98, Windows Millennium Edition (ME), Windows NT и Windows 2000. Windows NT Server, Windows 2000 Server и более поздние редакции этих ОС обеспечивают наивысший уровень безопасности локального компьютера, доступный SQL Server 2000. Поэтому ОС, минимально необходимой для SQL Server 2000 Enterprise Edition, является Windows NT Server или Windows 2000 Server. Эти ОС поддерживают аудит системы безопасности посредством службы Event Log, позволяя отслеживать такие события, как вход пользователей в систему и попытки обращения к файловым объектам (например, к файлам БД). Аудит файловых объектов доступен в любом разделе NTFS (New Technology File System). NTFS необходима для работы SQL Server 2000 в Windows NT или Windows 2000. Эта файловая система поддерживает дополнительные функции безопасности, в том числе поддержку прав доступа к локальным каталогам и файлам, а также сервисы шифрования. Наконец, программа SQL Server Setup автоматически конфигурирует ограничения доступа к уязвимым настройкам реестра, связанным с SQL Server. После изменения системы безопасности ОС необходимо тщательно проверять работу SQL Server, чтобы убедиться в сохранении должной производительности и в том, что сконфигурированные ограничения не заблокировали никаких функций SQL Server.
SQL Server предоставляет обширный набор служб безопасности для защиты обслуживаемых им баз данных. Средства безопасности SQL Server можно разделить на четыре категории: аутентификация, авторизация, аудит и шифрование. Процесс предоставления доступа к БД состоит из двух фаз: сначала выполняется подключение к SQL Server (аутентификация), а затем открывается доступ к базе данных с ее объектами (авторизация). Разрешения на работу с объектами (object permissions) позволяют или запрещают пользователю выполнять действия над объектами БД, например таблицами и представлениями. Разрешения на выполнение SQL-операторов (statement permissions) позволяют или запрещают пользователям создавать объекты, делать копии БД и файлов журнала. Действия, выполняемые в БД, отслеживаются с помощью аудита SQL Server. Механизм аудита SQL Server, в отличие от службы Event Log в Windows NT и Windows 2000, создан специально для аудита объектов БД. Некоторые объекты БД, например хранимые процедуры, разрешается зашифровать, чтобы защитить их содержимое.
SQL Server 2000 поддерживает два режима аутентификации: средствами Windows и средствами SQL Server. Первая позволяет локальным или доменным учетным записям Windows (Windows NT или Windows 2000) подключаться к SQL Server. Вторая дает пользователям возможность подключаться к SQL Server с помощью идентификатора SQL Server. Допустимо сконфигурировать метод аутентификации на сервере во время установки SQL Server или позже с помощью диалогового окна SQL Server Properties (Configure) в Enterprise Manager (рис. 13-2).
Параметры режима аутентификации позволяют использовать аутентификацию средствами Windows и SQL Server одновременно или только аутентификацию средствами Windows. Режим, в котором применяются оба метода аутентификации, называется смешанный режим (Mixed Mode).
Использование аутентификации средствами Windows позволяет создать интегрированную систему регистрации пользователя, поскольку SQL Server использует ОС локального компьютера или контролера домена для проверки и сопровождения учетной записи пользователя. Например, если UserOl — локальная пользовательская учетная запись, созданная на автономном сервере SQL с именем ServerOl, можно предоставить учетной записи SERVER01 \User01 право на подключение к SQL Server или отобрать у нее это право. Если User02 — доменная учетная запись, созданная на контроллере домена DomainOl, можно дать или отобрать право на подключение к SQL Server у записи DOMAIN01\User02.
Также разрешено наделять привилегиями и лишать их группы Windows NT и Windows 2000. Привилегии, предоставленные группе или отобранные у нее, наследуют все ее члены. Явный отказ в предоставлении доступа (deny) заменяет все другие привилегии, назначенные пользователю или любым группам, членом которых он может быть. В Windows NT и Windows 2000 предусмотрены два типа групп, которым могут быть предоставлены права на подключение к серверу: группы на локальном компьютере и доменные группы. Первые хранятся в ОС компьютера, на котором работает SQL Server, и подразделяются на два типа: встроенные и пользовательские. Доменные группы хранятся на контроллерах домена Windows, они бывают трех типов: локальные для домена, глобальные и универсальные.
Аутентификация выполняется успешно, если учетной записи пользователя или его группе предоставлено право на подключение к SQL Server. При аутентификации средствами Windows пользователь может регистрироваться как на локальном компьютере SQL Server, так и на любом компьютере домена, при этом отдельная регистрация в SQL Server не требуется. Если настроена смешанная аутентификация, то методом по умолчанию для подключения к SQL Server является аутентификация средствами Windows.
Случаи, когда аутентификация средствами SQL Server является единственным способом подключения к SQL Server, перечислены ниже:
когда клиент и сервер относятся к разным пространствам имен идентификаторов. Если компьютер с SQL Server является автономным сервером, то клиент, зарегистрированный в домене, должен использовать аутентификацию средствами SQL Server. Клиент может использовать аутентификацию средствами Windows, если он зарегистрировался локально, SQL Server сконфигурирован как автономный сервер, а также на клиенте и сервере существуют одинаковые комбинации «учетная запись — пароль»;
когда SQL Server работает в Windows 98 или Windows ME.
SQL Server, установленный в Windows 98 или Windows ME, поддерживает только аутентификацию средствами SQL Server;
• если приложение написано специально для использования аутентификации средства ми SQL Server.
Некоторые учетные имена SQL Server (SQL Server account objects) создаются во время установки SQL Server, например системный администратор SQL Server (sa). Это учетное имя приписывается фиксированной роли на уровне сервера (серверной роли) Sys-Admin, и его нельзя удалить или модифицировать. Идентификатору sa соответствует особое пользовательское учетное имя: владелец базы данных (dbo), которое создается в каждой БД. Помимо прочего, это соответствие делает dbo членом группы SysAdmin. О серверных ролях рассказано в следующем разделе этого занятия. Другое специальное учетное имя — guest — открывает доступ к БД любому пользователю, проверенному SQL Server.
Чтобы пользовательское учетное имя получило доступ к БД, одной аутентификации недостаточно. Кроме этого, у учетного имени, группы или роли, прошедшей аутентификацию, должно быть разрешение на исполнение SQL-выражений или на работу с объектами. Как правило, авторизация осуществляется в контексте БД. Таким образом ограничивается область видимости пользовательского доступа. Например, разрешение на доступ к таблице из БД Pubs не дает пользователю права на доступ к объектам БД Master. Однако есть особые административные разрешения, область видимости которых распространяется на весь SQL Server.
Назначение разрешений каждому пользователю в отдельности занимает много времени при сопровождении БД со средним и большим числом пользователей; Для облегчения рутинных административных операций по назначению разрешений пользователям SQL Server 2000 поддерживает группы Windows и роли SQL Server. Все группы, прошедшие аутентификацию, также подлежат авторизации. Например, глобальной доменной группе GlobalGroupO 1 в домене DomainOl назначен ряд привилегий для подключения к SQL Server (аутентификации) и исполнения оператора SELECT для некоторой таблицы или представления в этой БД. В этом случае любые пользователи из домена — члены группы GlobalGroupO 1 — смогут исполнить оператор SELECT (если где-либо еще для этого разрешения не задано состояние Deny, о котором мы расскажем чуть позже).
Роли похожи на группы, но создаются и сопровождаются в рамках SQL Server. Существует два типа ролей: стандартные и прикладные. Стандартным ролям (standard roles) назначаются привилегии, которые могут наследоваться пользователями, получающими членство в роли. Членами групп могут быть пользователи Windows и (в зависимости от типа группы) группы Windows. В отличие от групп стандартные роли могут содержать все типы учетных имен: учетные записи пользователей и групп Windows, идентификаторы SQL Server и другие стандартные роли.
П
оскольку
привилегии являются кумулятивными, то
с помощью вложенных групп и стандартных
ролей (групп, содержащих другие группы
и роли, которые тоже содержат группы и
роли) можно построить иерархию привилегий.
Например, если пользователю UserOl
назначена роль Role02,
а сама она входит в RoleOI,
то роль Role02
является вложенной для RoleOl.
Если назначить ролям RoleOI
и Role02
разные привилегии, то пользователь
UserOl
будет обладать всеми привилегиями,
назначенными для обеих ролей.
Рис.2.7. Схема иерархических отношений, иллюстрирующая
наследование пользователем привилегий, назначенных ролям RoleOl и RoleOZ
Привилегии
Для упрощения администрирования БД и самого сервера в SQL Server предусмотрен ряд стандартных предопределенных ролей. В основном их можно разделить на две категории: фиксированные роли на уровне сервера, или серверные роли (fixed server role), и фиксированные роли на уровне БД (fixed database role). Членство в фиксированных ролях на уровне сервера дает возможность администрирования сервера. Например, если сделать пользователя членом фиксированной серверной роли ServerAdmin, то он сможет настраивать общесерверные параметры. Программа SQL Server Setup приписывает группу администраторов Windows (BUILTIN\Administrators) к фиксированной серверной роли SysAdmin. Члены фиксированных ролей на уровне БД могут администрировать некоторые БД. Например, если сделать пользователя членом фиксированной роли на уровне БД db_BackupOperator, он сможет создавать резервные копии этой БД. Чтобы просмотреть привилегии, назначенные для каждой фиксированной серверной роли, исполните команду sp_srvrolepermission имя_фиксированной_серверной_роли, где sp_srvrolepermission — имя системной хранимой процедуры.
Все пользователи, группы и роли автоматически являются членами роли Public. Эта специальная роль похожа на специальную группу Everyone в Windows NT и Windows 2000. Добавлять или удалять членов этой роли, как и саму роль, нельзя. Роль Public есть в каждой БД, где по умолчанию для нее назначен ряд разрешений. Для защиты БД можно отобрать эти разрешения у роли Public. Если группы Windows не соответствуют административным потребностям, можно создать стандартные роли на уровне базы данных.
Иногда приложению и пользователю требуются разные разрешения. В этом случае непрактично конфигурировать безопасность приложения с помощью разрешений SQL Server. В SQL Server предусмотрены прикладные роли (application roles), обеспечивающие поддержку разрешений только для приложения. Прикладные роли не содержат членов и должны передавать пароль. Эти особые роли разработаны для управления привилегиями пользователей, обращающихся к БД через некоторое приложение. Прикладным ролям назначаются разрешения на уровне базы данных. После проверки пользователя прикладная роль активируется с помощью системной хранимой процедуры sp_setapprole, которая позволяет зашифровать пароль прикладной роли перед передачей его на сервер. Когда активна прикладная роль, пользователь теряет все свои разрешения до конца сеанса или работы приложения. Если приложение должно обратиться к другой БД в период активности прикладной роли, оно сможет получить для этой БД лишь те разрешения, которые назначены учетному имени guest.
Разрешение может быть предоставлено (Grant), снято (Revoke) или в нем может быть отказано (Deny). При предоставлении разрешения пользователю, группе или роли (любому учетному имени) командой Grant разрешение назначается явно. При снятии разрешения с учетного имени (командой Revoke) последнее теряет соответствующее разрешение. Наконец, при отказе в предоставлении разрешения (с помощью команды Deny) на получение этого разрешения налагается явный запрет. Пользовательские разрешения представляют собой сумму всех разрешений, назначенных непосредственно этому пользователю или его группе. Сначала SQL Server обрабатывает состояние Deny, которое отнимает разрешение — независимо от способа его получения. Поэтому, если пользователь наследует это состояние или получает его явно, оно исключает все другие разрешения. Допустим, пользователю UserOl дано разрешение на исполнение оператора SELECT для таблицы TableOl. Этот пользователь является членом группы GroupO 1, обладающей разрешением на исполнение оператора INSERT для той же самой таблицы. В результате учетное имя этого пользователя получает права на исполнение операторов SELECT и INSERT для таблицы TableOl. Однако если группа GroupO 1 является членом роли RoIeOl, у которой разрешения SELECT и INSERT находятся в состоянии Deny, пользователь не сможет ни извлечь данные из таблицы TableOl, ни добавить в нее данные.
В SQL Server предусмотрены разрешения трех типов: разрешения на работу с объектами (object permissions), разрешения на выполнение SQL-операторов (statement permissions) и предполагаемые разрешения (implied permissions). Разрешения на работу с объектами относятся к объектам БД и могут различаться для разных объектов. Например, для хранимой процедуры допустимо назначить разрешение EXECUTE, а для таблицы — SELECT. Разрешения на выполнение SQL-операторов применяются к операторам Transact-SQL CREATE и BACKUP, исполняемым в БД. Например, разрешение CREATE TABLE дает пользователю возможность создавать таблицы в БД. Далее перечислены разрешения на работу с объектами и выполнение SQL-операторов для различных объектов БД.
Табл. 2.13.
Разрешения на работу с объектами и выполнение SQL - операторов
Разрешение |
Разрешаемое действие |
CREATE (разрешение на выполнение SQL-оператора)
|
Создание БД, таблиц, представлений, хранимых процедур, определений умолчания, правил и функций
|
BACKUP (разрешение на выполнение SQL-оператора)
|
Резервное копирование БД и файла журнала
|
SELECT и UPDATE (разрешение на работу с объектом)
|
Запросы и модификация таблиц, представлений и их столбцов
|
INSERT и DELETE (разрешение на работу с объектом)
|
Добавление и удаление таблиц, представлений и их записей |
EXECUTE (разрешение на работу с объектом)
|
Выполнение хранимых процедур |
Предполагаемые разрешения назначаются владельцам объектов, фиксированным ролям на уровне сервера и баз данных; их нельзя отобрать. Некоторые предполагаемые разрешения на выполнение SQL-операторов можно получить только через членство в фиксированной серверной роли. Например, чтобы иметь право на исполнение оператора SHUTDOWN, пользователь должен быть членом фиксированной серверной роли ServerAdmin.
Служба Event Log обеспечивает общий аудит ОС Windows NT и Windows 2000. SQL Server поддерживает аудит идентификаторов и событий системы безопасности. Успех или неудача аутентификации того или иного пользователя — это серверный параметр, который разрешается сконфигурировать на вкладке Security диалогового окна SQL Server Properties.
Чтобы задействовать аудит, следует настроить его с помощью SQL Profiler. События системы безопасности регистрируются в файле или в таблице БД. Необходимо указать подлежащие аудиту события, столбцы для трассировки и свойства для хранения трассировочного файла или таблицы. После выполнения трассировки событий системы безопасности с помощью SQL Profiler, файл трассировки открывают в нем же или выполняют запрос к трассировочной таблице.
