大きなExcelから新しいテーブルにデータをインポートするときに、1つのレコードが失敗した場合、何もインポートされません。Atomicityのルールを満たしているので大丈夫だと思います。ただし、ソースデータエラーを修正して再度インポートすると、ID列が1から始まるのではなく、大きな値から始まります。
例えば
create table #test (id int identity(1,1), name varchar(4) default '')
insert into #test (name) values('1 insert will failed');
select ident_current('#test') as ident_current
insert into #test (name) values('2 insert will failed');
select ident_current('#test') as ident_current
insert into #test (name) values('3 OK');
select ident_current('#test') as ident_current
select * from #test
drop table #test
結果
id name
----------- ----
3 3 OK
ウィキペディアはACIDを次のように説明しています
アトミシティ
Atomicityでは、各トランザクションが「オールオアナッシング」である必要があります。トランザクションの一部が失敗すると、トランザクション全体が失敗し、データベースの状態は変更されません。アトミックシステムは、停電、エラー、クラッシュなど、あらゆる状況で原子性を保証する必要があります。
つまり、SQL Serverは、挿入が失敗した場合にデータベースの状態(ID値)を変更しないように見えます。それで、これはACIDルールに違反しますか?
ところで、PostgreSQLは、挿入が失敗したときにidentity(serial)値を大きくしません。(更新:たまにのみ、コメントを参照してください。これに依存しないでください。)
test=# create table AutoIncrementTest (id serial not null, name varchar(4));
NOTICE: CREATE TABLE will create implicit sequence "autoincrementtest_id_seq" for serial column "autoincrementtest.id"
CREATE TABLE
test=# insert into autoincrementtest(name) values('12345');
ERROR: value too long for type character varying(4)
test=# insert into autoincrementtest(name) values('12345');
ERROR: value too long for type character varying(4)
test=# insert into autoincrementtest(name) values('1234');
INSERT 0 1
test=# select * from autoincrementtest;
id | name
----+------
1 | 1234