Подтвердить что ты не робот

Где хранится файл базы данных .bak из SQL Server Management Studio?

Я пытался создать резервную копию для своей базы данных SQL Server с помощью SQL Server Management Studio 2008 Express. Я создал резервную копию, но она сохраняется на каком-то пути, который я не могу найти. Я сохраняю его на своем локальном HD, и я проверил Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>DATA>, но его там нет.

Каков путь сохранения по умолчанию для этого DB.bak?

4b9b3361

Ответ 1

Должно быть в

Program Files>Microsoft SQL Server>MSSQL 1.0>MSSQL>BACKUP>

В моем случае это

C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup

Если вы используете gui или T-SQL, вы можете указать, где вы хотите Пример T-SQL

BACKUP DATABASE [YourDB] TO  DISK = N'SomePath\YourDB.bak' 
WITH NOFORMAT, NOINIT,  NAME = N'YourDB Full Database Backup', 
SKIP, NOREWIND, NOUNLOAD,  STATS = 10
GO

С помощью T-SQL вы также можете получить расположение резервной копии, см. здесь Получение имени физического устройства и времени резервного копирования для базы данных SQL Server

SELECT          physical_device_name,
                backup_start_date,
                backup_finish_date,
                backup_size/1024.0 AS BackupSizeKB
FROM msdb.dbo.backupset b
JOIN msdb.dbo.backupmediafamily m ON b.media_set_id = m.media_set_id
WHERE database_name = 'YourDB'
ORDER BY backup_finish_date DESC

Ответ 2

Если резервная копия не была создана в местоположении по умолчанию, вы можете использовать этот T-SQL (запустите это в SSMS), чтобы найти путь к файлу для последней резервной копии для всех БД на вашем экземпляре SQL Server:

SELECT  DatabaseName = x.database_name,
        LastBackupFileName = x.physical_device_name,
        LastBackupDatetime = x.backup_start_date
FROM (  SELECT  bs.database_name,
                bs.backup_start_date,
                bmf.physical_device_name,
                  Ordinal = ROW_NUMBER() OVER( PARTITION BY bs.database_name ORDER BY bs.backup_start_date DESC )
          FROM  msdb.dbo.backupmediafamily bmf
                  JOIN msdb.dbo.backupmediaset bms ON bmf.media_set_id = bms.media_set_id
                  JOIN msdb.dbo.backupset bs ON bms.media_set_id = bs.media_set_id
          WHERE   bs.[type] = 'D'
                  AND bs.is_copy_only = 0 ) x
WHERE x.Ordinal = 1
ORDER BY DatabaseName;

Ответ 3

Используйте script ниже и переключите DatabaseName с именем базы данных, которую вы скопировали. В столбце имя_файла_файла вы получите полный путь к резервной базе данных:

select a.backup_set_id, a.server_name, a.database_name, a.name, a.user_name, a.position, a.software_major_version, a.backup_start_date, backup_finish_date, a.backup_size, a.recovery_model, b.physical_device_name
from msdb.dbo.backupset a join msdb.dbo.backupmediafamily b
  on a.media_set_id = b.media_set_id
where a.database_name = 'DatabaseName'
order by a.backup_finish_date desc

Ответ 4

Я не думаю, что местоположение резервного копирования по умолчанию хранится в самом SQL-сервере. Настройки сохраняются в реестре. Найдите "BackupDirectory" , и вы найдете резервную копию по умолчанию.

Таблица "msdb.dbo.backupset" состоит из списка сделанных резервных копий, если резервная копия не используется для базы данных, она ничего не покажет

Ответ 5

Вы пробовали:

C:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Backup

Script, чтобы получить все резервные копии за последнюю неделю, можно найти по адресу:

http://wraithnath.blogspot.com/2010/12/how-to-find-all-database-backups-in.html

У меня есть еще больше резервных сценариев SQL, которые также есть в

http://wraithnath.blogspot.com/search/label/SQL

Ответ 6

...\Program Files\Microsoft SQL Server\MSSQL 1.0\MSSQL\Backup

Ответ 7

Вы можете посмотреть здесь, этот инструмент сохраняет файл BAK с удаленного SQL Server на локальный жесткий диск: FIDA BAK на локальный

Ответ 8

Как сказал Faiyaz, чтобы получить место для резервного копирования по умолчанию для экземпляра, вы не можете получить его в msdb, но вам нужно посмотреть в реестр. Вы можете получить его в T-SQL при использовании хранимой процедуры xp_instance_regread следующим образом:

EXEC  master.dbo.xp_instance_regread 
      N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQLServer',N'BackupDirectory'

Двойная обратная косая черта (\\) заключается в том, что пробелы в этой части имени ключа (Microsoft SQL Server). Часть "MSSQL12.MSSQLSERVER" предназначена для имени экземпляра по умолчанию для SQL 2014. Вам нужно адаптироваться, чтобы разместить свое собственное имя экземпляра (загляните в реестр).

Ответ 9

Задайте элемент реестра для экземпляра сервера. Например:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL.2\MSSQLServer\BackupDirectory