Поделиться через


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

В этом разделе описывается присоединение базы данных в SQL Server 2012 с помощью среды Среда SQL Server Management Studio или Transact-SQL. Эту функцию можно использовать для копирования, перемещения или обновления базы данных SQL Server.

В этом разделе

  • Перед началом работы выполните следующие действия.

    Предварительные требования

    Рекомендации

    Безопасность

  • Присоединение базы данных с помощью различных средств.

    Среда SQL Server Management Studio

    Transact-SQL

  • Дальнейшие действия.  После обновления базы данных

Перед началом

Предварительные требования

  • Базу данных сначала необходимо отсоединить. Попытка присоединить базу данных, которая не была отсоединена, приведет к возникновению ошибки. Дополнительные сведения см. в разделе Отсоединение базы данных.

  • При присоединении базы данных должны быть доступны все файлы данных (файлы MDF и NDF). Если у какого-либо файла данных путь отличается от того, каким он был при первом создании или последнем присоединении, необходимо указать текущий путь к файлу.

Рекомендации

Рекомендуется переносить базы данных с помощью процедуры запланированного переноса ALTER DATABASE, а не путем отсоединения и присоединения. Дополнительные сведения см. в разделе Перемещение пользовательских баз данных.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Безопасность

Разрешения на доступ к файлам устанавливаются во время выполнения определенных операций с базами данных, включая отсоединение и присоединение баз данных. Дополнительные сведения о разрешениях доступа к файлам, задаваемые во время отсоединения и присоединения базы данных, см. в разделе Защита данных и файлов журналов электронной документации по SQL Server 2008 R2.

Не рекомендуется подключать или восстанавливать базы данных, полученные из неизвестных или ненадежных источников. В этих базах данных может содержаться вредоносный код, вызывающий выполнение непредусмотренных инструкций Transact-SQL или появление ошибок из-за изменения схемы или физической структуры базы данных. Перед тем как использовать базу данных, полученную из ненадежного источника, выполните на тестовом сервере инструкцию DBCC CHECKDB для этой базы данных, а также изучите исходный код в базе данных, например хранимые процедуры и другой пользовательский код. Дополнительные сведения о присоединении баз данных и сведения об изменениях, вносимых при присоединении баз данных в метаданные, см. в разделе Присоединение и отсоединение базы данных (SQL Server).

Разрешения

