CREATE DATABASE FOR ATTACH Error :"Процесс не может получить доступ к файлу"

Рейтинг: 0Ответов: 1Опубликовано: 26.01.2015

Всем привет. Просьба помочь.

Созадал БД:

CREATE DATABASE NorthPole ON PRIMARY (

  NAME = NorthPoleDB,

  FILENAME = 'D:\NorthPoleDB.mdf'
)

Создал там таблицу и записал туда данные:

use NorthPole;
CREATE TABLE pol(id int);
INSERT INTO pol VALUES(1),(6),(5);
SELECT * FROM pol;

Теперь, допустим, мне нужно создать новую БД, скопировав существующую (без варианта перейменовки).

use current_db
CREATE DATABASE SomeDB
ON (FILENAME = 'D:\NorthPoleDB.mdf')
FOR ATTACH

Ошибка

Сообщение 5120, уровень 16, состояние 101, строка 20
Не удалось открыть физический файл "D:\NorthPoleDB.mdf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.)".

Ответы

▲ 3Принят

Как вы собираетесь присоединить файл к другой базе данных, если он уже используется в текущей?

Вы бы его хотя бы скопировали...

А вообще, прочитайте статью с описанием различных вариантов копирования БД: https://msdn.microsoft.com/ru-ru/library/ms189624.aspx