Mahdi Tahsildari Asked: 2013-02-04 00:17:54 +0800 CST2013-02-04 00:17:54 +0800 CST 2013-02-04 00:17:54 +0800 CST SQL Server:重置所有数据库表 772 我有一个 SQL Server 2008 R2 数据库,其中包含大约 60 个表和大约 300 列。我想重置所有数据和自动增量,我发现了一个类似的问题,但答案是重新创建数据库。 有没有办法保留数据库并重置它? sql-server sql-server-2008-r2 3 个回答 Voted Best Answer Tony Hopkinson 2013-02-04T02:43:21+08:002013-02-04T02:43:21+08:00 重新创建是更好的选择,因为: 你最终得到一个脚本来创建数据库 这很简单。 您不必考虑架构的复杂性。 SQL Server 将非常乐意为您创建脚本。 另一种选择是编写一些查看模式的内容,识别具有外键约束的表,以便可以删除它们,删除它们,然后找到标识并重新植入它们,然后放回 FK 或者,如果您是受虐狂,您可以编写(尝试)一些东西来使用依赖顺序 选项 2 和 3 都是高维护性的。 Sandip Bantawa 2013-02-04T00:27:28+08:002013-02-04T00:27:28+08:00 可能这个链接会帮助你 EXEC sp_MSForEachTable 'TRUNCATE TABLE ?' Saleem Kalro 2019-07-27T14:31:44+08:002019-07-27T14:31:44+08:00 执行两个查询以重置自动递增的 id string Query1 = @"ALTER TABLE [Your Table] DROP COLUMN id"; string Query2 = @"ALTER TABLE [Your Table] ADD id int IDENTITY";
重新创建是更好的选择,因为:
另一种选择是编写一些查看模式的内容,识别具有外键约束的表,以便可以删除它们,删除它们,然后找到标识并重新植入它们,然后放回 FK
或者,如果您是受虐狂,您可以编写(尝试)一些东西来使用依赖顺序
选项 2 和 3 都是高维护性的。
可能这个链接会帮助你
执行两个查询以重置自动递增的 id