使用SQL Server的朋友可能有遇到這樣的情況,在導(dǎo)入數(shù)據(jù)的時(shí)候,ID自增屬性丟失了,本文就給大家介紹如何解決這個(gè)問題,這是在我遇到的時(shí)候做的總結(jié),特分享給大家。
首先利用查詢分析器連接上剛被導(dǎo)入數(shù)據(jù)的遠(yuǎn)程數(shù)據(jù)庫,然后執(zhí)行如下的SQL語句就可以修改指定的數(shù)據(jù)庫表了(這里假設(shè)fromo為指定數(shù)據(jù)庫表):
ALTER TABLE from DROP COLUMN id
ALTER TABLE from ADD id int IDENTITY(1,1)
上面第一個(gè)SQL語句用來刪掉丟失了自增屬性的id列,第二個(gè)SQL語句用來增加一個(gè)新的id列,并設(shè)置其為從1開始以1為步長自增。
因?yàn)槭褂脮r(shí)間長了,日志會(huì)膨脹得很夸張,所以可以執(zhí)行以下sql語句,非常安全。
DUMP TRANSACTION 你的數(shù)據(jù)庫名 WITH NO_LOG 清空日志
BACKUP LOG 你的數(shù)據(jù)庫名 WITH NO_LOG
ALTER TABLE from DROP COLUMN id
ALTER TABLE from ADD id int IDENTITY(1,1)
上面第一個(gè)SQL語句用來刪掉丟失了自增屬性的id列,第二個(gè)SQL語句用來增加一個(gè)新的id列,并設(shè)置其為從1開始以1為步長自增。
因?yàn)槭褂脮r(shí)間長了,日志會(huì)膨脹得很夸張,所以可以執(zhí)行以下sql語句,非常安全。
DUMP TRANSACTION 你的數(shù)據(jù)庫名 WITH NO_LOG 清空日志
BACKUP LOG 你的數(shù)據(jù)庫名 WITH NO_LOG