Я пытаюсь превратить файл .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
заключается в проверке логических имен файлов базы данных.