Вопрос: Открытие SQL-файла .bak SQL (не восстановление!). Как восстановить bak файл sql


sql-server - Импортировать файл .bak в базу данных на SQL-сервере

У меня есть файл с расширением .bak.

Как импортировать эту дату в базу данных в SQL Server?

задан Tibin 08 окт. '09 в 9:22

источник поделиться

В SQL Server Management Studio

  • Щелкните правой кнопкой мыши Базы данных на левой панели (Object Explorer)
  • Нажмите Восстановить базу данных...
  • Выберите Устройство, нажмите ... и добавьте файл .bak
  • Нажмите ОК, затем ОК снова

Готово.

источник поделиться

Вы можете просто восстановить эти файлы резервной копии базы данных с помощью собственных методов SQL Server или использовать инструмент ApexSQL Restore, чтобы быстро прикрепить файлы и получить к ним доступ как полностью восстановленные базы данных.

Отказ от ответственности: я работаю инженером по поддержке продуктов на ApexSQL

источник поделиться RESTORE FILELISTONLY FROM DISK = 'D:\3.0 Databases\DB.bak' RESTORE DATABASE YourDB FROM DISK = 'D:\3.0 Databases\DB.bak'

и вам нужно переместить соответствующие файлы mdf, ndf и ldf, используя

With Move 'primarydatafilename' To 'D:\DB\data.mdf', Move 'secondarydatafile'To 'D:\DB\data1.ndf', Move 'logfilename' To 'D:\DB\log.ldf' ответ дан RameshVel 08 окт. '09 в 9:51 источник поделиться

Вместо выбора Restore Database... выберите Восстановить файлы и файловые группы...

Затем введите имя базы данных, выберите путь к файлу .bak в качестве источника, установите флажок "Восстановить" и нажмите "ОК". Если файл .bak действителен, он будет работать.

(Имена параметров восстановления SQL Server не интуитивно понятны, для чего должна быть очень простая задача.)

источник поделиться
  • Подключитесь к серверу, на котором вы хотите сохранить свою БД
  • Щелкните правой кнопкой мыши Database
  • Нажмите "Восстановить"
  • Выберите переключатель Устройство в разделе источника
  • Нажмите "Добавить".
  • Перейдите к пути, в котором хранится ваш .bak файл, выберите его и нажмите OK
  • Введите пункт назначения вашей БД
  • Введите имя, с помощью которого вы хотите сохранить свою БД
  • Нажмите "ОК"

Готово

источник поделиться

Просто используйте

sp_restoredb 'Имя вашей базы данных', 'Местоположение с вашего сайта для восстановления'

Пример: sp_restoredb 'omDB', 'D:\abc.bak'

источник поделиться

Вы можете использовать пакет node, если вам часто нужно восстанавливать базы данных в процессе разработки.

Установка:

npm install -g sql-bak-restore

Использование:

sql-bak-restore <bakPath> <dbName> <oldDbName> <owner>

Аргументы:

  • bakpath, относительный или абсолютный путь к файлу
  • dbName, для которого база данных для восстановления (!! база данных с этим именем будет удалена, если существует!!)
  • oldDbName, имя базы данных (если вы не знаете, укажите что-то и запустите, после запуска вы увидите доступные базы данных.)
  • владелец, userName, чтобы сделать и предоставить ему привилегии db_owner (пароль "1" )

!! sqlcmd утилита командной строки должна находиться в вашей переменной PATH.

https://github.com/vladimirbuskin/sql-bak-restore/

источник поделиться
  • Скопируйте резервный файл .bak в следующее расположение вашего компьютера: C:\Program Files\Microsoft SQL Server\MSSQL11.SQLEXPRESS\MSSQL\DATA
  • Подключитесь к серверу, на котором вы хотите сохранить свою БД
  • Щелкните правой кнопкой мыши Database
  • Нажмите "Восстановить"
  • Выберите переключатель "Устройство" в разделе источника
  • Нажмите "Добавить".
  • Перейдите к пути, в котором хранится ваш .bak файл, выберите его и нажмите OK
  • Введите пункт назначения вашей БД
  • Введите имя, с помощью которого вы хотите сохранить свою БД
  • Нажмите "ОК"

