我正在尝试从类中还原数据库。但是,当我尝试还原.bak文件时,似乎SSMS无法识别它。
我已授予包含.bak文件的文件夹(这是ms SQL studio的默认备份文件夹)的完全权限。
我已采取的还原.bak文件的步骤:
右键单击数据库->还原数据库->从设备(选择.bak文件位置)->到数据库(选择数据库目标)
像这里:C:\ Program Files(x86)\ Microsoft SQL Server \ MSSQL10.SQLEXPRESS \ MSSQL \ Backup
该数据库没有损坏,我检查了另外两个数据库相同的结果,所以我不知道是什么问题
这里图片:
我看不到数据库,并且拥有几乎最新版本的MS SQL Studio,所以我不明白这里发生了什么以及为什么我无法还原数据库
和这里:SQL Server Management Studio can't recognize .bak file
https://www.youtube.com/watch?v=U0FpXwQfBaU
像上面的视频那样应该很简单,但是就像我上面所说的那样,这里有些错误,我不知道这是什么。我的SQL版本图片
一旦您(我的意思是服务帐户)对.bak
文件存放且文件未损坏的文件夹具有完全权限,则您应该可以还原而不会出现任何问题,但是有时GUI中会出现故障并与命令行完美配合。不确定问题可能是fix of SSMS release notes中的一项
但是,您可能想尝试以下操作:
RESTORE VERIFYONLY FROM DISK = 'C:\YourbackupLocation\DbName.bak';
RESTORE HEADERONLY FROM DISK = 'C:\YourbackupLocation\DbName.bak';
RESTORE FILELISTONLY FROM DISK = 'C:\YourbackupLocation\DbName.bak' ;
RESTORE Backup DBName FROM DISK = 'C:\YourbackupLocation\DbName.bak' with replace, recovery, stats;
重定位文件
RESTORE Backup DBName FROM DISK = 'C:\YourbackupLocation\DbName.bak'
with replace, recovery, stats
--- Get the logical name from the result of "RESTORE FILELISTONLY" command
move 'DBName' to 'C:\NewLocation\DBName.mdf',
move 'DBName_Log' to 'C:\NewLocation\DBName_log.ldf' ;