我有一个名为(本地)和其他(备份)的环境。
从备份数据库中,我有一些存储过程以及填充的表。
在我的本地,我有那些存储过程和表,但其中没有存储任何内容。
所以我想从我的备份环境中获取数据到我的本地数据库环境,我该如何实现呢?
我正在使用 SQL Server
我有一个名为(本地)和其他(备份)的环境。
从备份数据库中,我有一些存储过程以及填充的表。
在我的本地,我有那些存储过程和表,但其中没有存储任何内容。
所以我想从我的备份环境中获取数据到我的本地数据库环境,我该如何实现呢?
我正在使用 SQL Server
其他答案中列出了一些不错的选择。但是根据您需要执行此活动的频率或您需要的粒度控制,Red Gate 的SQL 数据比较让您可以比较数据库并确定应该移动哪些数据,向哪个方向移动。非常强大且易于使用。它并不便宜:起价 400 美元,但有 14 天的试用期。
我与他们没有任何关系,我只是一个非常满意的客户。
如果您只想获取数据库中的数据,在 MS SQL Server Management Studio 中执行此操作的一种方法是将数据从一个源导出到另一个源。
右键单击源数据库,选择“任务”,然后选择“导出数据”并按照向导的说明进行操作。您可能需要修改一些设置,例如“身份插入”。
要处理数据库的结构,可以生成脚本,即右键单击源数据库,选择“tasks”,然后选择“generate scriptis”
最后,您始终可以通过本地数据库对“备份”数据库进行备份/恢复。右键单击源数据库,选择“任务”,然后选择“备份...”并按照向导的说明进行操作。在这种情况下,您需要备份到文件
之后,您可以使用类似的方式恢复它。右键单击目标数据库,选择“任务”,然后选择恢复。在这种情况下,您需要选择从文件中恢复。
我希望这有帮助。
我建议使用 SSIS(来自 Management Studio 的“导入数据”)来复制表数据。(在 SQL Management Studio 中,右键单击您的数据库并选择 Tasks->Import)
通过 SQL 脚本导入存储过程(IMO)更好(在 SQL Management Studio 中,右键单击数据库并选择任务,“生成脚本”。注意:通过 SQL 获取您的 SP 默认情况下不会导入任何权限。
如果它们具有相同的模式,则将数据从一个数据库导出到另一个数据库非常容易。您只需在 ssms 中使用导入导出向导 inbuild 并指定源数据库和目标数据库,然后选择要复制的表列表
watch this video
www.youtube.com%2Fwatch%3Fv%3DeDfhTPU7P-M&ei=DUhwULvhM4LPrQeY9oDoCA&usg=AFQjCNGA5a1o-yL9z-31EQQAQed-r5Pvlg&sig2=SiSTQ9tDackePFXw9-5vmw
我建议创建 SSIS(ETL) 包。它是非常强大的工具,而不是像 Redgate SQL 数据比较或备份/恢复这样的临时解决方案。
在更大的环境中,我会推荐 Replication,但它的主题要大得多。