我在本地计算机上有一个 .mdf 文件。
我已经在本地计算机上安装了 SQL Server 2008 Express 和 SQL Management Studio 2008 Express。
请问我该如何将这个 .mdf 文件作为一个新的数据库导入到我的 SQL Server 中呢?
这似乎是一个逐日在全球执行成千上万次的非常普遍的任务,但我无法在 Management Studio Express 中完成它。
我错过了什么吗?
我在本地计算机上有一个 .mdf 文件。
我已经在本地计算机上安装了 SQL Server 2008 Express 和 SQL Management Studio 2008 Express。
请问我该如何将这个 .mdf 文件作为一个新的数据库导入到我的 SQL Server 中呢?
这似乎是一个逐日在全球执行成千上万次的非常普遍的任务,但我无法在 Management Studio Express 中完成它。
我错过了什么吗?
打开SQL Management Studio Express并登录到要附加数据库的服务器。 在“对象资源管理器”窗口中,右键单击“数据库”文件夹,然后选择“附加...”。“附加数据库”窗口将打开;在该窗口内点击“添加...”,然后导航至您的.MDF文件并单击“确定”。再次单击“确定”以完成附加数据库操作,然后您就完成了。 数据库应可以供使用。
参见:如何:将数据库文件附加到 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
C:\Program Files\Microsoft SQL Server\MSSQL13.SQLEXPRESS\MSSQL\DATA\
目录下。Databases -> Attach
,并添加MDF文件。它不会让你以这种方式添加,但它会告诉你其中包含的数据库名称。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
当在Docker中托管MS SQL时:
version: '3.4'
services:
sqlserver:
image: mcr.microsoft.com/mssql/server:2022-latest
container_name: sqlserver
environment:
- ACCEPT_EULA=Y
- SA_PASSWORD=Samle123$
ports:
- "1433:1433"
volumes:
- S:\Database\data:/var/opt/mssql/data
只需要: