create table test(ID int,Name binary) select top 0 * into test2 from test insert test select 1,cast('A' as binary) insert test select 2,cast('B' as binary) insert test2 select * from test select * from test2
create table test(ID int,Name image) select top 0 * into test2 from test insert test select 1,cast('A' as image) insert test select 2,cast('B' as image) insert test2 select * from test select * from test2 drop table test drop table test2 ID Name ----------------- 1 0x41 2 0x42
如果你怀疑向导不工作, 那把你的表 TOP 1 一条记录到一张新表, 试试导这张新表 SELECT TOP 1 * INTO 临时表 FROM 你的表
wufeng4552 的方法在测试中是没有问题的。 然而我的表中已经存在上万条记录。我做了如下的实验。insert test2 select * from test where id=1 这样是没有问题的。select * from test2也能正确的显示有一条数据然而我做insert test2 select * from test就出现问题了。 查询分析器报告:“服务器:消息823,级别24,状态2,行1” 据我分析,也许是某一条记录的2进制数据过大出现问题?但是上万条数据,我怎么查呢?声明:两个表的结构完全一致。
--查image字段值大於100M的资料SELECT 主键 FROM TableName WHERE DataLength(Image字段名)>1024*1024*1024
select top 0 * into test2 from test
insert test select 1,cast('A' as binary)
insert test select 2,cast('B' as binary)
insert test2 select * from test
select * from test2
重申问题,目的数据库中没有此表,就是想实现将此表复制到目的数据库,复制表结构没有问题,数据无法复制。
create table test(ID int,Name image) select top 0 * into test2 from test insert test select 1,cast('A' as image)
insert test select 2,cast('B' as image) insert test2 select * from test
select * from test2
drop table test
drop table test2
ID Name
-----------------
1 0x41
2 0x42
例如你的 image 第一条记录有 500MB 的话, 当然你会很久都看不到进度啦(耐心等待)
SELECT TOP 1 * INTO 临时表 FROM 你的表
然而我的表中已经存在上万条记录。我做了如下的实验。insert test2 select * from test where id=1
这样是没有问题的。select * from test2也能正确的显示有一条数据然而我做insert test2 select * from test就出现问题了。
查询分析器报告:“服务器:消息823,级别24,状态2,行1”
据我分析,也许是某一条记录的2进制数据过大出现问题?但是上万条数据,我怎么查呢?声明:两个表的结构完全一致。
--查image字段值大於100M的资料SELECT 主键 FROM TableName WHERE DataLength(Image字段名)>1024*1024*1024
GODBCC CHECKTABLE('你的表名')