Защита данных и файлов журналов

Изменения: 5 декабря 2005 г.

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

Разрешения на доступ к файлам устанавливаются во время выполнения любой из следующих операций над базой данных: создание, присоединение, отсоединение, модификация путем добавления нового файла, резервное копирование и восстановление из копии.

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

  • Разрешения устанавливаются только в файловых системах, поддерживающих управление доступом Win32 (например, NTFS). Компонент Database Engine не поддерживает задание разрешений для файлов, хранящихся в необработанных секциях или в файловых системах FAT и FAT32.
  • Если администратор операционной системы вручную изменяет разрешения для файла, компонент Database Engine не пытается принудительно применить исходные разрешения.
  • Если учетная запись службы SQL Server (MSSQLSERVER) изменяется при помощи среды SQL Server Management Studio, то она пытается добавить эту учетную запись во все существующие файлы баз данных и исправить разрешения. Эта операция может завершиться ошибкой в базах данных, которые были непригодны к использованию в момент изменения учетной записи службы.
  • Если учетная запись службы MSSQLSERVER изменяется при помощи служб Microsoft Windows, администратор операционной системы должен предоставить новой учетной записи службы разрешения Полный доступ для всех файлов баз данных и журналов.

Создание базы данных или добавление нового файла

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

Резервное копирование и восстановление базы данных

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

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

Резервные файлы (файлы отката) обрабатываются аналогичным образом.

Присоединение и отсоединение базы данных

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

ms189128.security(ru-ru,SQL.90).gifПримечание безопасности.
Рекомендуется не присоединять базы данных из неизвестных или сомнительных источников. Такие базы данных могут содержать вредоносный программный код Transact-SQL или привести к возникновению ошибок, изменяя схему или физическую структуру базы данных. Прежде чем использовать базу данных из неизвестного или сомнительного источника, выполните в базе данных на непроизводственном сервере инструкцию DBCC CHECKDB, а также изучите в ней программный код хранимых процедур и другой пользовательский код.

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

Операция Возможно олицетворение учетной записи подключения Кому предоставляются разрешения на доступ к файлам

Отсоединение

Да

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

Отсоединение

Нет

Учетная запись службы SQL Server (MSSQLSERVER) и члены локальной группы администраторов Windows.

Присоединение

Да

Учетная запись службы SQL Server (MSSQLSERVER) и члены локальной группы администраторов Windows.

Присоединение

Нет

Учетная запись службы SQL Server (MSSQLSERVER).

Сценарий

Следующий сценарий демонстрирует разрешения, устанавливаемые при создании базы данных и изменяемые при отсоединении и последующем присоединении базы данных.

User1, член фиксированной серверной роли dbcreator, создает базу данных Sales, состоящую из файлов e:\Data\Sales.mdf и f:\Log\Sales.ldf. В момент создания базы данных учетной записью службы MSSQLSERVER является SQLServiceAccount2 — локальная учетная запись. Разрешения Полный доступ для файлов базы данных и файлов журналов предоставляются SQLServiceAccount2 и членам локальной группы администраторов Windows.

Принимается решение переместить базу данных Sales в другой экземпляр SQL Server на том же сервере. Admin3, член фиксированной серверной роли sysadmin, отсоединяет базу данных. Компонент Database Engine устанавливает для файлов Sales.mdf и Sales.ldf такие разрешения, чтобы доступ к файлам был только у учетной записи Admin3.

Admin3 выполняет подключение к другому экземпляру SQL Server, SalesServer. Учетная запись службы MSSQLSERVER для экземпляра SalesServer — это SQLSalesServiceAccount. Admin3, администратор SQL Server этого экземпляра, присоединяет базу данных Sales. Разрешения Полный доступ предоставляются SQLSalesServiceAccount и членам группы администраторов Windows.

См. также

Основные понятия

Присоединение и отсоединение баз данных

Другие ресурсы

ALTER DATABASE (Transact-SQL)
CREATE DATABASE (Transact-SQL)
BACKUP (Transact-SQL)
RESTORE (Transact-SQL)
Вопросы безопасности баз данных и приложений для работы с базами данных
Перемещение файлов баз данных

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

5 декабря 2005 г.

Новое содержимое
  • Добавлено примечание о безопасности.