以文本方式查看主题

-  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的代码不行?只能半自动的。