Присоединение и отсоединение базы данных (SQL Server)
Файлы данных и журналов транзакций базы данных можно отсоединить, а затем повторно подключиться к одному или другому экземпляру SQL Server. Отключение и присоединение базы данных полезно, если вы хотите изменить базу данных на другой экземпляр SQL Server на одном компьютере или переместить базу данных.
Безопасность
Разрешения на доступ к файлам устанавливаются во время выполнения определенных операций с базами данных, включая отсоединение и присоединение баз данных.
Не рекомендуется подключать или восстанавливать базы данных, полученные из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных.
Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код.
Отсоединение базы данных
Отключение базы данных удаляет ее из экземпляра SQL Server, но оставляет базу данных нетронутой в его файлах данных и файлах журнала транзакций. Затем эти файлы можно использовать для подключения базы данных к любому экземпляру SQL Server, включая сервер, с которого была отключена база данных.
Базу данных невозможно отсоединить в следующих случаях.
-
База данных реплицируется и публикуется. При репликации база данных должна быть снята с публикации. Перед тем как отсоединить базу данных, необходимо отключить публикацию, выполнив процедуру sp_replicationdboption.
Заметка Если невозможно использовать процедуру sp_replicationdboption, можно удалить репликацию, выполнив процедуру sp_removedbreplication.
Заметка Невозможно отсоединить или присоединить моментальный снимок базы данных.
Резервное копирование, восстановление и отсоединение
Для разностных резервных копий отсоединение базы данных, доступной только для чтения, приводит к потере сведений о базовой копии для разностного копирования. Дополнительные сведения см. в разделе Разностные резервные копии (SQL Server).
Реакция на ошибки отсоединения
Ошибки, возникшие во время отсоединения базы данных, могут воспрепятствовать чистому закрытию базы данных и перестроению журнала транзакций. При получении сообщения об ошибке выполните следующие действие по исправлению.
- Заново присоедините все файлы, связанные с базой данных, а не только первичный файл.
- Исправьте неполадку, ставшую причиной сообщения об ошибке.
- Отсоедините базу данных повторно.
Присоединение базы данных
Вы можете присоединить скопированную или отсоединяемую базу данных SQL Server. При присоединении базы данных SQL Server 2005 (9.x), содержащей файлы полнотекстового каталога на экземпляр SQL Server, файлы каталога присоединяются из предыдущего расположения вместе с другими файлами базы данных, так же, как и в SQL Server 2005 (9.x). Дополнительные сведения см. в разделе Обновление полнотекстового поиска.
При присоединении базы данных должны быть доступны все файлы данных (файлы 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».
По умолчанию в целях безопасности параметры is_broker_enabled, is_honor_broker_priority_on и is_trustworthy_on устанавливаются в значение OFF при подключении базы данных. Сведения о настройке этих параметров см. в статье ALTER DATABASE (Transact-SQL). Дополнительные сведения о метаданных см. в статье Управление метаданными при предоставлении доступа к базе данных на другом сервере.
Резервное копирование, восстановление и присоединение
Подобно любой базе данных, которая полностью или частично вне сети, база данных с восстановлением файлов не может быть присоединена. Базу данных можно присоединить после остановки последовательности восстановления. Затем можно снова запустить последовательность восстановления.
Присоединение базы данных к другому экземпляру сервера
База данных, созданная в более поздней версии SQL Server, не может быть подключена в ранних версиях. Это исключает физическое использование базы данных с более старой версией ядра СУБД. Тем не менее это относится к состоянию метаданных и не влияет на режим совместимости базы данных. Дополнительные сведения см. в разделе Уровень совместимости ALTER DATABASE (Transact-SQL).
При присоединении базы данных к другому экземпляру сервера для обеспечения ее согласованного функционирования для пользователей и приложений может понадобиться повторное создание некоторых или всех метаданных базы данных, например имен входа и задания, на другом экземпляре сервера. Дополнительные сведения см. в разделе «Управление метаданными» при создании базы данных, доступной на другом экземпляре сервера (SQL Server).
Связанные задачи
Отсоединение базы данных
- sp_detach_db (Transact-SQL)
- Отсоединение базы данных
Присоединение базы данных
- CREATE DATABASE (SQL Server Transact-SQL)
- Присоединение базы данных
- sp_attach_db (Transact-SQL)
- sp_attach_single_file_db (Transact-SQL)
Обновление базы данных при помощи операций отсоединения и присоединения
Перемещение базы данных при помощи операций отсоединения и присоединения
Удаление моментального снимка базы данных
Присоединение базы данных
В этой статье описывается, как подключить базу данных в SQL Server с SQL Server Management Studio или Transact-SQL. Эту функцию можно использовать для копирования, перемещения или обновления базы данных SQL Server.
ограничения
Предварительные условия
Прежде чем продолжить, ознакомьтесь со следующими предварительными требованиями:
- Если вы перемещаете базу данных из одного экземпляра в другой, ее необходимо сначала отсоединить от любого существующего экземпляра SQL. Попытка присоединить неотсоединенную базу данных приведет к возникновению ошибки. Дополнительные сведения см. в разделе Отсоединение базы данных.
- При присоединении базы данных должны быть доступны все ее файлы данных. Они часто имеют расширения .MDF или .NDF (файлы данных), а также .LDF (файлы журнала транзакций). Кроме того, должны присутствовать и быть доступными все файловые группы для данных FILESTREAM. Дополнительные сведения о присоединении базы данных с поддержкой FILESTREAM см. в статье Перемещение базы данных с поддержкой FILESTREAM.
- Если у какого-либо файла данных путь отличается от того, каким он был при первом создании или последнем присоединении, необходимо указать текущий путь к файлу.
- Учетная запись службы ядра СУБД должна обладать разрешениями на чтение файлов в их новом расположении.
- Если MDF-файлы и LDF-файлы находятся в разных каталогах и один из путей содержит \\?\GlobalRoot , при присоединении базы данных произойдет сбой.
Для чего использовать присоединение?
При перемещении файлов базы данных в пределах одного экземпляра рекомендуется использовать запланированное перемещение ALTER DATABASE вместо отсоединения и присоединения. Дополнительные сведения см. в статье Move User Databases.
Не рекомендуется использовать отсоединение и присоединение для резервного копирования и восстановления. При отсоединении файлов для внешнего резервного копирования из SQL Server резервные копии журналов транзакций или восстановление до точки во времени будут недоступны.
Безопасность
Разрешения на доступ к файлам устанавливаются во время ряда операций с базами данных, включая их отсоединение и присоединение. При присоединении и отсоединении базы данных ядро СУБД пытается олицетворить учетную запись Windows работающего подключения, чтобы предоставить учетной записи разрешения для доступа к файлам базы данных и журналов. Для учетных записей со смешанным режимом безопасности, использующих учетные данные SQL Server, олицетворение может завершиться сбоем.
В следующей таблице перечислены разрешения файлов базы данных и журналов после завершения присоединения или отсоединения, а также указано, может ли ядро СУБД олицетворить подключающуюся учетную запись.
| Операция | Подключение учетной записи можно олицетворить | Разрешения на файлы предоставляются |
|---|---|---|
| Detach | Да | Только учетная запись, выполняющая операцию. Администратор операционной системы может добавить дополнительные учетные записи, если они понадобятся после отсоединения базы данных. |
| Detach | No | Учетной записи службы SQL Server (MSSQLSERVER) и членам локальной группы администраторов Windows. |
| Attach | Да | Учетной записи службы SQL Server (MSSQLSERVER) и членам локальной группы администраторов Windows. |
| Attach | No | Учетной записи службы SQL Server (MSSQLSERVER). |
Дополнительные сведения о разрешениях файловой системы, предоставляемых идентификаторам безопасности служб для SQL Server, см. в статье Настройка разрешений файловой системы для доступа к ядру СУБД.
Не рекомендуется подключать или восстанавливать базы данных, полученные из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных. Перед тем как использовать базу данных, полученную из неизвестного или ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код. Дополнительные сведения о присоединении баз данных и сведения об изменениях, вносимых при присоединении баз данных в метаданные, см. в статье Присоединение и отсоединение базы данных (SQL Server).
Разрешения
Требуется разрешение CREATE DATABASE , CREATE ANY DATABASE или ALTER ANY DATABASE .
Использование SQL Server Management Studio (SSMS)
Перед перемещением базы данных
Если вы перемещаете базу данных, перед ее отсоединением от существующего экземпляра SQL Server просмотрите связанные с ней файлы и их текущее расположение на странице Свойства базы данных.
- В обозревателе объектов SQL Server Management Studio подключитесь к экземпляру ядра СУБД SQL Server, а затем разверните экземпляр.
- Раскройте список Базы данныхи выберите имя пользовательской базы данных, которую необходимо отсоединить.
- Щелкните правой кнопкой мыши имя базы данных и выберите Свойства. Выберите страницу Файлы и просмотрите записи в таблице Файлы базы данных.
Убедитесь, что перед отсоединением, перемещением и присоединением базы данных вы проверили все связанные с ней файлы. Затем переходите к этапам отсоединения, копирования файлов и присоединения базы данных, описанным в следующем разделе. Дополнительные сведения см. в разделе Отсоединение базы данных.
Присоединение базы данных
- В обозревателе объектов SQL Server Management Studio подключитесь к экземпляру ядра СУБД SQL Server, а затем выберите, чтобы развернуть это представление экземпляра в SSMS.
- Щелкните правой кнопкой мыши узел Базы данных и выберите Присоединить.
- В диалоговом окне Присоединение базы данных выберите Добавить, чтобы указать присоединяемую базу данных. В диалоговом окне Поиск файлов базы данных выберите расположение базы данных и разверните дерево каталогов, чтобы найти и выбрать ее MDF-файл, например: C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\AdventureWorks2022_Data.mdf
Внимание При попытке выбора базы данных, которая уже присоединена, возникает ошибка.
Базы данных для присоединения
Отобразятся сведения о выбранных базах данных.
Отображается значок, указывающий на состояние операции присоединения. Возможные варианты значков перечислены в описании Состояние ниже. Расположение файла MDF
Отображается путь и имя выбранного MDF-файла. Имя базы данных
Отображается имя базы данных. Присоединить как
Необязательный параметр, указывает другое имя, под которым присоединяется база данных. Ответственное лицо
Содержит раскрывающийся список возможных владельцев базы данных, из которого при необходимости можно выбрать другого владельца. Состояние
Отображает состояние базы данных в соответствии со следующей таблицей:
| Значок | Текст состояния | Description |
|---|---|---|
| (Нет значка) | (Нет текста) | Присоединение не начато или находится в режиме ожидания для этого объекта. Это состояние по умолчанию при открытии диалогового окна. |
| Зеленый, указывающий направо треугольник | В процессе | Операция присоединения была запущена, но не завершена. |
| Зеленый флажок | Удачное завершение | Объект успешно присоединен. |
| Красный кружок с белым крестом внутри | Ошибка | При выполнении операции присоединения возникла ошибка, и операция не была успешно завершена. |
| Кружок с двумя черными квадратами (слева и справа) и двумя белыми квадратами (сверху и снизу) | Остановлено | Присоединение не было завершено, поскольку вы остановили его выполнение. |
| Кружок, содержащий изогнутую стрелку, указывающую в направлении против часовой стрелки | Выполнен откат | Операция присоединения была успешной, но был выполнен ее откат из-за ошибки, возникшей при вложении другого объекта. |
Сообщение
Отображается пустое сообщение или гиперссылка «Файл не найден». Прибавить
Найдите необходимые основные файлы базы данных. Когда вы выбираете MDF-файл, необходимые сведения автоматически вводятся в соответствующие поля сетки Базы данных для присоединения. Удалить
Удаляет выбранный файл из сетки Базы данных для присоединения . Сведения о базе данных «
Отображаются имена файлов, которые необходимо присоединить. Чтобы проверить или изменить путь к файлу, нажмите кнопку Обзор (…).
Заметка Если файл не существует, в столбце сообщения отображается сообщение «Не найдено». Если файл журнала не найден, он существует в другом каталоге или удален. Необходимо или обновить путь файла в сетке Сведения о базе данных таким образом, чтобы этот путь указывал на правильное расположение, или удалить файл журнала из сетки. Если MDF-файл не найден, необходимо обновить путь этого файла в сетке таким образом, чтобы этот путь указывал на правильное расположение.
Использование Transact-SQL
Перед перемещением базы данных
Если вы перемещаете базу данных, перед ее отсоединением от существующего экземпляра SQL Server просмотрите связанные с ней файлы и их текущее расположение в представлении системного каталога sys.database_files . Для получения дополнительной информации см. sys.database_files (Transact-SQL).
- В СРЕДЕ SQL Server Management Studio выберите новый запрос , чтобы открыть редактор запросов.
- Скопируйте следующий скрипт Transact-SQL в редактор запросов и нажмите кнопку «Выполнить«. Этот скрипт показывает расположение физических файлов базы данных. Убедитесь, что при перемещении базы данных путем отсоединения и присоединения вы проверили все файлы.
USE [database_name] GO SELECT type_desc, name, physical_name from sys.database_files;
Убедитесь, что перед отсоединением, перемещением и присоединением базы данных вы проверили все связанные с ней файлы. Затем переходите к этапам отсоединения, копирования файлов и присоединения базы данных, описанным в следующем разделе. Дополнительные сведения см. в разделе Отсоединение базы данных.
Присоединение базы данных
- Соединитесь с ядром СУБД .
- На стандартной панели выберите пункт Создать запрос.
- Выполните инструкцию CREATE DATABASE с предложением FOR ATTACH . Скопируйте приведенный ниже пример в окно запроса и нажмите кнопку Выполнить. Этот пример присоединяет все файлы базы данных AdventureWorks2022 и переименовывает базу данных MyAdventureWorks в .
CREATE DATABASE MyAdventureWorks ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'), (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf') FOR ATTACH;
Если в вашей базе данных содержатся дополнительные файлы данных (чаще всего .MDF или .NDF), их необходимо включить в инструкцию CREATE DATABASE . FOR ATTACH . Кроме того, в инструкцию также следует включить все файловые группы для данных FILESTREAM. Дополнительные сведения о присоединении базы данных с поддержкой FILESTREAM см. в статье Перемещение базы данных с поддержкой FILESTREAM.
Заметка Кроме того, можно вызвать хранимую процедуру sp_attach_db или sp_attach_single_file_db . Однако эти процедуры будут удалены в будущей версии Microsoft SQL Server. Избегайте использования этого компонента в новых разработках и запланируйте изменение существующих приложений, в которых он применяется. Вместо этого рекомендуется использовать CREATE DATABASE . FOR ATTACH .
После обновления базы данных SQL Server
Уровень совместимости базы данных
После обновления базы данных с помощью присоединения она становится доступной. База данных автоматически обновится до уровня внутренней версии нового экземпляра. Если база данных содержит полнотекстовые индексы, то в процессе обновления будет произведен их импорт, сброс или перестроение в зависимости от установленного значения свойства сервера Режим обновления полнотекстового каталога . Если выбран режим обновления Импортировать или Перестроить, полнотекстовые индексы будут недоступны во время обновления. В зависимости от объема индексируемых данных импорт может занять несколько часов, а перестроение — в несколько (до 10) раз больше. Обратите внимание, что если при обновлении выбран режим Импортировать, а полнотекстовый каталог недоступен, то связанные с ним полнотекстовые индексы будут перестроены.
После обновления уровень совместимости базы данных останется неизменным, если только он не является в новой версии неподдерживаемым. В последнем случае обновленный уровень совместимости базы данных устанавливается как самый низкий из поддерживаемых. Например, если вы подключаете базу данных, которая была уровнем совместимости 90 перед присоединением к экземпляру SQL Server 2019 (15.x), после обновления уровня совместимости установлено значение 100, что является самым низким поддерживаемым уровнем совместимости в SQL Server 2019 (15.x). Дополнительные сведения см. в разделе Уровень совместимости ALTER DATABASE (Transact-SQL).
Система отслеживания измененных данных (CDC)
Если вы подключаете базу данных из экземпляра SQL Server 2014 (12.x) или более ранней версии, включив запись измененных данных (CDC), необходимо выполнить следующую команду, чтобы обновить метаданные отслеживания измененных данных (CDC):
USE EXEC sys.sp_cdc_vupgrade
См. также
- Отсоединение базы данных и подключение (SQL Server)
- Отсоединение базы данных
- CREATE DATABASE (SQL Server Transact-SQL)
- Настройка разрешений файловой системы для доступа к компоненту ядра СУБД
Отсоединение и присоединение баз данных в Microsoft SQL Server (Detach и Attach)
В Microsoft SQL Server есть возможность отсоединять и присоединять базы данных, и сегодня мы с Вами поговорим о том, в каких случаях эта возможность будет нам полезна и, конечно же, рассмотрим примеры реализации данной возможности, причем разными способами.
Итак, давайте начнем с того, для чего же администратору баз данных может потребоваться отсоединить базу данных, а затем снова присоединить.
Первое — это, конечно же, для перемещения базы на другой экземпляр SQL Server, он может располагаться как на этом же компьютере, так и на другом (или просто для перемещения базы данных на другой физический жесткий диск, например, свободное место на диске заканчивается).
Второе — это тогда, когда например сервер вышел из строя, но файлы базы данных и журналов транзакций в порядке и необходимо эти файлы восстановить, т.е. присоединить к новому экземпляру SQL Server на новом сервере.
Вы можете найти и другое применение данной возможности, но перечисленные выше ситуации, особенно первая, самые распространённые.
Отсоединение баз данных в Microsoft SQL Server
Если отсоединить базу данных, то это означает ее удаление с этого экземпляра SQL Server, но при этом файлы базы данных останутся не поврежденными, которые затем можно использовать для присоединения к тому же или к другому экземпляру SQL Server.
В некоторых случаях отсоединить базу данных будет невозможно, например, тогда когда база данных реплицируется и публикуется, т.е. для отсоединения, база данных должна быть снята с публикации. Также отсоединить базу данных не получиться, если она находится в сеансе зеркального копирования, другими словами, для отключения базы данных необходимо завершить этот сеанс. Системную базу данных отсоединить вообще нельзя. Еще для выполнения отсоединения базы данных требуется монопольный доступ, т.е. в этот момент не должно быть подключенных к ней пользователей.
Отсоединить базу данных можно разными способами, например, на языке T-SQL, т.е. используя процедуру sp_detach_db или также можно воспользоваться графическим инструментом, т.е. SQL Server Management Studio. Мы с Вами разберем оба способа.
Примечание! Все примеры ниже будут рассмотрены на Microsoft SQL Server 2008 R2.
Отсоединение базы данных с помощью sp_detach_db
sp_detach_db – системная хранимая процедура, которая отсоединяет базу данных от экземпляра SQL сервера, а также может выполнить инструкцию UPDATE STATISTICS для всех таблиц перед отключением.
В качестве первого параметра она принимает имя базы данных, в качестве второго TRUE/FALSE (в виде текста), по умолчанию TRUE, т.е. это означает — не выполнять инструкцию UPDATE STATISTICS. Еще есть и третий параметр, который указывает, удалять или не удалять полнотекстовый индексный файл, связанный с отключаемой базой данных, по умолчанию TRUE, т.е. это означает — что метаданные, связанные с полнотекстовыми данными, сохраняются. Но этот параметр в новых версиях будет удален, честно говоря, не проверял на последних версиях, но разработчики SQL сервера не рекомендуют использовать этот параметр, уже начиная с версии 2008 R2.
sp_detach_db @dbname = 'database_name', @skipchecks = 'skipchecks', @keepfulltextindexfile = 'KeepFulltextIndexFile'
Пример. Допустим, у нас есть база данных TestBase, и возникла необходимость ее отсоединить, для этого мы пишем следующую SQL инструкцию:
EXEC sp_detach_db @dbname = 'TestBase'