Необходимо разрешение CREATE DATABASE, CREATE ANY DATABASE или ALTER ANY DATABASE.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Использование среды SQL Server Management Studio

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

  1. В обозревателе объектов среды Среда SQL Server Management Studio подключитесь к экземпляру Компонент SQL Server Database Engine и разверните его.

  2. Щелкните правой кнопкой мыши узел Базы данных и выберите команду Присоединить.

  3. Чтобы указать присоединяемую базу данных, в диалоговом окне Присоединение баз данных нажмите кнопку Добавить, в диалоговом окне Расположение файлов базы данных выберите диск, на котором находится база данных, и разверните дерево каталогов, чтобы найти и выбрать MDF-файл, например:

    C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\DATA\AdventureWorks2012_Data.mdf

    Важное примечаниеВажно!

    При попытке выбора базы данных, которая уже присоединена, возникает ошибка.

    • Базы данных для присоединения
      Отобразятся сведения о выбранных базах данных.

    • <нет заголовка столбца>
      Отображается значок, указывающий на состояние операции присоединения. Возможные значки описываются в приводимом ниже описании Состояние.

    • Расположение файла MDF
      Отображается путь и имя выбранного MDF-файла.

    • Имя базы данных
      Отображается имя базы данных.

    • Присоединить как
      Необязательный параметр, указывает другое имя, под которым присоединяется база данных.

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

    • Состояние
      Отображается состояние базы данных в соответствии со следующей таблицей.

      Значок

      Текст состояния

      Описание

      (Нет значка)

      (Нет текста)

      Операция присоединения не была запущена или находится в режиме ожидания для этого объекта. Это состояние по умолчанию при открытии диалогового окна.

      Зеленый, указывающий направо треугольник

      Выполняется

      Операция присоединения была запущена, но не завершена.

      Зеленый флажок

      Успешно

      Объект успешно присоединен.

      Красный кружок с белым крестом внутри

      Ошибка

      При выполнении операции присоединения возникла ошибка, и операция не была успешно завершена.

      Кружок с двумя черными квадратами (слева и справа) и двумя белыми квадратами (сверху и снизу)

      Остановлена

      Операция присоединения не была успешно завершена, т.к. пользователь остановил операцию.

      Кружок, содержащий изогнутую стрелку, указывающую в направлении против часовой стрелки

      Выполнен откат

      Операция присоединения была успешной, но был выполнен ее откат из-за ошибки, возникшей при вложении другого объекта.

    • Сообщение
      Отображается пустое сообщение или гиперссылка «Файл не найден».

    • Добавить
      Найдите необходимые основные файлы базы данных. Если пользователь выбирает mdf-файл, необходимые сведения автоматически вводятся в соответствующие поля сетки Базы данных для присоединения.

    • Удалить
      Удаляет выбранный файл из сетки Базы данных для присоединения.

    • " <database_name> " сведения о базе данных
      Отображаются имена файлов, которые необходимо присоединить. Чтобы проверить или изменить путь к файлу, нажмите кнопку Обзор ().

      ПримечаниеПримечание

      Если файл не существует, в столбце Сообщение отображается сообщение «Не найден». Если файл журнала не найден, то он существует в другом каталоге или был удален. Необходимо или обновить путь файла в сетке Сведения о базе данных таким образом, чтобы этот путь указывал на правильное расположение, или удалить файл журнала из сетки. Если файл данных . ndf не найден, необходимо обновить путь этого файла в сетке таким образом, чтобы этот путь указывал на правильное расположение.

    • Имя исходного файла
      Отображается имя присоединенного файла, принадлежащего базе данных.

    • Тип файла
      Указывается тип файла: Данные или Журнал.

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

    • Сообщение
      Отображается пустое сообщение или гиперссылка «Файл не найден».

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Использование Transact-SQL

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

  1. Установите соединение с компонентом Компонент Database Engine.

  2. На панели «Стандартная» нажмите Создать запрос.

  3. Выполните инструкцию CREATE DATABASE с предложением FOR ATTACH.

    Скопируйте следующий пример в окно запроса и нажмите кнопку Выполнить. В этом примере производится присоединение файлов базы данных AdventureWorks2012 с ее последующим переименованием в MyAdventureWorks.

    CREATE DATABASE MyAdventureWorks 
        ON (FILENAME = 'C:\MySQLServer\AdventureWorks_Data.mdf'), 
        (FILENAME = 'C:\MySQLServer\AdventureWorks_Log.ldf') 
        FOR ATTACH; 
    
    ПримечаниеПримечание

    Кроме того, можно вызвать хранимую процедуру sp_attach_db или sp_attach_single_file_db. Но эти расширенные хранимые процедуры в будущих версиях SQL Server будут удалены. Избегайте использования этой возможности в новых разработках и запланируйте изменение существующих приложений, в которых она применяется. Вместо этого рекомендуется пользоваться инструкцией CREATE DATABASE … FOR ATTACH.

Значок стрелки, используемый со ссылкой «В начало»[В начало]

Дальнейшие действия. После обновления базы данных SQL Server

После обновления базы данных при помощи описанного метода присоединения, эта база данных сразу становится доступной, после чего обновляется автоматически. Если база данных содержит полнотекстовые индексы, то в процессе обновления будет произведен их импорт, сброс или перестроение в зависимости от установленного значения свойства сервера Режим обновления полнотекстового поиска. Если при обновлении выбран режим Импортировать или Перестроить, то полнотекстовые индексы во время обновления будут недоступны. В зависимости от объема индексируемых данных процесс импорта может занять несколько часов, а перестроение — в несколько (до десяти) раз больше. Обратите внимание, что, если при обновлении выбран режим Импортировать, а полнотекстовый каталог недоступен, связанные с ним полнотекстовые индексы будут перестроены.

Если уровень совместимости пользовательской базы данных до обновления был 90 или 100, он остается неизменным. Если уровень совместимости до обновления был 80 или меньше, в обновленной базе данных он устанавливается в 90, что является минимально поддерживаемым уровнем совместимости в SQL Server 2012. Дополнительные сведения см. в разделе Уровень совместимости инструкции ALTER DATABASE (Transact-SQL).

Значок стрелки, используемый со ссылкой «В начало»[В начало]

См. также

Справочник

CREATE DATABASE (Transact-SQL)

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

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