我有一个庞大的数据库,在SQL Server中有很多表。我正在将其迁移到Azure数据库。
互联网上建议的迁移方法既漂亮又可爱,但由于Azure Db不支持某些内容(xml OPEN,sp_addextendedproperty
等),我不得不重写大部分存储过程,以及我的许多表定义和视图。因此,我选择单独迁移模式和数据。架构已经在Azure中。
我对分开移动数据有很多疑问:
1。仅用于将数据从SQL Server迁移到Azure Db,是否有比bcp
更好/更简单的方法?使用bcp
,我必须逐个表。我有40张桌子。必须有更好的方法......不?
2。我应该在服务器上运行BCP
还是在本地计算机上运行?后者感觉更安全。 db经常被许多用户使用,我不想低估它的性能。
3。不会bcp
搞乱我的归类或数据类型?
我会用这样的东西:
bcp Table1 out C:\DbExport\Table1.txt -c -U sa -S 1.2.3.4\MyDatabase -P password
答案 0 :(得分:2)
是的,有一种将数据从一个SQL Server移动到Azure的替代方法。您可以使用SSDT(SQL Server数据工具)。该工具集包含比较两个表的模式和比较数据的功能,这是您想要做的。然后,SSDT将使您的Azure表与源SQL Server表同步。您可以一次执行多个表。我经常使用它将数据从一个SQL Server表移动到我的Azure数据库。
SSDT是免费的,并附带Visual Studio。但是,如果您目前没有Visual Studio,则不需要安装Visual Studio。您可以安装Visual Studio shell,它安装足够的Visual Studio以允许您运行SSDT。
当然,还有第三方商业工具(如Red Gate)也会这样做。
答案 1 :(得分:2)
您也可以使用xSQL Data Compare Tools。使用此软件,您可以使用相同的模式比较两个数据库之间的数据,然后生成同步脚本。 我个人认为它在解决数据同步问题时非常有用。