我正在尝试将 .bak 文件转换为数据库。连接后,我左键单击“数据库”时找不到“恢复数据库”按钮。这就是我应该看。 然而,这就是我所看到的。
我一直在使用这教程尝试从 .bak 文件还原数据库。我将 .bak 文件(名为全球进口商标准) 在里面SQL Server 管理工作室文件夹。这是图片。
我尝试过的事情:
- 重新启动服务器管理工作室
- 重启我的电脑
- 寻找有关 Server Management Studio 的更新
- 查找我的电脑上的更新
- 将 .bak 文件复制到其他文件夹并尝试将其作为文件打开
- 寻找任何与 Azure 有关的奇怪事情
我怀疑问题可能是我没有连接到正确的数据库。该程序似乎可以正常登录我的 Azure 帐户,但我没有发现可以连接到我现有的任何服务器。
答案1
您可以使用 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
根据您的环境更改文件夹路径和文件名。如果在执行代码时出现“权限被拒绝”错误,请将 .bak 文件移动到实例的默认备份目录。这RESTORE FILELISTONLY
是检查数据库文件的逻辑名称。
答案2
我找到了解决问题的方法。显然,我的.bak
文件已损坏。我从多个地方获取了它,但仍然遇到同样的问题。(不知道如何或为什么)
然后,我下载了.bacpac
同一数据库的文件,然后使用 SQLBackupAndFTP 将文件作为数据库放到我的 Azure 服务器上。我现在可以使用 Microsoft SQL Management Studio 和 LINQPad 5 访问它。我现在可以在 Db 上很好地使用 SQL 命令。我不知道 Visual Studio 是否可以访问它,但我很乐观。