我有一个非常大的数据库,大部分空间是索引大小。我将几个索引移动到一个不同的文件组(只是为了试验),但是无论我做什么,我都不能减少MDF的大小。
我尝试过收缩数据库,收缩文件,重建聚集索引。我可以做什么来回收MDF中的空间?我已经将价值25 of的索引移到了不同的文件组。有没有可能将我的mdf减少同样的25 or(或接近它)?
SQL Server 2008企业版
Group Total Space Avail Space
PRIMARY 388485.000000 27126.3125000
Index 24778.375000 26.6250000
我尝试过的收缩选
我有一个1 TB的数据库文件要清理。我现在需要缩小这个文件。我目前正在运行以下语句:
USE [DW_Zone]--databasename
GO
DBCC SHRINKDATABASE(N'DW_Zone')
GO
我正在试着缩小数据库,但是它已经运行了3天多了,出什么问题了?
如果我停止这个进程,那么对我的数据库会有什么影响?还有其他方法来缩小这个数据库吗?
请帮帮我。
我使用localhost中的MySQL作为“查询工具”来执行R中的统计数据,也就是说,每次运行R脚本时,我都会创建一个新数据库( A ),创建一个新表( B ),将数据导入到B中,提交一个查询以获取我需要的信息,然后删除B和A。
它对我来说工作得很好,但是我意识到ibdata1文件的大小正在迅速增加,我没有在MySQL中存储任何内容,但是ibdata文件已经超过了100MB。
我在设置中或多或少使用了默认的MySQL设置,有没有一种方法可以让我在一段固定时间后自动收缩/清除ibdata1文件?
我为这个冗长的问题道歉。我正在努力学习很多动态,因为我已经成为事实上的SQL管理。我的任务是移动一个生产数据库到一个新的服务器。我的目标是进行完全备份,并在新服务器上恢复数据库。我的问题集中在缩小数据库的概念上。
我有一个大约3兆字节的生产数据库。有5张桌子不再需要了。这5个表加在一起几乎占700 for。我的想法是在完全备份之前删除这5个表,以节省相当大的空间(700 of )。我学得很快,这并不像听起来那么容易。我使用drop命令删除了5个表,但是后来学会了删除表实际上不会释放任何空间。为了释放空间,我必须缩小数据库。这就是我遇到矛盾意见的地方。我正在读你不想缩小数据库,除非你必须这样做。
长话短说:我正在尝试使用lvcreate创建一个卷的快照,使用以下命令:
lvcreate -l 100%FREE -s -n SNAPSHOT /dev/volume-group/data
我收到一个错误,说“无法创建没有区段的新逻辑卷”。经过一番挖掘,我发现根据vgdisplay,这个卷组没有可用的空间,尽管df -h显示了大量可用的空间。
vgdisplay输出:
--- Volume group ---
VG Name volume-group
System ID
Format lvm2
Metadat
我需要定期备份一组租户数据库(都是相同的模式),并在我们的UAT环境中恢复它们,然后清除大部分客户端数据,只剩下几个月的时间。我每次都要清理大约7年的数据。这是每月发生的事。每个数据库大约是100 is。Server 2008 R2。
我目前的程序是:
备份BAK文件的唯一副本
备份当前UAT数据库的全文副本。
通过UAT数据库恢复PROD文件并进行替换
然后,我运行一个脚本,它的结构非常类似于下面的内容,它从滚动视图中批量删除数据:
剧本:
USE [UAT.TenantName]
-- This is setup to keep only the orders
-- created wi