Answers:
有多种方法可以做到这一点:
data
在您的表中。列属性,约束,键,索引,存储过程,触发器,安全设置,用户,登录等不被传输。但是,此过程非常简单,只需通过SQL Server Management Studio中的向导即可完成。方法1(使用SSIS)的手动过程如下:
您可以通过创建SSIS包并在需要重新导入数据的任何时间重新执行它来使其自动化。请注意,您只能使用SSIS导入到干净的数据库,一旦完成一次就不能对本地数据库进行增量更新。
方法2(SSID数据和架构对象)非常简单。首先执行上述步骤,然后创建数据库创建脚本(在SSMS中右键单击数据库,选择“生成脚本”->“数据库创建”)。然后在本地数据库上重新播放此脚本。
方法#3在以下博客中进行了描述:http : //dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/。有一个视频剪辑,其中包含将数据库内容作为BACPAC传输到Azure Blob存储的过程。之后,您可以在本地复制文件并将其导入到SQL实例。此处介绍了将BACPAC导入到Data-Tier应用程序的过程:http : //msdn.microsoft.com/en-us/library/hh710052.aspx。
将Azure数据库数据复制到本地数据库:现在,您可以使用SQL Server Management Studio进行以下操作:
“下一个” /“下一个” /“完成”
我只想添加dumbledad答案的简化版本,因为它是正确的答案。
我认为现在要容易得多。
另外,我使用Sql Backup和FTP(https://sqlbackupandftp.com/)每天备份到一个安全的FTP服务器。我只是从那里拉一个最近的BACPAC文件,然后将其导入到同一对话框中,这样可以更快,更轻松地创建本地数据库。
您还可以在Windows Azure管理门户中签出SQL Azure数据同步。它允许您检索和还原整个数据库,包括SQL Azure和SQL Server之间的架构和数据。
很简单 这对我有用...就将Azure SQL数据库下载到本地计算机而言...:
但是,请注意,如果您还想要数据和脚本,请确保在开始生成之前检查“高级选项...”,向下滚动到“脚本的数据类型”,并确保您拥有“架构和数据” ...或任何适合您的内容。
它将为您提供一个不错的SQL脚本文件,然后可以在本地计算机上运行该文件,它将创建数据库并使用所有数据填充该数据库。
谨记在我的情况下,我没有FK或其他限制...而且,它的数据也不多。
我一般不建议将此作为备用机制...
sqlcmd /S <server> /d <database> -E -i <azure_dump.sql>
msdeploy.exe
警告:msdeploy.exe
无法自行创建目标数据库,因此您需要首先手动创建它。
msdeploy.exe
像这样运行:
"c:\Program Files\IIS\Microsoft Web Deploy V3\msdeploy.exe" -verb:sync -dest:dbDacFx="destination_DB_connection_string",dropDestinationDatabase=true -source:dbDacFx="azure_DB_connection_string",includeData=true -verbose
SqlPackage.exe
将天蓝色数据库导出到bacpac程序包。
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Export /ssn:"azure_db_server" /sdn:"azure_db_name" /su:"user_name" /sp:"password" /tf:"file.bacpac"
将包导入到本地数据库。
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /SourceFile:"file.bacpac" /TargetServerName:".\SQLEXPRESS" /TargetDatabaseName:CopyOfAzureDb
请尝试以下操作:http : //mooneyblog.mmdbsolutions.com/index.php/2011/01/11/simple-database-backups-with-sql-azure/。
其他替代方法是SQL Azure Data Sync。
几天前,我又遇到了另一篇博客文章,但现在找不到。找到后,我会立即更新。
我收到错误“无法插入只读列“ id””错误,因此无法使SSIS导入/导出正常工作。我也无法使 http://sqlazuremw.codeplex.com/正常工作,并且上面指向SQL Azure Data Sync的链接对我不起作用。
但我发现了一篇有关BACPAC文件的出色博客文章:http ://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/
在帖子中的视频中,博客帖子的作者执行六个步骤:
在Azure管理门户中创建或转到一个存储帐户。您将需要Blob URL和存储帐户的主访问密钥。
该博客文章建议为bacpac文件创建一个新容器,并建议为此使用Azure存储资源管理器。(注意,您需要Blob URL和存储帐户的主访问密钥才能将其添加到Azure Storage Explorer。)
在Azure管理门户中,选择要导出的数据库,然后在功能区的“导入和导出”部分中单击“导出”。
结果对话框将要求您提供数据库的用户名和密码,blob URL和访问密钥。不要忘记在blob URL中包含容器并包含文件名(例如 https://testazurestorage.blob.core.windows.net/dbbackups/mytable.bacpac)。
单击完成后,数据库将被导出到BACPAC文件。这可能需要一段时间。如果签入Azure存储资源管理器,则可能会立即显示零字节文件。这是导入/导出服务,用于检查它是否对blob存储具有写访问权。
完成此操作后,您可以使用Azure存储资源管理器下载BACPAC文件,然后在SQL Server Management Studio中右键单击本地服务器的数据库文件夹,然后选择“导入数据层应用程序”,该应用程序将启动向导,该向导将BACPAC文件读取到生成您的Azure数据库的副本。如果您不想先在本地复制BACPAC文件,该向导也可以直接连接到Blob存储。
最后一步可能仅在SQL Server Management Studio的SQL Server 2012版本(即我正在运行的版本)中可用。我在这台计算机上没有较早的版本要检查。在博客文章中,作者使用命令行工具DacImportExportCli.exe进行导入,我相信可以在http://sqldacexamples.codeplex.com/releases上找到该文件。
接受的答案已过期。我找到了一个更好的答案:使用导入数据层应用程序
有关更多详细信息,请参见本文:将 Azure SQL数据库还原到本地服务器
您可以使用新的Azure移动服务每晚执行一次从SQL Azure到Azure存储中托管的.bacpac文件的备份导出。此解决方案是100%的云,不需要第三方工具,也不需要本地托管的SQL Server实例来下载/复制/备份任何内容。
大约有8个不同的步骤,但它们都很容易:http : //geekswithblogs.net/BenBarreth/archive/2013/04/15/how-to-create-a-nightly-backup-of-your-sql-azure .aspx
我一直使用导入/导出功能,这似乎是最简单的功能。
第1步:
如下所示从azure实例获取备份,选择数据库→右键单击→任务→导出数据层应用程序。
步骤2: 为备份文件指定一个特定的名称,并将其保存在所需的位置
步骤3:就这样,您已经将数据库从sql实例备份到本地。让我们将其还原到本地。将备份的数据库复制到C驱动器。现在,以管理员权限打开PowerShell,然后导航到C驱动器
步骤4:让我们下载Powershell脚本以删除主密钥RemoveMasterKey.ps1将脚本放在同一驱动器上,在本例中为C。
步骤5:运行脚本,如下所示:。\ RemoveMasterKey.ps1 -bacpacPath“ C:\ identity.bacpac”
就是这样,现在您可以在本地环境中的MSSQL 2017上还原它。
步骤6:连接到本地服务器,然后单击数据库→导入数据层应用程序
步骤7:为您的数据库命名,以进行还原。
现在您将看到绿色的一切!
阅读有关图表的博客。
下载Optillect SQL Azure备份 -它具有15天的试用期,因此足以移动数据库:)
我的诀窍是开始在空数据库上复制PK / FK /约束,然后在导入数据时临时禁用约束(请参阅https://stackoverflow.com/a/161410)。
更确切地说:
希望这可以帮助!
如果有人想要一个免费且有效的选项(并且不愿意手动执行)将数据库备份到本地,则可以使用最新版本的Microsoft Visual Studio 2015社区版(免费)或Professional / Premium / Ultimate中内置的架构和数据比较功能版。它就像一个魅力!
我在Azure拥有BizPark帐户,没有付款方法无法直接备份数据库。我在VS工作中发现了这个选项。
嗨,我正在使用SQLAzureMW工具进行SQLAzure数据库迁移和管理。非常有用的一个。它是从codeplex下载的,但目前尚不可用,codeplex将要关闭,GttHub现在提供了相同的应用程序工具。下面的链接说明了如何使用此工具,还可以下载该应用程序。