В приведенных выше решениях не указано, где сохранить файл резервной копии (.bak). Это должно сделать трюк. Это сработало для меня.

ответ дан Madhumita 27 янв. '17 в 10:50 источник поделиться

qaru.site

Как восстановить файл .bak в SQL Server 2008 R2

У меня есть блог кода, но возникла проблема. Здесь мой файл резервной копии - ISBANK.bak, а имя базы данных - это новое имя базы данных. Он ничего не содержит. Я хочу, чтобы добавить содержимое .bak файла в новую базу данных ..

RESTORE DATABASE [DBName] FROM DISK = 'D:\ISBANK.bak' WITH REPLACE, MOVE 'DBName' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008RR2\MSSQL\DATA\DBName.mdf', MOVE 'DBName' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008RR2\MSSQL\DATA\DBName.ldf'

Я получаю эти ошибки:

Msg 5133, уровень 16, состояние 1, строка 1 Справочник поиска для файла «C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.mdf" не удалось с ошибка операционной системы 3 (не удалось получить текст для этой ошибки. Причина: 15105). Msg 3156, уровень 16, состояние 3, строка 1 Файл «OCEAN» не может быть восстановлен в «C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.mdf». Используйте WITH MOVE для определения допустимого местоположения файла. Msg 5133, уровень 16, состояние 1, строка 1 поиска Справочник для файла "C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.ldf" не удалось с погрешность операционной системы 3 (не удалось получить текст для этой ошибки. Причина: 15105). Msg 3156, уровень 16, состояние 3, строка 1 Файл 'OCEAN_log' не может быть восстановлен в 'C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.ldf'. Используйте WITH MOVE для определения допустимого местоположения файла. Msg 3119, уровень 16, состояние 1, строка 1 Проблемы были определены при планировании инструкции RESTORE. Предыдущие сообщения предоставляют подробную информацию. Msg 3013, уровень 16, состояние 1, строка 1 БАЗА ДАННЫХ RESTORE прекращается анормально.

sql sql-server-2008-r234k

stackoverrun.com

Открытие SQL-файла .bak SQL (не восстановление!) MS SQL Server

Я читал много сообщений google и вопросы StackOverflow о том, как восстановить базу данных в SQL Server из файла .bak.

Но ни один из них не указывает, как просто ПРОЧИТАТЬ таблицы в резервной копии базы данных. (Ничего, что я мог бы найти?)

Я просто хочу проверить старую информацию, которая теперь была удалена, без фактической восстановления полной базы данных. Это возможно?

,

РЕДАКТИРОВАТЬ:

Я просто хотел опубликовать решение T-SQL для проблемы, поэтому другие могут использовать его, и я могу вернуться и посмотреть его;)

Сначала я создал новую базу данных под названием backup_lookup и backup_lookup ее. После этого я мог бы восстановить мою старую базу данных mydb на новую, не касаясь моего оригинала.

USE master GO RESTORE DATABASE backup_lookup FROM DISK = 'D:\backup\mydb.bak' WITH REPLACE, MOVE 'mydb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup.mdf', MOVE 'mydb_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup_log.ldf' GO

Надеюсь, это поможет 🙂

Solutions Collecting From Web of "Открытие SQL-файла .bak SQL (не восстановление!)"

Из SQL Server 2008 SSMS (SQL Server Management Studio) просто:

  1. Подключитесь к экземпляру базы данных (например, «localhost \ sqlexpress»)
  2. Или:

    • a) Выберите базу данных, которую вы хотите восстановить; или, альтернативно
    • б) Просто создайте новую, пустую базу данных для восстановления.
  3. Щелкните правой кнопкой мыши, Задачи, Восстановить, База данных

  4. Устройство, […], Добавить, Обзор в ваш .bak-файл
  5. Выберите резервную копию. Выберите опцию «переписать = Y». Восстановить базу данных
  6. Он должен сказать «100% завершен», и ваша база данных должна быть в режиме онлайн.

