sqlsever 好像是有rownum 的
你试试
delete from table_name where rownum >1000
或者用 row_number()over 函数
select * from (
select row_number() over(partition by col1 order by col1) as row ,* from table1)
where row>1000
还有要考虑数据量的问题 如果数据量很大的话 可以查出前一千条来放到临时表里,然后把表清空了,再把一千条数据导回来就可以了