解决SQL Server导入数据时id自增属性丢失

来源:岁月联盟 编辑:zhuzhu 时间:2007-09-13

问:“解决SQL Server导入数据时id自增属性丢失”

答:“利用查询分析器和SQL语句可以很好的解决这一问题。”

首先利用查询分析器连接上刚被导入数据的远程数据库,然后执行如下的SQL语句就可以修改指定的数据库表了(这里假设fromo为指定数据库表):

ALTER TABLE from DROP COLUMN id ALTER TABLE from ADD id int IDENTITY(1,1)

上面第一个SQL语句用来删掉丢失了自增属性的id列,第二个SQL语句用来增加一个新的id列,并设置其为从1开始以1为步长自增。

因为使用时间长了,日志会膨胀得很夸张,所以可以执行以下sql语句,非常安全。

DUMP TRANSACTION 你的数据库名 WITH NO_LOG    清空日志 BACKUP LOG 你的数据库名 WITH NO_LOG     截断事务日志 DBCC SHRINKDATABASE(你的数据库名)收缩数据库文件 EXEC sp_dboption ´你的数据库名´, ´autoshrink´, ´TRUE´  自动收缩

在创建数据库时最好改写日志增长不按照百分比,而是按照每次增加多大空间去做。否则,最后会让日志很大。