PS: Опять же, я подчеркиваю: вы можете легко сделать это на «базе данных нуля» – вам не нужно перезаписывать текущую базу данных. Но вам нужно ВОССТАНОВИТЬ .

PPS: Вы также можете выполнить то же самое с командами T-SQL, если хотите записать его.

Единственное работоспособное решение – восстановить файл .bak . Содержание и структура этих файлов не задокументированы, и поэтому нет никакого способа (кроме ужасного взлома), чтобы заставить это работать – определенно не стоит вашего времени и усилий!

Единственный инструмент, который я знаю об этом, может иметь смысл .bak файлов без их восстановления – это Red-Gate SQL Compare Professional (и сопровождающий SQL Data Compare), который позволяет сравнить вашу структуру базы данных с содержимым .bak файла , Red-Gate инструменты абсолютно изумительны – очень рекомендуется и стоит каждого копейки, которые они стоят!

И я просто проверил их веб-сайт – кажется, что вы действительно можете восстановить одну таблицу из .bak файла с помощью SQL Compare Pro! 🙂

Нет стандартного способа сделать это. Вам необходимо использовать сторонние инструменты, такие как ApexSQL Restore или SQL Virtual Restore . Эти инструменты действительно не читают файл резервной копии напрямую. Они заставляют SQL Server «думать» о резервных файлах, как если бы это были активные базы данных.

Просто добавьте мое решение, основанное на TSQL:

Прежде всего; добавьте новую базу данных с именем backup_lookup . Затем просто запустите этот скрипт, вставив свой собственный корневой путь баз данных и путь к файлу резервной копии

USE [master] GO RESTORE DATABASE backup_lookup FROM DISK = 'C:\backup.bak' WITH REPLACE, MOVE 'Old Database Name' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup.mdf', MOVE 'Old Database Name_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup_log.ldf' GO

Это не похоже на SQL Server 2008. Вам понадобится помощь стороннего инструмента.

Это поможет вам сделать ваш .bak действующим как живая база данных:

http://www.red-gate.com/products/dba/sql-virtual-restore/

sqlserver.bilee.com

Открытие SQL-файла .bak SQL (не восстановление!)

Я читал много сообщений google и вопросы StackOverflow о том, как восстановить базу данных в SQL Server из файла .bak.

Но ни один из них не указывает, как просто ПРОЧИТАТЬ таблицы в резервной копии базы данных. (Ничего, что я мог бы найти?)

Я просто хочу проверить старую информацию, которая теперь была удалена, без фактической восстановления полной базы данных. Это возможно?

,

РЕДАКТИРОВАТЬ:

Я просто хотел опубликовать решение T-SQL для проблемы, поэтому другие могут использовать его, и я могу вернуться и посмотреть его;)

Сначала я создал новую базу данных, называемую backup_lookup и взял его в автономном режиме. После этого я смогу восстановить свою старую базу данных mydb к новому, без прикосновения к моему оригиналу.

USE master GO RESTORE DATABASE backup_lookup FROM DISK = 'D:\backup\mydb.bak' WITH REPLACE, MOVE 'mydb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup.mdf', MOVE 'mydb_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup_log.ldf' GO

Надеюсь, это поможет :)

Из SQL Server 2008 SSMS (SQL Server Management Studio) просто:

  1. Подключитесь к экземпляру базы данных (например, «localhost \ sqlexpress»)
  2. Или:

    • a) Выберите базу данных, которую вы хотите восстановить; или, альтернативно
    • б) Просто создайте новую, пустую базу данных для восстановления.
  3. Щелкните правой кнопкой мыши, Задачи, Восстановить, База данных

  4. Устройство, [...], Добавить, Обзор в ваш .bak-файл
  5. Выберите резервную копию. Выберите опцию «переписать = Y». Восстановить базу данных
  6. Он должен сказать «100% завершен», и ваша база данных должна быть в режиме онлайн.

