如何将一个数据库中的用户表全部添加到另一个数据库中?

时间:2022-06-01 17:59:55
不用复制表中数据,将表结构、索引、约束、触发器、存储过程等除表中数据记录以外的所有东西完整添加到另外一个数据库中。

13 个解决方案

#1


select * from db1.dbo.sysusers into db2.dbo.newtable

#2


用生成脚本功能,注意选项

#3


exp username/pwd@sid file=d:\a.dmp rows=n constraints=y  只要在导出加上row=n就不导出数据,其他的你再根据情况自己来加限制条件了

#4


利用dts工具里面的复制sql对象,可以选择要复制的对象,包括存储过程,表,触发器等等,然后选择不复制数据就可以了,很方便的。
或者利用企业管理器,右键数据库,生成sql脚本,到目标数据库里面去执行。

#5


remark

#6


dts是不是会丢失表的主键、字段默认值什么的?

#7


sql200企业管理器
--右键要要复制的数据库
--所有任务
--导出数据
--目标数据库,选择接受复制的数据库
--然后选择"在两个SQL数据库之间复制数据和对象"
--勾选"创建目的对象","包含扩展属性"
--取消选择"复制数据"
--最后完成.

#8


如果你不是复制全部对象(表结构、索引、约束、触发器、存储过程等),可以在选项设置中,取消选择"复制所有对象",然后单击"选择对象",勾选你要复制的对象

#9


--或者是用生成脚本的方法:

sql200企业管理器
--右键要复制的数据库
--所有任务
--生成SQL脚本
--常规里选择生成全部对象脚本,或者根据你的复制需要选择需要复制的对象
--设置格式里,将"包含扩展属性"选上
--选项中,取消选择"编写数据库脚本",勾选"表脚本选项"中的全部内容
--其他所有的选项保持默认值
--然后确定,将其保存成一个.sql文件

查询分析器,选择目标数据库,打开上面生成的.sql文件,按F5执行即可.

#10


谢谢邹建,但我有一个用户表复制,但要复制的其它表都和这个表有相关性,如何是好?

#11


不明白你的意思? 用户表要复制,其他表和这个表相关,一齐复制过去不就行了吗?

#12


但我要使用目标数据库的另外一个表代替这个不要的表,只把这个表的所有字段加入到目标数据库的另外一个表。

#13


既然只一个表,手工处理吧,没有通用的办法.

#1


select * from db1.dbo.sysusers into db2.dbo.newtable

#2


用生成脚本功能,注意选项

#3


exp username/pwd@sid file=d:\a.dmp rows=n constraints=y  只要在导出加上row=n就不导出数据,其他的你再根据情况自己来加限制条件了

#4


利用dts工具里面的复制sql对象,可以选择要复制的对象,包括存储过程,表,触发器等等,然后选择不复制数据就可以了,很方便的。
或者利用企业管理器,右键数据库,生成sql脚本,到目标数据库里面去执行。

#5


remark

#6


dts是不是会丢失表的主键、字段默认值什么的?

#7


sql200企业管理器
--右键要要复制的数据库
--所有任务
--导出数据
--目标数据库,选择接受复制的数据库
--然后选择"在两个SQL数据库之间复制数据和对象"
--勾选"创建目的对象","包含扩展属性"
--取消选择"复制数据"
--最后完成.

#8


如果你不是复制全部对象(表结构、索引、约束、触发器、存储过程等),可以在选项设置中,取消选择"复制所有对象",然后单击"选择对象",勾选你要复制的对象

#9


--或者是用生成脚本的方法:

sql200企业管理器
--右键要复制的数据库
--所有任务
--生成SQL脚本
--常规里选择生成全部对象脚本,或者根据你的复制需要选择需要复制的对象
--设置格式里,将"包含扩展属性"选上
--选项中,取消选择"编写数据库脚本",勾选"表脚本选项"中的全部内容
--其他所有的选项保持默认值
--然后确定,将其保存成一个.sql文件

查询分析器,选择目标数据库,打开上面生成的.sql文件,按F5执行即可.

#10


谢谢邹建,但我有一个用户表复制,但要复制的其它表都和这个表有相关性,如何是好?

#11


不明白你的意思? 用户表要复制,其他表和这个表相关,一齐复制过去不就行了吗?

#12


但我要使用目标数据库的另外一个表代替这个不要的表,只把这个表的所有字段加入到目标数据库的另外一个表。

#13


既然只一个表,手工处理吧,没有通用的办法.