给定 SQL Express 数据库基本文件 (.MDF),如何擦除/清除/重置架构和/或数据?

发布于 2024-10-16 05:14:07 字数 204 浏览 7 评论 0原文

我必须使用哪些选项来清除 MDF 文件中的架构和数据?什么选项可以删除所有数据?

要重置数据库架构,似乎我需要在数据库备份为空时复制文件。我想知道是否有更简单或更有效的方法。

要清除所有数据,看来我需要编写一个脚本。该脚本将禁用约束,然后在重新启用约束之前删除每个表中的所有行。这很简单,但确实需要我发现/跟踪数据库中存在哪些表。也许它还不够或者有更简单的方法?

Whats options do I have to clear the schema and data from a MDF file? What options to delete all the data?

To reset a databases schema, it seems I need to copy a file from a backup of the database when it was empty. I was wondering if there was a simpler or more efficient way.

To clear all data, it seems I'd need to write a script. The script would disable constraints, then drop all rows from each table before turning back on constraints. This is straightforward but does require I discover/track what tables exist in the database. Maybe its not sufficient or there is an easier approach?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

抹茶夏天i‖ 2024-10-23 05:14:07

我不确定“清除架构”的意义是什么 - 当然一个新数据库已经有一个“清除”架构。但是,您可以通过以下 T-SQL 在代码中创建一个新数据库:

USE Master
CREATE DATABASE NewDb (NAME=NewDbFile, FILENAME= '<filepath>')

如果您需要一个文件(MDF),然后您也可以使用 sp_detach_db 分离数据库然后,您可以根据需要从上面指定的位置移动它:

EXEC sp_detach_db NewDb

要清除数据,您可以使用带有截断命令的 sp_msforeachtable - 这是一个非日志操作,并且不检查约束,也不检查外键 - 但是,它 无法回滚!

EXEC sp_msforeachtable 'TRUNCATE TABLE ?'

I'm not sure what the point is of 'clearing the schema' - surely a new database already has a 'clear' schema.. BUT, you can create a new database in code via the following T-SQL:

USE Master
CREATE DATABASE NewDb (NAME=NewDbFile, FILENAME= '<filepath>')

If you need a file (an MDF) you can then detach the database too with sp_detach_db and you can then move it as required from the location specified above:

EXEC sp_detach_db NewDb

To clear the data you can use sp_msforeachtable with a truncation command - it is a non-logged operation, and does not check constraints, nor foreign keys - however, it cannot be rolled back!

EXEC sp_msforeachtable 'TRUNCATE TABLE ?'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文