以文本方式查看主题
- Foxtable(狐表) (http://foxtable.com/bbs/index.asp)
-- 专家坐堂 (http://foxtable.com/bbs/list.asp?boardid=2)
---- 如何复制视图储存过程等到一个新的数据库? (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=99773)
|
-- 作者:happyft
-- 发布时间:2017/4/26 16:27:00
-- 如何复制视图储存过程等到一个新的数据库?
在一个数据库中已经建立好的视图,储存过程等 ,现在要将其批量复制到另一个数据库要怎么办?
原来的数据库名是AA,数据库中的视图,储存过程的是前面都有一句, use AA 当复制到数据库BB 时这些地方全部都会自动变为use BB 吧?
|
-- 作者:有点色
-- 发布时间:2017/4/26 16:32:00
--
导出脚本,导入脚本
-------------
打开SQL2008 按F7,调出“对象资源管理器详细信息”,在左侧选中“存储过程“或”Stored Procedures“目录,到右侧窗口,全选所有的要导入的sp,在选中的sp上鼠标右键。”生成存储过程脚本为”->“Drop和Create到”->“File”,这样就可以导出所有sp,将保存后的file到产品环境下运行一下就可以了。
-----------------
选中一个数据库实例,右键“所有任务”--“生成sql脚本” “常规”--“全部显示”--选中全部存储过程 复选框
|
-- 作者:HappyFt
-- 发布时间:2017/5/25 11:35:00
--
视图,储存过程已经可以了,如果很多表中有触发器,这些触发器可以批量复制到其他数据库中吗(表的结构都是一样的,但已有数据,不能破坏数据)
|
-- 作者:有点色
-- 发布时间:2017/5/25 13:03:00
--
数据库上点右键 任务 生成脚本,然后按提示一步一步就能导出了(表、视图、索引、存储过程、触发器)都能导出
|
-- 作者:HappyFt
-- 发布时间:2017/5/25 18:28:00
--
此主题相关图片如下:qq截图20170525181609.png

这个导出脚本中选择表生成的脚本是包括新建表的,对于新数据库中生成表是没问题, 现在的情况是两个数据库A和B,原来A中已经存在表及数据了,只是原来表都没有触发器,现在要将数据库B(其表与A相同)中的所有触发器复制到A中,仅复制触发器而已,如果按表导出的脚本执行会提示数据中对像已经存在,不会每个表单独打开一个一个复制创建吧?
|
-- 作者:有点色
-- 发布时间:2017/5/25 18:30:00
--
下一步、下一步,那里的选项有你需要的。
|
-- 作者:HappyFt
-- 发布时间:2017/5/25 18:51:00
--
此主题相关图片如下:qq截图20170525181609.png

没弄明白,这些高级选项选了几个也没对,其他地方没有了啊,因为目标数据库中是用了几年的数据,怕弄错了,全部没了就完了
|
-- 作者:有点色
-- 发布时间:2017/5/25 21:25:00
--
如果你设置【编写触发器脚本】-> true,那么,在最后生成的脚本里面,就有触发器的脚本了,你把其余的删除,不就是只有触发器?
|
-- 作者:HappyFt
-- 发布时间:2017/5/25 22:20:00
--
 此主题相关图片如下:qq截图20170525221524.jpg 
只是触发器那个选为true,其他的都是false,结果还是不行啊
打开这个脚本里面还是Create Table的内容,表原来已经有了,不建表,只要增加从另外一个数据库导出的每个表的触发器(表结构完全相同)
|
-- 作者:有点色
-- 发布时间:2017/5/25 22:25:00
--
删除create table的代码不行?只能半自动的。
|