对方不想做增量导出然后导入,只想全部重新导入,先将数据删除,然后将将数据重新导入。
每次操作的时候,牵涉到的数据量多达 1000万条记录以上。数据库操作是不是会出问题?
曾经做过一次将表中40万条记录删除的操作,经常超时退出,当然当时测试的机器性能比较差,只是普通的PC机器而已,内存512MB。
有经验的兄弟提提看法。
7 个解决方案
#1
truncate table tablename--这样删除是不记录日志的
#2
先連表一起刪除,然後再重新建表
drop table TableName
create table TableName(id int,........)
drop table TableName
create table TableName(id int,........)
#3
先用truncate table tablename刪除表﹐這樣很快﹐不會超時﹐再导入到﹐建議用BCP导入
可以建一個bat批處理文件﹐每次只要執行bat文件﹐數據就自動导入了
可以建一個bat批處理文件﹐每次只要執行bat文件﹐數據就自動导入了
#4
用导入导出工具也行啊,里面有导入前清空目标表
#5
建一个作业和dts包,作业里1.清空表2.执行dts包
#6
另可以加上
ALTER DATABASE DB_NAME SET RECOVERY SIMPLE
...
ALTER DATABASE DB_NAME SET RECOVERY FULL
ALTER DATABASE DB_NAME SET RECOVERY SIMPLE
...
ALTER DATABASE DB_NAME SET RECOVERY FULL
#7
用向导设计dts,里面有选择追加还是先删除表,不需要象rouqu(石林#黄果树)说的需要2步来操作
#1
truncate table tablename--这样删除是不记录日志的
#2
先連表一起刪除,然後再重新建表
drop table TableName
create table TableName(id int,........)
drop table TableName
create table TableName(id int,........)
#3
先用truncate table tablename刪除表﹐這樣很快﹐不會超時﹐再导入到﹐建議用BCP导入
可以建一個bat批處理文件﹐每次只要執行bat文件﹐數據就自動导入了
可以建一個bat批處理文件﹐每次只要執行bat文件﹐數據就自動导入了
#4
用导入导出工具也行啊,里面有导入前清空目标表
#5
建一个作业和dts包,作业里1.清空表2.执行dts包
#6
另可以加上
ALTER DATABASE DB_NAME SET RECOVERY SIMPLE
...
ALTER DATABASE DB_NAME SET RECOVERY FULL
ALTER DATABASE DB_NAME SET RECOVERY SIMPLE
...
ALTER DATABASE DB_NAME SET RECOVERY FULL
#7
用向导设计dts,里面有选择追加还是先删除表,不需要象rouqu(石林#黄果树)说的需要2步来操作