我想清除我的 SqlServer 实例上的数据库架构。我应该使用什么 tsql?
我所说的架构是指表、约束等。我希望结果与创建新数据库时的结果类似,但是我不想实际删除和创建数据库。
为什么:
对于那些好奇的人,由于为单元测试隔离数据库的方式,我需要清空模式而不删除。在运行我的测试之前,保存了数据库的快照。每次测试运行后,都会恢复此快照。如果我将数据库操作保持在数据库范围内,我只能确保跨单元测试的状态一致。删除/创建数据库不在 db 的范围内(在 master 的范围内)。
在这种情况下,我需要断言当架构为空时会发生预期的事情。通过 sql 清空架构使测试方法保持一致:基本上对数据库做任何你想做的事情,练习它,恢复它。
Raj More 的回答让我开始了。我希望有人可以缩短流程。