Назад | Перейти на главную страницу

Как заставить SQL Server Management Studio найти файл .bak для восстановления?

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

Я использовал этот учебник, чтобы попытаться восстановить базу данных из файла .bak. Я поместил файл .bak (названный WideWorldImporters-Standard) в SQL Server Management Studio папка. Вот картинка.

Вещи, которые я пробовал:

Я подозреваю, что проблема может заключаться в том, что я не подключаюсь к нужной базе данных. Кажется, программа выполняет вход в мою учетную запись Azure нормально, но я не находка любой из моих существующих серверов для подключения.

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

Затем я загрузил .bacpac файл для той же базы данных, а затем использовал SQLBackupAndFTP, чтобы поместить файл на мой сервер Azure в качестве базы данных. Теперь я могу получить к нему доступ с помощью Microsoft SQL Management Studio и LINQPad 5. Теперь я могу поиграть с командами SQL в базе данных. Я не знаю, может ли Visual Studio получить к нему доступ, но я настроен оптимистично.

Вы можете восстановить базу данных, используя файл резервной копии, используя T-SQL:

RESTORE FILELISTONLY   
    FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\AdventureWorks2017.bak' ;  
    GO  

--Restore database from backup


RESTORE DATABASE [AdventureWorks2017]
            FROM DISK = N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Backup\AdventureWorks2017.bak'
            WITH  FILE = 1,  
                  MOVE N'AdventureWorks2017'           TO N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\DATA\AdventureWorks2017.mdf',  
                  MOVE N'AdventureWorks2017_log'       TO N'C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\Log\AdventureWorks2017_log.ldf',  
                  NOUNLOAD,
                  REPLACE,
                STATS = 20
            GO 

Измените путь к папке и имена файлов в соответствии с вашей средой. Если вы получаете сообщение об ошибке «Permission denied» во время выполнения кода, переместите файл .bak в каталог резервных копий по умолчанию для экземпляра. В RESTORE FILELISTONLY заключается в проверке логических имен файлов базы данных.