sql-server - 如何删除SQL Server数据库中的所有表?

标签 sql-server sql-server-2008 ssms sp-msforeachtable

我正在尝试编写一个脚本来完全清空 SQL Server 数据库。这是我到目前为止所拥有的:

USE [dbname]
GO
EXEC sp_msforeachtable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
EXEC sp_msforeachtable 'DELETE ?'

当我在 Management Studio 中运行它时,我得到:

Command(s) completed successfully.

但是当我刷新表格列表时,它们仍然在那里。我做错了什么?

最佳答案

您还可以仅使用 MSSMS UI 工具(不使用 SQL 脚本)从数据库中删除所有表。有时这种方式会更舒服(特别是偶尔执行时)

我按照以下步骤一步步执行此操作:

  1. 在数据库树(对象资源管理器)上选择“表”
  2. 按 F7 打开对象资源管理器详细信息 View
  3. 在此 View 中选择必须删除的表(在本例中为所有表)
  4. 一直按“Delete”键,直到删除所有表(由于关键约束/依赖性,您可以重复多次)

关于sql-server - 如何删除SQL Server数据库中的所有表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8439650/

相关文章:

sql-server - SQL Server 和 IN 子句中大范围值的效率

mysql - Entity Framework 数据库不可知开发

sql-server - SQL Server 2014多次执行存储过程并插入到包含参数的表中

sql - 如何使用 SQL (SQL Server) 将数字列表转换为(临时)表

SQL Server 2012如何查看数据?

sql - Select 语句以查找某些字段上的重复项

sql-server - Microsoft SQL 服务器,错误 : 18456 by login with "sa" through SQL Server Authentication

sql - EXEC dbo.sp_executesql @语句

ssms - Sql Server Management Studio Express(2005 或 2008) - 保存密码不起作用

sql - 如何下载 Microsoft SQL Server Management Studio Express 2008