Защита данных и файлов журналов
Изменения: 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, попытка олицетворения может завершиться ошибкой.
Примечание безопасности. |
---|
Рекомендуется не присоединять базы данных из неизвестных или сомнительных источников. Такие базы данных могут содержать вредоносный программный код 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 г. |
|