Отсоединение базы данных с помощью Management Studio
Для того чтобы отсоединить базу данных необходимо в обозревателе объектов раскрыть список «Базы данных» и по нужной базе щелкнуть правой кнопкой мыши и нажать «Задачи ->Отсоединить»

И для того чтобы получить точно такой же результат, как и в примере выше жмем сразу «ОК»

Примечание! Как в первом примере, так и во втором не забываем про монопольный доступ, его можно получить, например, установив параметр базы данных «Ограничение доступа» в SINGLE_USER.
Присоединение баз данных в MS SQL Server
Для того чтобы присоединить базу данных, необходимы соответственно файлы этой базы данных, т.е. mdf, ldf. В случаях если журналы транзакций, т.е. файлы ldf не указаны, то они будут перестроены, но только в том случае если присоединяемая база данных доступна как для чтения, так и для записи. Если база данных была закрыта аварийно, при этом в ней работали пользователи и были открытые транзакции, то файлы журнала транзакций лучше указывать. Присоединять базы данных, полученные из неизвестных источников, не рекомендуется.
Также как и при отсоединении присоединить базу данных можно несколькими способами, мы рассмотри три: это с помощью конструкции CREATE DATABASE, с помощью Management Studio, а также рассмотрим пример присоединения базы данных с использованием процедуры sp_attach_db.
Примечание! В документации указано, что возможность присоединять базы данных с помощью процедуры sp_attach_db в будущих версиях SQL сервера будет удалена, поэтому ее не рекомендуют использовать в новых разработках, в SQL Server 2008 R2 эта возможность ещё есть.
Присоединение базы данных с помощью CREATE DATABASE
Конструкция CREATE DATABASE используется не только для создания новой базы данных, но и для присоединения базы данных, которую ранее отсоединили.
Давайте с помощью конструкции CREATE DATABASE присоединим обратно базу TestBase, которую выше мы отсоединили.
CREATE DATABASE [TestBase] ON (FILENAME = N'C:\TestBase.mdf'), (FILENAME = N'C:\TestBase_log.ldf') FOR ATTACH GO

