Sql server 将SQL Server备份还原到Azure SQL数据库
有没有一种方法可以简单地获取一个SQL backup.bak文件,并将其用作在Azure SQL数据库上生成新数据库的还原点Sql server 将SQL Server备份还原到Azure SQL数据库,sql-server,azure,azure-sql-database,database-backups,Sql Server,Azure,Azure Sql Database,Database Backups,有没有一种方法可以简单地获取一个SQL backup.bak文件,并将其用作在Azure SQL数据库上生成新数据库的还原点 在这种情况下,我看到的通常建议使用的向导希望创建一个自定义文件以供使用,但它会吐在加密对象(函数和视图)上,我看不到其他方法来运行它。Azure SQL数据库当前不支持该功能。在Azure SQL数据库中还原的唯一方法是从BACPAC文件导入-您可以按照以下指南使用BACPAC文件迁移到Azure SQL DB: 其他选项是使用,这将启用.bak文件的还原如果您在本地计算
在这种情况下,我看到的通常建议使用的向导希望创建一个自定义文件以供使用,但它会吐在加密对象(函数和视图)上,我看不到其他方法来运行它。Azure SQL数据库当前不支持该功能。在Azure SQL数据库中还原的唯一方法是从BACPAC文件导入-您可以按照以下指南使用BACPAC文件迁移到Azure SQL DB:
其他选项是使用,这将启用.bak文件的还原如果您在本地计算机上已经有数据库,那么您可以使用SQL Management Studio直接在Azure上迁移它。遵循以下步骤: 右键单击SSMS中的数据库名称: 按照随后出现的向导进行操作
如果您正在运行SSMS v17,则可以配置Azure SQL数据库版本、大小和服务目标 当前Azure不支持使用备份(.bak)文件还原Azure SQL实例上的数据库。但是,还有许多其他方法可以将SQL数据库迁移到Azure SQL。例如,使用SQL Server Management Studio deploy或在.bacpac文件中获取备份,然后使用SSMS导出/导入或使用Microsoft数据库迁移帮助工具导入备份。下面的链接将对你们有用,因为他们将这些方法解释为一步一步的过程
为了在Azure SQL Server上获取我的.BAK文件,我在这个线程中遵循了两个答案的建议 在完成以下步骤之前,BAK文件还原在我的笔记本SQL实例上失败(备份来自SQL2016,与我的SQL2014不兼容)。我当时正在进行培训,并从培训中下载了这两个文件:
AdventureWorks2016CTP3.bak
和AdventureWorksDW2016CTP3.bak
BAK to AzureDB
Azure虚拟机
和SQL实例
,用于MCA培训。9:00分钟的视频向您展示了如何配置相关的Azure资源。该视频还演示了如何获取Azure SQL数据库的连接字符串,该字符串将在下一步中使用
从Azure VM远程会话连接到SSMS,我从BAK恢复了数据库
+------------------------------------------------------------------------------------------------------+
| Source |
+------------------------------------------------------------------------------------------------------+
| data216x |
| |
| Microsoft SQL Server 2016 (SP1-CU13) (KB4475775) - 13.0.4550.1 (X64) |
| Jan 10 2019 19:31:11 |
| Copyright (c) Microsoft Corporation |
| Developer Edition (64-bit) on Windows Server 2016 Datacenter 10.0 <X64> (Build 14393: ) (Hypervisor) |
+------------------------------------------------------------------------------------------------------+
| Target |
+------------------------------------------------------------------------------------------------------+
| sqlserver-dat216x |
| |
| |
| Microsoft SQL Azure (RTM) - 12.0.2000.8 |
| Dec 19 2018 08:43:17 |
| Copyright (C) 2018 Microsoft Corporation |
+------------------------------------------------------------------------------------------------------+
(Microsoft.SqlServer.Dac)
按钮:
嗯
截图:
删除不兼容对象后,Azure DB部署成功。(注意:我不得不这样做了几次。我尝试了Redgate SQLSearch forMEMORY\u OPTIMIZED
,但它一直说“没有搜索结果”,即使表定义中包含了关键字。)
试试“数据迁移助手”;
DMA下载:
请从这里获得帮助。这可能会对您有所帮助。谢谢,它工作正常。我只需要在数据库服务器的防火墙上添加我的IP设置。如果为了将数据库及其数据导入azure而尝试还原.bak,使用此方法部署肯定要容易得多注意,如果使用
activedirectory-Universal with MFA-support
身份验证连接到Azure SQL数据库,则导出将失败,并显示非常模糊的错误消息。使用SQL Server身份验证
而不是为将来的读者准备:我坚信,将备份还原到本地数据库并执行此操作比手动使用BACPAC文件迁移(这将创建BACPAC文件)更容易。数据库是否需要存在?还是它自己创造的?现在也是这样吗???我必须使用Powershell将.bak文件恢复到Azure SQL。。这是可以做到的还是死路一条?@fjch1997 zainzul并没有说他已经实现了从.bak文件恢复,而是说他必须实现这一点。他在问是否可能。最好使用DMA,它会在DB中产生可能的变化。它还将生成用于迁移信息的查询。不需要上传bak文件。也许,这是可能的。但是,我建议您使用DMA程序。它更干净,会显示本地Sql实例和云上版本之间的错误。链接都断开了。
CREATE TYPE [Sales].[SalesOrderDetailType_inmem] AS TABLE (
[OrderQty] SMALLINT NOT NULL,
[ProductID] INT NOT NULL,
[SpecialOfferID] INT NOT NULL,
INDEX [IX_SpecialOfferID] NONCLUSTERED HASH ([SpecialOfferID]) WITH (BUCKET_COUNT = 8),
INDEX [IX_ProductID] NONCLUSTERED HASH ([ProductID]) WITH (BUCKET_COUNT = 8))
WITH (MEMORY_OPTIMIZED = ON);