Sql server 2005 SQL删除了存储在日志文件中的数据或从数据库中永久删除的数据
从SQL数据库中删除数据后,会删除存储在日志文件中的数据,还是会将其从数据库中永久删除 从数据库日志文件中删除数据时会增加大小,为什么 缩小数据库后,它将减小文件大小 编辑1::Sql server 2005 SQL删除了存储在日志文件中的数据或从数据库中永久删除的数据,sql-server-2005,vba,Sql Server 2005,Vba,从SQL数据库中删除数据后,会删除存储在日志文件中的数据,还是会将其从数据库中永久删除 从数据库日志文件中删除数据时会增加大小,为什么 缩小数据库后,它将减小文件大小 编辑1:: 在第五行中,您描述了为什么日志文件会增加,但在完成delete命令后,为什么没有释放磁盘空间,记录会保持日志文件中的状态。是否可以在不存储到日志文件的情况下删除数据?因为我从文件中删除了大约200万个数据,它将增加磁盘的16GB空间因此,正如您所描述的日志行为—收缩后会减小大小—您使用数据库的简单恢复模型 并且日志文件
在第五行中,您描述了为什么日志文件会增加,但在完成delete命令后,为什么没有释放磁盘空间,记录会保持日志文件中的状态。是否可以在不存储到日志文件的情况下删除数据?因为我从文件中删除了大约200万个数据,它将增加磁盘的16GB空间因此,正如您所描述的日志行为—收缩后会减小大小—您使用数据库的简单恢复模型 并且日志文件中没有任何已删除数据的副本 如果你问-如何恢复数据-没有任何常规方法 如果您要求数据安全,并且担心数据库中某个地方的已删除数据-是的,有-请参阅。显然,第三方工具可以从DB文件类型(数据和日志)恢复一些数据 db日志的大小会增加,因为它保存正在删除的所有数据,直到
DELETE
命令完成,因为如果失败,sql server应该恢复所有部分删除的数据,因为原子性保证
其他答案:
- 不,如果不将数据存储到日志文件中,则无法删除数据
- 由于日志文件已在中长大,所以不会自动收缩。要减小数据库中的文件大小,您应该执行一些,这在生产环境中是强烈不建议执行的
- 尝试在较小的块中删除,请参见示例
DELETE FROM YourTable
分小块删除:
WHILE 1 = 1
BEGIN
DELETE TOP (10000) FROM YourTable
IF @@ROWCOUNT = 0 BREAK
END
从数据库表中删除数据时,会增加tempdb和templog的大小,为什么?