这个图是MSSQL2000上导入错误,原因是我已经导入过2005了,其实只要能够在MSSQL2000上导入成功,并且能够备份出BAK格式
因为我现在MSSQL2005上运行的是4月的一个BAK导入的MSSQL2000的数据,但是这个导入失败的是7月的下面是我导入MSSQL2005导入错误的提示
因为我现在MSSQL2005上运行的是4月的一个BAK导入的MSSQL2000的数据,但是这个导入失败的是7月的下面是我导入MSSQL2005导入错误的提示
借用第三方东西导入先导出到excel 或者 txt 然后再导到相应的数据库表,就不会有版本冲突问题了
2.将2005的数据库备份.
3.清空2005的所有表.
DECLARE @NVR_CMD NVARCHAR(4000)
DECLARE @NVR_TABLENAME NVARCHAR(128)
DECLARE @NVR_DBNAME NVARCHAR(128)SELECT @NVR_DBNAME=DBNAME,@NVR_TABLENAME=MIN(T.[NAME]) FROM
(
SELECT DB_NAME() AS DBNAME,A.[NAME]
FROM SYSOBJECTS AS A inner join SYSINDEXES AS B
ON A.ID=B.ID AND A.XTYPE='U' AND B.INDID<2
) AS T GROUP BY DBNAMEWHILE NOT @NVR_TABLENAME IS NULL BEGIN SET @NVR_CMD='DELETE FROM ' + @NVR_TABLENAME
EXECUTE(@NVR_CMD) SELECT @NVR_DBNAME=DBNAME,@NVR_TABLENAME=MIN(T.[NAME]) FROM
(
SELECT DB_NAME() AS DBNAME,A.[NAME]
FROM SYSOBJECTS AS A inner join SYSINDEXES AS B
ON A.ID=B.ID AND A.XTYPE='U' AND B.INDID<2
) AS T WHERE [name]>@NVR_TABLENAME GROUP BY DBNAME
END4.从链接服务器导入.DECLARE @NVR_CMD NVARCHAR(4000)
DECLARE @NVR_TABLENAME NVARCHAR(128)
DECLARE @NVR_DBNAME NVARCHAR(128)SELECT @NVR_DBNAME=DBNAME,@NVR_TABLENAME=MIN(T.[NAME]) FROM
(
SELECT DB_NAME() AS DBNAME,A.[NAME]
FROM SYSOBJECTS AS A inner join SYSINDEXES AS B
ON A.ID=B.ID AND A.XTYPE='U' AND B.INDID<2
) AS T GROUP BY DBNAMEWHILE NOT @NVR_TABLENAME IS NULL BEGIN SET @NVR_CMD='
INSERT INTO ' + @NVR_TABLENAME + '
SELECT * FROM 链接服务器名.' + @NVR_DBNAME + '.DBO.' + @NVR_TABLENAME EXECUTE(@NVR_CMD) SELECT @NVR_DBNAME=DBNAME,@NVR_TABLENAME=MIN(T.[NAME]) FROM
(
SELECT DB_NAME() AS DBNAME,A.[NAME]
FROM SYSOBJECTS AS A inner join SYSINDEXES AS B
ON A.ID=B.ID AND A.XTYPE='U' AND B.INDID<2
) AS T WHERE [name]>@NVR_TABLENAME GROUP BY DBNAME
END
注意:上面的脚本没有调过.你可以先测试一下.