数据库空间已满导致数据无法入库;经过数据库清理,但是占用的空间就是不能释放(收缩数据库时提示进程死锁,百度了很多方法也没有成功)
服务器情况简介如下:IBM3850 、内存8GB、操作系统为Win 2003 Server 、数据库SQL Server 2000 + SP4 、整个磁盘阵列已经12块硬盘已经全部装满,短期内增加空间不现实。
求大牛指点迷津!
服务器情况简介如下:IBM3850 、内存8GB、操作系统为Win 2003 Server 、数据库SQL Server 2000 + SP4 、整个磁盘阵列已经12块硬盘已经全部装满,短期内增加空间不现实。
求大牛指点迷津!
然后再去收缩
如果效果不明显 可以写一个循环执行,因为有些资源正在被使用
declare @i int=1
while @i<500
begin
DBCC SHRINKFILE(1,100)
DBCC SHRINKFILE(2,0)
set @i=@i+1
waitfor delay '00:00:10'
end
还有就是用DBCC CHECKDB()检查数据库是否存在问题
使用dbcc checkdb 的repair_rebuild参数:不丢失数据
不行的话使用repair_allow_data_loss :有可能丢失数据