SQL Server: импорт базы данных из .mdf? - PullRequest
38 голосов
/ 28 октября 2010

У меня на локальном ящике есть файл .mdf.

У меня на локальном компьютере установлены SQL Server 2008 Express и SQL Management Studio 2008 Express.

Как в мире я могу импортировать этот файл .mdf в качестве новой базы данных в мой SQL Server?

Это похоже на смехотворно распространенную задачу, которую нужно выполнять тысячи раз в день по всему миру, и я не могу понять, как это сделать в Management Studio Express.

Чего мне не хватает?

Ответы [ 5 ]

29 голосов
/ 19 января 2013

Откройте SQL Management Studio Express и войдите на сервер, к которому вы хотите присоединить базу данных. В окне «Обозреватель объектов» щелкните правой кнопкой мыши папку «Базы данных» и выберите «Присоединить ...». Откроется окно «Присоединить базы данных»; В этом окне нажмите «Добавить ...», затем перейдите к файлу .MDF и нажмите «ОК». Нажмите «ОК» еще раз, чтобы завершить присоединение базы данных, и все готово. База данных должна быть доступна для использования. С наилучшими пожеланиями:)

22 голосов
/ 28 октября 2010

См .: Как: прикрепить файл базы данных к SQL Server Express

Вход в базу данных через sqlcmd:

sqlcmd -S Server\Instance

А затем выполните команды:

USE [master]
GO
CREATE DATABASE [database_name] ON 
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\<database name>.mdf' ),
( FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Data\<database name>.ldf' )
 FOR ATTACH ;
GO
13 голосов
/ 17 февраля 2016

Для выполнения этой операции см. Следующие изображения:

enter image description here

и следующий шаг - добавление * .mdf файла,

очень важно, файл .mdf должен находиться в C: ...... \ MSSQL12.SQLEXPRESS \ MSSQL \ DATA

enter image description here

Теперь удалите файл журнала

enter image description here

1 голос
/ 01 апреля 2017

Если у вас нет файла LDF, то:

1) поместите MDF в C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\

2) В ssms перейдите к Databases -> Attach и добавьте файл MDF,Он не позволит вам добавить его таким образом, но сообщит вам имя базы данных, содержащейся в.

3) Убедитесь, что пользователь, на котором вы запускаете ssms.exe, имеет доступ к этому файлу MDF.

4) Теперь, когда вы знаете DbName, запустите

EXEC sp_attach_single_file_db @dbname = 'DbName', 
@physname = N'C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\yourfile.mdf';

Ссылка: https://dba.stackexchange.com/questions/12089/attaching-mdf-without-ldf

1 голос
/ 07 января 2017

Помимо шагов, упомянутых в опубликованных ответах @ daniele3004 выше, мне пришлось открыть SSMS в качестве администратора, иначе он показывал, что Первичный файл доступен только для чтения.

Перейдите в меню «Пуск», перейдите по ссылке SSMS, щелкните правой кнопкой мыши по ссылке SSMS, выберите Запуск от имени администратора . Затем выполните описанные выше шаги.

...