有人知道我如何将 SQL Azure 数据库复制到我的开发机器吗?我希望停止支付云端开发数据库的费用,但这是获取生产数据的最佳方式。我将生产数据库复制到新的开发数据库,但我希望本地有同样的数据库。
有任何建议吗?
有人知道我如何将 SQL Azure 数据库复制到我的开发机器吗?我希望停止支付云端开发数据库的费用,但这是获取生产数据的最佳方式。我将生产数据库复制到新的开发数据库,但我希望本地有同样的数据库。
有任何建议吗?
数据
,列属性、约束、键、索引、存储过程、触发器、安全设置、用户、登录等不会被转移。但这是一个非常简单的过程,可以通过 SQL Server Management Studio 中的向导轻松完成。使用方法1(使用 SSIS)的手动操作如下:
您可以创建SSIS包并在需要重新导入数据时重新执行它,以自动化此过程。请注意,您只能使用SSIS导入到一个干净的数据库,一旦您已经完成了一次导入,就无法对本地数据库进行增量更新。
方法#2(SSID数据加上架构对象)非常简单。首先按照上述步骤进行操作,然后创建DB创建脚本(在SSMS中右键单击数据库,选择“生成脚本”->“数据库创建”)。然后将此脚本重新运行在您的本地数据库上。
方法#3 在这里的博客中有描述:http://dacguy.wordpress.com/2012/01/24/sql-azure-importexport-service-has-hit-production/。其中有一个视频剪辑,展示了将DB内容传输到Azure Blob存储作为BACPAC的过程。之后,您可以将文件复制到本地并将其导入到SQL实例。将BACPAC导入到“Data-Tier application”的过程在这里描述:http://msdn.microsoft.com/en-us/library/hh710052.aspx。
“下一步”/“下一步”/“完成”
我只想添加一个简化版本的dumbledad的答案,因为它是正确的。
我认为现在要简单得多了。
此外,我使用 Sql Backup and FTP (https://sqlbackupandftp.com/) 每天备份到一个安全的FTP服务器。 我只需从那里拉取最近的BACPAC文件,并在同一对话框中导入它,这样更快捷、便于创建本地数据库。
msdeploy.exe
提示: msdeploy.exe
无法自动创建目标数据库,因此您需要先手动创建它。
Run msdeploy.exe
like this:
"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
Export the azure DB to a bacpac package.
"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"
Import the package to a local DB.
"c:\Program Files (x86)\Microsoft SQL Server\110\DAC\bin\SqlPackage.exe" /a:Import /SourceFile:"file.bacpac" /TargetServerName:".\SQLEXPRESS" /TargetDatabaseName:CopyOfAzureDb
sqlcmd /S <server> /d <database> -E -i <azure_dump.sql>
。 - perlyking