如何让 SQL Server Management Studio 找到要恢复的 .bak 文件?

如何让 SQL Server Management Studio 找到要恢复的 .bak 文件?

我正在尝试将 .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 是否可以访问它,但我很乐观。

相关内容