SQL 使用 SSMS 制作的备份文件无法正常工作...在 SSMS 上(Microsoft SQL Server Management Studio)

SQL backup file made with MSSMS is not working... on MSSMS (Microsoft SQL Server Management Studio)

我生成了一个 SQL 文件来使用 MSSMS 备份数据库:

  1. 右键单击数据库
  2. 生成脚本
  3. 在“要编写脚本的数据类型”上标记为“架构和数据”

结果我得到了一个完整的 SQL,它似乎有效地包含了从头开始重建我的数据库所需的所有信息,包括数据。

为了测试它,我尝试在本地 运行 它,但发现自己卡住了,因为 MSSMS 在它自己制作的 SQL 脚本上抛出错误....我没有做任何感觉:(

我错过了什么吗?:

这是 sql 文件的第一行,就像 MSSMS 制作的一样:

有什么想法吗?

编辑 1

这是删除所有“ALTER DATABASE”后出现的错误(我假设这些是导致问题的配置规范)

它现在说已经创建了表,尽管它们不存在于数据库中(它确实使数据库变得艰难,这是一个进步!)

您尝试执行的脚本包含无效元素,因为您在本地 运行 的 SQL 版本与用于 SQL 的版本不同生成脚本。

在你的例子中,脚本是从 azure SQL 生成的,但你 运行 它在 sql server express edition (localdb)

删除 azure SQL 特定元素,它将起作用。

SSMS 对象资源管理器中的默认脚本选项与源数据库的数据库引擎类型和版本相同。源数据库似乎是基于 CREATE DATABASE 语法的 Azure SQL 数据库,因此脚本不会 运行 针对像 LocalDB 实例这样的独立实例。

您可以修改脚本或生成适合您的目标实例的新脚本。要为 SQL Express LocalDB 生成脚本,请单击“生成脚本”向导的“设置脚本选项”页面上的“高级”按钮。 Select 这些选项:

Script for the database engine edition: Microsoft SQL Server Express Edition

Script for the database engine type: Stand-alone instance