Sql server 使用MSSMS生成的SQL备份文件不工作。。。在MSSMS(Microsoft SQL Server Management Studio)上

Sql server 使用MSSMS生成的SQL备份文件不工作。。。在MSSMS(Microsoft SQL Server Management Studio)上,sql-server,ssms,Sql Server,Ssms,我使用MSMS生成了一个SQL文件来备份数据库: 右键单击数据库 生成脚本 在“要编写脚本的数据类型”上标记“架构和数据” 因此,我得到了一个完整的SQL,它似乎有效地包含了从头开始重建数据库所需的所有信息,包括数据 为了测试它,我尝试在本地运行它,但发现自己被卡住了,因为MSMS在它自己生成的SQL脚本上抛出错误。。。。我没有任何意义:( 我错过了什么吗 这是sql文件的第一行,正如MSMS创建的: 有什么想法吗 编辑1 这是我在删除所有“alterdatabase”后遇到的错误(我假设这些

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

  • 右键单击数据库
  • 生成脚本
  • 在“要编写脚本的数据类型”上标记“架构和数据”
  • 因此,我得到了一个完整的SQL,它似乎有效地包含了从头开始重建数据库所需的所有信息,包括数据

    为了测试它,我尝试在本地运行它,但发现自己被卡住了,因为MSMS在它自己生成的SQL脚本上抛出错误。。。。我没有任何意义:(

    我错过了什么吗

    这是sql文件的第一行,正如MSMS创建的:

    有什么想法吗

    编辑1

    这是我在删除所有“alterdatabase”后遇到的错误(我假设这些是导致问题的配置规范)


    现在,它表示虽然表不在数据库中,但已经创建了表(创建数据库很困难,这是一个进步!)

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

    在您的情况下,脚本是从azure SQL生成的,但您正在SQL server express edition(localdb)上运行它


    删除azure SQL特定的元素,它就会工作。

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

    在您的情况下,脚本是从azure SQL生成的,但您正在SQL server express edition(localdb)上运行它


    删除特定于azure SQL的元素,它就会工作。

    SSMS对象资源管理器中的默认脚本选项与源数据库的数据库引擎类型和版本相同。源数据库似乎是基于
    创建数据库
    语法的azure SQL数据库,因此脚本不会针对独立实例运行,如为您的LocalDB实例添加电子邮件

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

    Script for the database engine edition: Microsoft SQL Server Express Edition
    
    Script for the database engine type: Stand-alone instance
    

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

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

    Script for the database engine edition: Microsoft SQL Server Express Edition
    
    Script for the database engine type: Stand-alone instance
    

    这可能会帮助您,这可能会帮助您,您好,谢谢您的帮助!现在我了解了问题的根源。不幸的是,我无法再访问原始数据库,如何修改SQL我必须能够在本地运行它?很抱歉,这可能是显而易见的,但这是我第一次这样做。您好,谢谢您的帮助!现在我明白了d问题来源。很遗憾,我无法再访问原始数据库,我如何修改SQL才能在本地运行?很抱歉,这可能是我第一次这么做。您好,谢谢您的帮助!现在我了解了问题来源。我尝试删除“创建数据库”之间的所有“ALTER database”和第一个“创建表”但我遇到了另一个错误,我将编辑我的问题以添加新映像。您可以帮助我知道哪些是azure SQL特定元素以删除它们吗?您现在遇到的错误与azure脚本无关。正如错误所说,表已经创建。您无法创建已经存在的表!:)我注意到您的脚本中没有
    use mortury\u db
    语句。您确定您的脚本在正确的数据库中运行吗?另外,最初的问题不是
    alterdatabase
    语句。这是
    创建数据库
    语句中的
    版本
    服务目标
    元素成功!我首先创建了数据库,然后在其中执行了一个查询!此外,我删除了所有的“ALTER”,因为其中一些会引起冲突,我也删除了edition和service_目标。非常感谢allmhuran!没有你的帮助我想不出来!你好,谢谢你的帮助!现在我明白了问题的根源。我试图删除“创建数据库”和第一个“创建表”之间的所有“ALTER DATABASE”,但我遇到了另一个错误,我将编辑我的问题以添加新图像。你能帮我知道什么是azure SQL特定元素以便删除它们吗?你现在得到的错误与azure脚本无关。正如错误所说,已经创建了表。无法创建已存在的表!:)我注意到您的脚本中没有
    use mortury\u db
    语句。您确定您的脚本在正确的数据库中运行吗?另外,最初的问题不是
    alterdatabase
    语句。这是
    创建数据库
    语句中的
    版本
    服务目标
    元素成功!我首先创建了数据库,然后在其中执行了一个查询!此外,我删除了所有的“ALTER”,因为其中一些会引起冲突,我也删除了edition和service_目标。非常感谢allmhuran!没有你的帮助我想不出来!