我得到了一张表,其中获得了3gig的分配空间但没有行 如何删除这个分配的空间?
答案 0 :(得分:3)
TRUNCATE TABLE存在一些限制,如果不能执行截断,则可以重建聚簇索引以释放分配的空间。
您不能在以下表格上使用TRUNCATE TABLE:
如果表包含标识列,则该列的计数器将重置为为该列定义的种子值。如果未定义种子,则使用默认值1。要保留身份计数器,请改用DELETE。如果是这种情况,则需要重新设置表以继续从其所在位置开始的身份增量。
如果表没有聚簇索引,您可以在DELETE语句中使用TABLOCK提示释放分配的空间。
DELETE FROM table WITH(TABLOCK)
如果表使用聚簇索引,则可以重建索引以释放空间。
答案 1 :(得分:1)
你可以这样做:
truncate table [table_name]
然后在Sql Server Express Manager中,右键单击数据库并转到tasks-> shrink->数据库/文件(同时执行这两项操作)。应该清理你。
答案 2 :(得分:1)
这些应该这样做,它们会缩小你的数据库文件。如果表为空,则将使用以下命令释放表的保留空间
DBCC SHRINKDATABASE ('DBName')
DBCC SHRINKFILE ('LogicalFileName')