Как узнать местоположение базы данных (localdb) SQL Server 2012 и создать резервную копию?
Я использую 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" />
Ответы
Ответ 1
Попробуйте этот вариант -
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'
Ответ 2
Как вы считаете, вы можете увидеть его в SQL Server Management Studio? Right click on DataBase -> Properties -> Files
расскажет вам, где находится ваш жесткий диск. Если вы создаете резервную копию mdf, обязательно создайте резервную копию ldf.
![enter image description here]()
Кроме того, вы можете щелкнуть правой кнопкой мыши по БД и выбрать Tasks -> Backup
. Это сделает для вас один файл .bak, и вам не нужно беспокоиться о mdf/ldf.
Ответ 3
По умолчанию база данных LocalDB создает файлы "*.mdf" в каталоге C:/Users/ "username".
Ссылка: https://docs.asp.net/en/latest/tutorials/first-mvc-app/working-with-sql.html
Ответ 4
http://technet.microsoft.com/en-us/library/hh510202.aspx
Файлы системной базы данных для базы данных хранятся в файлах пользователей, локальный путь AppData, который обычно скрыт. Например C:\Users\- пользователь -\AppData\Local\Microsoft\Microsoft SQL Server Local DB\Экземпляры\LocalDBApp1. Файлы базы данных пользователей хранятся там, где пользователь указывает, как правило, где-то в папке C:\Users\\Documents \ папку.
Ответ 5
Это довольно запутанно для людей, которые впервые сталкиваются с Entity Framework.
Если вы используете Первый код, создается файл mdf, он находится под C:/Users/"username"
Если вы используете База данных сначала, вы создаете базу данных в Проводнике объектов SQL Server (Not Server Explorer!), в mdf >
Ответ 6
Этот PowerShell script предоставит вам местоположение по умолчанию для файлов localdb.mdf:
[System.Reflection.Assembly]::LoadWithPartialName('Microsoft.SqlServer.SMO') | out-null
(New-Object Microsoft.SqlServer.Management.Smo.Server("(localdb)\$instancename")).DefaultFile
где $instancename
- имя экземпляра localdb, который вы хотите проверить. Вы можете получить список экземпляров localdb, запустив
sqllocaldb i
Ответ 7
Откройте редактор реестра Windows и перейдите к клавише HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server Local DB\Installed Versions
. Посмотрите под ключ версии экземпляра SQL Server, на который нацеливается, например. 11.0
для SQL 2012 и см. его значение InstanceAPIPath
для расположения файловой системы localdb.
Обратите внимание, что в полном списке версий SQL Server, отображаемых для выпуска имени и года, можно найти здесь