mssql 数据转移问题
同一台服务器,有2个数据库:A和B,里面的表名完全一致,结构完全一样,A的表有内容,B的表是空白的。
现在我需要将数据从A复制到B。
本来我可以这样做的,循环sysobjects,逐个表:
insert into b..table_n select * from a..table_n,就可以完成任务了。
可惜这些表里面,有某几个表包含了identity列,那么上面这个语句会出错。
我现在需要 编程 解决这个问题,无论使用dtc也好,bcp也行,甚至一个表一个表循环拷贝都可以,就是想能够实现数据转移这个功能。
重要的是要实现 表结构无关性,因为我只知道A和B的表结构是绝对一致的,但是有几个表?表结构如何?那些表有IDENTITY字段,这些需要查询得到的。
就请高手帮个忙!
是啊,希望新表的 identity 列的内容跟旧表一样。
我的意思跟你说的一样,需要避开 IDENTITY,问题是
SET IDENTITY_INSERT ? ON
SET IDENTITY_INSERT ? OFF 可以实现吗?
我的是MSSQL2000
为什么不直接还原呢,按你说的两个库不是都一样吗
表比较大,考虑到可能拷贝失败而需要重新拷贝,可提前测试表的纪录数决定是否要拷贝,所以不打算使用MSFOREACHTABLE。
set identity_insert xx on
然后insert就是,
用不用sp_msforeachtable是你的事。
guguda2008
(神鸭一烤天下香)
为什么不直接还原呢,按你说的两个库不是都一样吗
直接还原是指什么?确实是为了2个库实现一样。
备份是一个方法。
目前我关注的是,set identity_insert xx on 还是会出错,提示:
“仅当使用了列
相关问答:
由于最近要写一个分页的程序,在网上找了个存储过程;
create procedure add_pp_SqlPager
@sqlstr nvarchar(4000), --查询字符 ......
现有一个ASP+mssql的网站,被挂马了,将里面一个表中的ntext字段挂马挂马,“<script src=http://木马地址></script>”,的方式是,不断地修改该字段的值,直接加在最后的,时间长了,可以看到该字段中有 ......
在使用mssqlserver profiler跟踪招执的SQL时,我想直接跟踪执行时间大于3秒的SQL语句,如何设置?
对于过滤时选择:textData 类似于时, 里面要不要加%%,如我跟踪对表: OUSR 的所有执行语句,类似于里面 ......
请问MSSQL是否支持离线文件的发布和订阅?比如生成同步文件后再复制到要同步的服务器进行同步?
没有这么先进吧
引用
请问MSSQL是否支持离线文件的发布和订阅?比如生成同步文件后再复制到要同步的服务器进行 ......