PS: Опять же, я подчеркиваю: вы можете легко сделать это на «базе данных с нуля» - вы делаете не  необходимо перезаписать текущую базу данных. Но ты делать  нужно ВОССТАНОВИТЬ ,

PPS: Вы также можете выполнить то же самое с командами T-SQL, если хотите записать его.

Единственным приемлемым решением является восстановить   .bak файл. Содержимое и структура этих файлов не документировано  и, следовательно, нет никакого способа (кроме ужасного взлома), чтобы заставить это работать - определенно не стоит вашего времени и усилий!

Единственный инструмент, о котором я знаю, может иметь смысл .bak файлы без их восстановления Red-Gate SQL Compare Professional  (и сопровождающий SQL Data Compare), которые позволяют сравнить вашу структуру базы данных с содержимым .bak файл. Red-Gate инструменты абсолютно изумительны - очень рекомендуется и стоит каждого копейки, которые они стоят!

И я просто проверил их веб-сайт - кажется, что вы действительно можете восстановить одну таблицу из .bak файл с SQL Compare Pro! :-)

Нет стандартного способа сделать это. Вам необходимо использовать сторонние инструменты, такие как Восстановление ApexSQL  или Виртуальное восстановление SQL , Эти инструменты действительно не читают файл резервной копии напрямую. Они заставляют SQL Server «думать» о резервных файлах, как если бы это были активные базы данных.

Просто добавьте мое решение, основанное на TSQL:

Прежде всего; добавить новую базу данных с именем backup_lookup, Затем просто запустите этот скрипт, вставив свой собственный корневой путь баз данных и путь к файлу резервной копии

USE [master] GO RESTORE DATABASE backup_lookup FROM DISK = 'C:\backup.bak' WITH REPLACE, MOVE 'Old Database Name' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup.mdf', MOVE 'Old Database Name_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup_log.ldf' GO

Это не похоже на SQL Server 2008. Вам понадобится помощь стороннего инструмента.

Это поможет вам сделать ваш .bak действующим как живая база данных:

http://www.red-gate.com/products/dba/sql-virtual-restore/

programmerz.ru

Открытие SQL-файла .bak SQL (не восстановление!)

Я читал много сообщений google и вопросы StackOverflow о том, как восстановить базу данных в SQL Server из файла .bak.

Но ни один из них не указывает, как просто ПРОЧИТАТЬ таблицы в резервной копии базы данных. (Ничего, что я мог бы найти?)

Я просто хочу проверить старую информацию, которая теперь была удалена, без фактической восстановления полной базы данных. Это возможно?

,

РЕДАКТИРОВАТЬ:

Я просто хотел опубликовать решение T-SQL для проблемы, поэтому другие могут использовать его, и я могу вернуться и посмотреть его;)

Сначала я создал новую базу данных, называемую backup_lookup и взял его в автономном режиме. После этого я смогу восстановить свою старую базу данных mydb к новому, без прикосновения к моему оригиналу.

USE master GO RESTORE DATABASE backup_lookup FROM DISK = 'D:\backup\mydb.bak' WITH REPLACE, MOVE 'mydb' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup.mdf', MOVE 'mydb_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup_log.ldf' GO

Надеюсь, это поможет :)

Из SQL Server 2008 SSMS (SQL Server Management Studio) просто:

  1. Подключитесь к экземпляру базы данных (например, «localhost \ sqlexpress»)
  2. Или:

    • a) Выберите базу данных, которую вы хотите восстановить; или, альтернативно
    • б) Просто создайте новую, пустую базу данных для восстановления.
  3. Щелкните правой кнопкой мыши, Задачи, Восстановить, База данных

  4. Устройство, [...], Добавить, Обзор в ваш .bak-файл
  5. Выберите резервную копию. Выберите опцию «переписать = Y». Восстановить базу данных
  6. Он должен сказать «100% завершен», и ваша база данных должна быть в режиме онлайн.

