关于SQL Server Express
SQL Server Express(2012、2014、2016、2017、2019)是 Microsoft SQL Server的免费版本。与付费版本相比,它有一些技术限制使其不适合大规模部署,例如人为的硬件使用限制和 10 GB 的数据库大小限制。
此外,它缺少通常用于安排管理任务的SQL Server代理。但由于通常不需要自动恢复SQL Express数据库,您的恢复操作应该不会受到太大影响。

从备份恢复SQL Express数据库
您将在下面找到从备份中恢复SQL Express数据库的5种方法。它们与恢复SQL Server数据库大致相同,您可以根据需要选择一个,然后点击锚文本快速查看。
方法 1. 使用 SSMS GUI 恢复SQL Express数据库
在SQL Server Express 中,也可以通过 SSMS GUI 来恢复数据库备份,具体步骤如下:
1. 启动 SSMS 并连接到您的实例。在对象资源管理器下找到要还原的数据库,右键单击它并选择任务>还原>数据库…

2. 在此步骤中,您可以选择“来源”作为“数据库”或“设备”。如果您的备份文件存放在默认目录下,您可以选择前者。否则,您可以选择Device并单击…以手动指定 bak 文件。

3. 如果您添加的备份没有问题,进度会显示为“Done”,您可以直接点击“确定”进行恢复。

方法 2. 使用 T-SQL 从 .bak 文件还原SQL Express数据库备份
启动 SSMS 并连接到要将数据库还原到的实例。点击“新建查询”新建一个SQLQuery窗口,输入restore命令如下:
这是从 bak 文件恢复 SQL数据库的基本语句。填写自己的数据库名和备份文件路径即可。请注意您使用的路径应包含文件名和 .bak 扩展名。

如果要从差异备份中恢复数据库,则需要提前从上次完整备份中恢复。命令将类似于:
GO
RESTORE DATABASE DatabaseName FROM DISK = ‘ Filepath_diff ‘ WITH RECOVERY
GO
正确输入T-SQL语句后,点击“执行”即可运行。
注意: 如果 您在还原过程中收到“数据库日志的尾部尚未备份”,您可以按照说明进行操作,即首先使用 NORECOVERY 备份日志(如果它包含您不想丢失的工作),或恢复数据库 WITH REPLACE 或 WITH STOPAT 以覆盖日志的内容。
方法三、使用命令行恢复SQL Express数据库
事实上,您也可以通过 SQLCMD 在命令提示符中运行 T-SQL 语句。这特别适合不想每次都登录SSMS进行恢复操作的用户。
按 Win + R 打开运行窗口,在文本框中输入“cmd”并按回车键。然后您可以在弹出的窗口中输入命令来执行SQL Express数据库的备份和恢复。
“注意:”要从命令提示符运行备份语句,请参阅 使用命令行备份 SQL数据库.
恢复SQL Express数据库的基本命令是:

从差异备份恢复SQL Express数据库:
SqlCmd -E -S ServerName -Q “RESTORE DATABASE DatabaseName FROM DISK=’Filepath_diff’ WITH RECOVERY” sqlcmd -E -S ServerName -Q “RESTORE DATABASE DatabaseName FROM DISK=’ Filepath_diff ‘ WITH RECOVERY”
“注意:”如果需要经常执行相同的操作,也可以在txt编辑器中输入命令,保存为.bat文件。因此,您可以通过双击轻松执行任务。
方法四、使用PowerShell恢复SQL Express数据库
使用 PowerShell 还原数据库还需要先前创建的 .bak 文件。如果您也想使用 PowerShell 执行备份,请参阅用于备份 SQL数据库的 PowerShell 脚本.
使用备份文件,您可以按照以下步骤恢复SQL Express数据库。
1. 点击“开始”菜单,选择Windows PowerShell,以管理员身份启动Windows PowerShell ISE。
2. 点击“新建脚本”,输入以下命令导入相应的cmdlet:
“注意:”如果在导入模块时出现错误,表明 SQLPS 不受信任,请尝试先执行 Set-ExecutionPolicy RemoteSigned,然后重新导入 cmdlet。

3、然后输入以下命令运行SQL Express数据库备份:
BackupFile““文件路径””-ReplaceDatabase
















