如何在没有 Management Studio 的情况下将数据库 mdf 文件附加到 SQL Server Express?

How to attach database mdf file to SQL Server Express without Management Studio?

目前我正在开发 C# Windows 应用程序,并且此应用程序正在使用 SQL Server Express。

我已经在我的 PC 上安装了 SQL 服务器和 Management Studio。

我已经在客户端的 PC 上安装了 SQL Server Express,但我不想同时安装 Management Studio。

如何在未安装 SQL Server Management Studio 的情况下将 .mdf.ldf 文件附加到 SQL Server Express?

这是我的连接字符串

Data Source=.\SQLEXPRESS;Initial Catalog=dbname;Integrated Security=False;User Id=sa;Password=password;Connect Timeout=0

您应该在连接字符串中使用 AttachDBFileName 参数并将其指向您的 MDF 文件。您可以将一个特殊值放入其中以引用本地数据目录,这样您就不需要使用硬编码路径:

AttachDbFileName=|DataDirectory|\MyDatabase.mdf

对于ASP.NET 应用程序,|DataDirectory| 指的是项目下的App_Data 文件夹。我不确定 windows 应用程序指的是什么,但我猜你可以很容易地理解它。

请注意,使用 AttachDBFileName 时不需要 InitialCatalogInitialCatalog 通常用于指代 SQL 服务器实例已经知道的数据库。 AttachDBFileName 用于从给定文件实例化数据库。