PS: Опять же, я подчеркиваю: вы можете легко сделать это на «базе данных с нуля» - вы делаете не  необходимо перезаписать текущую базу данных. Но ты делать  нужно ВОССТАНОВИТЬ ,

PPS: Вы также можете выполнить то же самое с командами T-SQL, если хотите записать его.

Единственным приемлемым решением является восстановить   .bak файл. Содержимое и структура этих файлов не документировано  и, следовательно, нет никакого способа (кроме ужасного взлома), чтобы заставить это работать - определенно не стоит вашего времени и усилий!

Единственный инструмент, о котором я знаю, может иметь смысл .bak файлы без их восстановления Red-Gate SQL Compare Professional  (и сопровождающий SQL Data Compare), которые позволяют сравнить вашу структуру базы данных с содержимым .bak файл. Red-Gate инструменты абсолютно изумительны - очень рекомендуется и стоит каждого копейки, которые они стоят!

И я просто проверил их веб-сайт - кажется, что вы действительно можете восстановить одну таблицу из .bak файл с SQL Compare Pro! :-)

Нет стандартного способа сделать это. Вам необходимо использовать сторонние инструменты, такие как Восстановление ApexSQL  или Виртуальное восстановление SQL , Эти инструменты действительно не читают файл резервной копии напрямую. Они заставляют SQL Server «думать» о резервных файлах, как если бы это были активные базы данных.

Просто добавьте мое решение, основанное на TSQL:

Прежде всего; добавить новую базу данных с именем backup_lookup, Затем просто запустите этот скрипт, вставив свой собственный корневой путь баз данных и путь к файлу резервной копии

USE [master] GO RESTORE DATABASE backup_lookup FROM DISK = 'C:\backup.bak' WITH REPLACE, MOVE 'Old Database Name' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup.mdf', MOVE 'Old Database Name_log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\DATA\backup_lookup_log.ldf' GO

Это не похоже на SQL Server 2008. Вам понадобится помощь стороннего инструмента.

Это поможет вам сделать ваш .bak действующим как живая база данных:

http://www.red-gate.com/products/dba/sql-virtual-restore/

programmerz.ru

sql - Как восстановить файл .bak в SQL Server 2008 R2

У меня есть код блога , но проблема была произошла. Вот здесь мой файл резервной копии ISBANK.bakи имя базы данных новое имя базы данных. Он не содержит ничего. Я хочу , чтобы добавить .bakсодержимое файла в новую базу данных ..

RESTORE DATABASE [DBName] FROM DISK = 'D:\ISBANK.bak' WITH REPLACE, MOVE 'DBName' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008RR2\MSSQL\DATA\DBName.mdf', MOVE 'DBName' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.SQL2008RR2\MSSQL\DATA\DBName.ldf'

Я получаю эти ошибки:

Msg 5133, уровень 16, состояние 1, строка 1 поиска каталога для файла C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.mdf завершилась с ошибкой операционной системы 3 (не удалось получить текст для этой ошибки Причины: 15105.). Msg 3156, уровень 16, состояние 3, строка 1 Файл 'ОКЕАН' не может быть восстановлен в C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.mdf. Используйте WITH MOVE , чтобы определить действительное местоположение файла. Msg 5133, уровень 16, состояние 1, строка 1 поиска каталога для файла C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.ldf завершилась с ошибкой операционной системы 3 (не удалось получить текст для этой ошибки Причины: 15105.). Msg 3156, уровень 16, состояние 3, строка 1 Файл 'OCEAN_log' не может быть восстановлен в C: \ Program Files \ Microsoft SQL Server \ MSSQL10.SQLSRV2008 \ MSSQL \ DATA \ OBERNET_DENEME.ldf. Используйте WITH MOVE , чтобы определить действительное местоположение файла. Msg 3119, уровень 16, состояние 1, строка 1 Проблемы были выявлены при планировании для RESTORE заявления. Предыдущие сообщения содержат данные. Msg 3013, уровень 16, состояние 1, строка 1 RESTORE DATABASE аварийного завершения.

coredump.su