Как Вы понимаете C:\TestBase.mdf и C:\TestBase_log.ldf — это пути к файлам базы данных.
Присоединение базы данных с помощью Management Studio
В Management Studio присоединение делается следующим образом, в обозревателе объектов щёлкните правой кнопкой мыши по пункту «Базы данных» и нажмите «Присоединить»

Затем через кнопку «Добавить» выбираем файл базы данных (MDF-файл) и жмем «ОК».

Примечание! Если выбрать базу данных, которая уже присоединена, возникнет ошибка.
Присоединение базы данных с помощью процедуры sp_attach_db
sp_attach_db – системная хранимая процедура, которая присоединяет базы данных к экземпляру SQL сервера. Как было уже сказано выше, ее не рекомендуют использовать в новых разработках. Первым параметром передается имя базы данных присоединяемой к серверу, оно должно быть уникальным. Вторым и далее (до 16) передаются пути к файлам базы данных.
sp_attach_db @dbname = 'dbname', @filename1 = 'filename_n', [. 16]
EXEC sp_attach_db @dbname = 'TestBase', @filename1 = N'C:\TestBase.mdf', @filename2 = N'C:\TestBase_log.ldf'

Примечание! В случае если Вам необходимо присоединить более 16 файлов, то нужно использовать CREATE DATABASE database_name FOR ATTACH.
Заметка! Если Вас интересует SQL и T-SQL, рекомендую посмотреть мои видеокурсы по T-SQL, с помощью которых Вы «с нуля» научитесь работать с SQL и программировать с использованием языка T-SQL в Microsoft SQL Server.
На этом у меня все, надеюсь, материал был Вам полезен, удачи!
Программирование на C, C# и Java
Уроки программирования, алгоритмы, статьи, исходники, примеры программ и полезные советы
ОСТОРОЖНО МОШЕННИКИ! В последнее время в соиальных сетях учстились случаи педложения помощи в написании прогамм от лиц, прикрвающихся сайтом vscode.ru. Мы никогда не пишем первыми и не размещаем никакие материалы в псторонних группах ВК. Для связи с нами используйте исключительно эти контакт: vscoderu@yandex.ru, https://vk.com/vscode
Присоединение базы данных в Microsoft SQL Server
В видеоуроке рассказывается про присоединение базы данных MS SQL Server с помощью Management Studio.
Присоединение (отсоединение) базы данных — это удобное средство для извлечения (подключения) БД на SQL Server. С помощью данных операций очень удобно и быстро поделиться базой с другим разработчиком, либо же сохранить себе дополнительную копию.
В видео подробно рассмотрим обе эти операции на примере реальной базы данных в Management Studio.
