如何找到我的(localdb)SQL Server 2012数据库的位置并进行备份?

时间:2013-08-13 06:46:36

标签: sql-server

我正在使用VS2012并且我创建了一个数据库:

(localdb)\v11.0 (SQL Server 11.0.2100 - T61\Alan)

如何找出此数据库的物理位置。我怎么能支持这个?我可以只复制文件,将它们移动到另一个位置并再次启动数据库。

这是我的连接字符串:

<add name="DB1Context" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=DB1;Integrated Security=SSPI;" providerName="System.Data.SqlClient" />

7 个答案:

答案 0 :(得分:21)

默认情况下,LocalDB数据库在C:/ Users /&#34;用户名&#34;中创建“* .mdf”文件。 。目录

链接参考:https://docs.asp.net/en/latest/tutorials/first-mvc-app/working-with-sql.html

答案 1 :(得分:19)

您是说您可以在 SQL Server Management Studio 中看到它? Right click on DataBase -> Properties -> Files会告诉您硬盘上的位置。如果备份mdf,请务必备份ldf。

enter image description here

或者,您可以右键单击数据库,然后选择Tasks -> Backup。这将为您创建一个.bak文件,您无需担心mdf / ldf。

答案 2 :(得分:18)

第一次与实体框架接触的人非常困惑。

如果您使用代码优先,则会生成 mdf 文件,该文件位于C:/Users/"username"

如果您使用数据库优先,则在SQL Server对象资源管理器(非服务器资源管理器!!)下创建数据库,将在{{下}生成 mdf 文件1}}

答案 3 :(得分:10)

http://technet.microsoft.com/en-us/library/hh510202.aspx

  

数据库的系统数据库文件存储在用户&#39;   本地AppData路径,通常是隐藏的。例如   C:\ Users \ - user - \ AppData \ Local \ Microsoft \ Microsoft SQL Server Local   DB \实例\ LocalDBApp1。用户数据库文件存储在哪里   用户指定,通常位于C:\ Users \\ Documents \中的某个位置   文件夹中。

答案 4 :(得分:9)

试试这个 -

DECLARE 
      @SQL NVARCHAR(1000)
    , @DB_NAME NVARCHAR(100) = 'AdventureWorks2008R2'

SELECT TOP 1 @SQL = '
    BACKUP DATABASE [' + @DB_NAME + '] 
    TO DISK = ''' + REPLACE(mf.physical_name, '.mdf', '.bak') + ''''
FROM sys.master_files mf
WHERE mf.[type] = 0
    AND mf.database_id = DB_ID(@DB_NAME)

PRINT @SQL
EXEC sys.sp_executesql @SQL

输出 -

BACKUP DATABASE [AdventureWorks2008R2] 
TO DISK = 'D:\DATABASE\SQL2012\AdventureWorks2008R2.bak'

答案 5 :(得分:3)

此PowerShell脚本将为您提供localdb .mdf文件的默认位置:

gulp-extend

其中[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null (New-Object Microsoft.SqlServer.Management.Smo.Server("(localdb)\$instancename")).DefaultFile 是您要检查的localdb实例的名称。您可以通过运行

获取localdb实例列表
$instancename

答案 6 :(得分:1)

打开Windows注册表编辑器并导航到键HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Local DB\Installed Versions。查看被定位的SQL Server实例的版本密钥下面,例如对于SQL 2012,11.0,并查看local InstanceAPIPath的文件系统位置的def destroy session[:user_id] = nil redirect_to store_url, notice: "Logged out" end 值。

请注意,可以找到映射到版本名称和年份的SQL服务器版本的完整列表here