Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Файлы данных и журналов транзакций базы данных можно отсоединить, а затем повторно подключиться к одному или другому экземпляру SQL Server. Отключение и присоединение базы данных полезно, если вы хотите изменить базу данных на другой экземпляр SQL Server на одном компьютере или переместить базу данных.
Формат хранилища SQL Server на диске совпадает с 64-разрядными и 32-разрядными средами. Поэтому подключение работает в 32-разрядных и 64-разрядных средах. База данных, отсоединяемая от экземпляра сервера, работающего в одной среде, может быть присоединена к экземпляру сервера, работающему в другой среде.
Безопасность
Разрешения на доступ к файлам устанавливаются во время выполнения определенных операций с базами данных, включая отсоединение и присоединение баз данных.
Это важно
Не рекомендуется подключать или восстанавливать базы данных, полученные из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных. Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код.
Отключение базы данных
Отключение базы данных удаляет ее из экземпляра SQL Server, но оставляет базу данных нетронутой в его файлах данных и файлах журнала транзакций. Затем эти файлы можно использовать для подключения базы данных к любому экземпляру SQL Server, включая сервер, с которого была отключена база данных.
Невозможно отключить базу данных, если выполняется одно из следующих условий:
База данных реплицируется и публикуется. При репликации база данных должна быть закрыта для общего доступа. Прежде чем его отсоединить, необходимо отключить публикацию, выполнив команду sp_replicationdboption.
Замечание
Если вы не можете использовать sp_replicationdboption, можно удалить репликацию, выполнив sp_removedbreplication.
в базе данных имеется моментальный снимок базы данных.
Прежде чем отсоединить базу данных, необходимо удалить все её моментальные снимки. Дополнительные сведения см. в разделе "Удаление моментального снимка базы данных" (Transact-SQL).
Замечание
Моментальный снимок базы данных нельзя отсоединить или присоединить.
База данных зеркально отражается в сеансе зеркального отображения базы данных.
Если сеанс не будет завершен, база данных не может быть отключена. Дополнительные сведения см. в статье об удалении зеркального отображения базы данных (SQL Server).
База данных подозревается. Нельзя отсоединить подозреваемую базу данных; прежде чем её отсоединить, её необходимо поместить в аварийный режим. Дополнительные сведения о том, как поместить базу данных в аварийный режим, см. в разделе ALTER DATABASE (Transact-SQL).
База данных — это системная база данных.
Резервное копирование, восстановление и отключение
Отключение базы данных только для чтения приводит к утрате информации об основаниях разностных резервных копий. Дополнительные сведения см. в разделе Разностные резервные копии (SQL Server).
Реагирование на ошибки отсоединения
Ошибки, созданные при отключении базы данных, могут препятствовать закрытию базы данных и перестроению журнала транзакций. Если появится сообщение об ошибке, выполните следующие действия по исправлению:
Повторно прикрепите все файлы, связанные с базой данных, а не только первичный файл.
Устраните проблему, вызвавшую сообщение об ошибке.
Отсоедините базу данных снова.
Присоединение базы данных
Вы можете присоединить скопированную или отсоединяемую базу данных SQL Server. При присоединении экземпляра сервера SQL Server 2014 файлы каталога присоединяются из предыдущего расположения вместе с другими файлами базы данных, как и в SQL Server 2005. Дополнительные сведения см. в разделе Обновление полнотекстового поиска.
При присоединении базы данных все файлы данных (MDF и NDF-файлы) должны быть доступны. Если у какого-либо файла данных путь отличается от того, каким он был при первом создании или последнем присоединении, необходимо указать текущий путь к файлу.
Замечание
Если присоединенный первичный файл данных доступен только для чтения, ядро СУБД предполагает, что база данных доступна только для чтения.
При первом присоединении зашифрованной базы данных к экземпляру SQL Server владелец базы данных должен открыть главный ключ базы данных, выполнив следующую инструкцию: OPEN MASTER KEY DECRYPTION BY PASSWORD = 'password
. Рекомендуется включить автоматическую расшифровку главного ключа, выполнив следующую инструкцию: ALTER MASTER KEY ADD ENCRYPTION BY SERVICE MASTER KEY. Дополнительные сведения см. в разделе CREATE MASTER KEY (Transact-SQL) и ALTER MASTER KEY (Transact-SQL).
Требование к присоединению файлов журнала частично зависит от того, является ли база данных доступной только для чтения или для чтения и записи, как указано ниже.
Для базы данных чтения и записи обычно можно подключить файл журнала в новом расположении. Однако в некоторых случаях для повторного кэширования базы данных требуются существующие файлы журнала. Поэтому важно всегда хранить все отсоединяемые файлы журнала, пока база данных не будет успешно подключена без них.
Если база данных чтения и записи содержит один файл журнала, и вы не указываете новое расположение для файла журнала, операция присоединения выглядит в старом расположении для файла. Если он найден, используется старый файл журнала независимо от того, была ли база данных закрыта. Тем не менее, если старый файл журнала не найден и если база данных была закрыта чисто и не имеет активной цепочки журналов, операция присоединения пытается создать новый файл журнала для базы данных.
Если присоединенный основной файл данных доступен только для чтения, SQL Server не может обновить расположение журнала, хранящееся в основном файле.
Изменения метаданных при присоединении базы данных
Когда база данных только для чтения отсоединяется, а затем повторно подключена, данные резервного копирования о текущей разностной базе теряются. Разностная база — это последняя полная резервная копия всех данных в базе данных или в подмножестве файлов или файловых групп базы данных. Без базовой резервной копии база данных master становится несинхронизирована с базой данных, доступной только для чтения, поэтому разностные резервные копии, сделанные после этого, могут привести к непредвиденным результатам. Таким образом, если вы используете разностные резервные копии с базой данных, доступной только для чтения, необходимо установить новую разностную базу, выполнив полную резервную копию после повторного кэширования базы данных. Сведения о разностных резервных копиях см. в разделе "Разностные резервные копии" (SQL Server).
При подключении происходит запуск базы данных. Как правило, присоединение базы данных помещает ее в то же состояние, в которое оно находилось при отключении или копировании. Однако операции подключения и отсоединения отключают цепочку владения между базами данных. Сведения о том, как включить цепочки владения, см. в разделе Параметр конфигурации сервера "cross db ownership chaining". Кроме того, В случае подключения базы данных параметр TRUSTWORTHY имеет значение OFF. Дополнительные сведения о том, как установить TRUSTWORTHY в значении ON, см. в разделе ALTER DATABASE (Transact-SQL).
Резервное копирование и восстановление и подключение
Как и любая база данных, полностью или частично автономная, база данных с восстановлением файлов не может быть присоединена. При остановке последовательности восстановления можно подключить базу данных. Затем можно перезапустить последовательность восстановления.
Присоединение базы данных к другому экземпляру сервера
Это важно
База данных, созданная в более поздней версии SQL Server, не может быть подключена в ранних версиях.
При присоединении базы данных к другому экземпляру сервера для обеспечения согласованного взаимодействия с пользователями и приложениями может потребоваться повторно создать некоторые или все метаданные для базы данных, такие как имена входа и задания, на другом экземпляре сервера. Дополнительные сведения см. в статье Управление метаданными при обеспечении доступности базы данных на другом экземпляре сервера (SQL Server).
Связанные задачи
Отключение базы данных
Подключение базы данных
Обновление базы данных с помощью операций отсоединения и подключения
Перемещение базы данных с помощью операций отсоединения и подключения
Удалить моментальный снимок базы данных