database - 清理 SQL 数据库中的所有记录

标签 database tsql

我想知道在投入生产之前,您会使用什么来清除所有测试数据的数据库(保持结构完好无损)?

我使用类似的东西:

-- disable referential integrity
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT ALL'
GO

EXEC sp_MSForEachTable '
 IF OBJECTPROPERTY(object_id(''?''), ''TableHasForeignRef'') = 1
  DELETE FROM ?'
DBCC CHECKIDENT (''?'', RESEED, 0)
GO

-- enable referential integrity again
EXEC sp_MSForEachTable 'ALTER TABLE ? CHECK CONSTRAINT ALL'
GO

我想我是在网上的某个地方找到的,但是,它似乎并不总是将所有内容重新设置为零。

最佳答案

常见的方法是使用一个设置脚本来删除所有表,然后重新创建它们。与仅删除持久化任何更改的数据相比,这也有好处。

关于database - 清理 SQL 数据库中的所有记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/465653/

相关文章:

sql-server - T-SQL 匹配特殊字符。 Pre 应该匹配 Pré

sql-server - 首先按特定 id 排序,然后按其余顺序排序

SQL创建空数据库

database - 为 SEO 友好的 URL 优化数据库

mysql - 配方数据库扩展

sql - 由于 datediff 函数之间的日期问题

java - 结果集的数据结构

c# - SQLConnection 中的无效参数

tsql - 将 unix 纪元时间戳转换为 TSQL 日期时间

MySQL查询优化,主键索引不使用?