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