我的朋友给了我一个数据库文件:record.mdf
。我将.mdf
文件复制到我的app_data
文件夹,我可以访问它。
但是,连接字符串包含绝对路径:
AttachDbFilename="C:\Users\Dell\Documents\Visual Studio 2010\Projects\WebApplication2\WebApplication2\App_Data\record.mdf"
但我想用它连接:
Data Source=localhost\SQLEXPRESS;
如何将.mdf
文件复制到SQL Server的本地文件夹,以便连接字符串不使用数据库的绝对路径?
我正在使用Visual Studio 2010. 我没有SQL Server Management Studio。
答案 0 :(得分:6)
步骤1:您需要找到SQL Server的数据目录。这将是
C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data
默认情况下(对于SQL Server 2008 R2 Express) - 在您的情况下可能略有不同,具体取决于您安装SQL Server Express的方式(以及您拥有的版本)。
步骤2:将record.mdf
文件复制到该目录
步骤3:如果您手头没有Mgmt Studio,请使用sqlcmd
将其附加到SQL Server Express实例:
c:\> sqlcmd -S .\SQLExpress
然后在sqlcmd提示符下输入:
USE [master]
GO
CREATE DATABASE record ON
(FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Data\record.mdf' )
FOR ATTACH_REBUILD_LOG;
GO
这会将.mdf
文件作为新的“逻辑”数据库record
附加到SQL Server Express实例,它将重建缺少的事务日志文件(.ldf
)过程
从现在开始,您可以使用
server=.\SQLEXPRESS;Database=record;Integrated Security=SSPI;
作为连接数据库的连接字符串
答案 1 :(得分:2)
您可以使用|DataDirectory|\record.mdf
文档:http://msdn.microsoft.com/en-us/library/ms247257(v=vs.80).aspx