SQL Server错误:主文件组已满
我有一个非常大的表在我的数据库,我开始收到此错误SQL Server错误:主文件组已满
Could not allocate a new page for database 'mydatabase' because of insufficient disk space in filegroup 'PRIMARY'. Create the necessary space by dropping objects in the filegroup, adding additional files to the filegroup, or setting autogrowth on for existing files in the filegroup.
你如何解决这个错误?我不明白那里的建议。
是不是真的有太多的补充 - 它几乎会告诉你,你需要在错误信息做什么。
您在SQL创建的每个对象(表,SP,指数等)是一个文件组创建的。默认的文件组是PRIMARY。通常创建跨越多个磁盘的多个文件组。例如,你可以有一个名为INDEXES的文件组来存储所有的索引。或者如果你有一个非常大的表,你可以将它移动到不同的文件组。
您可以分配的空间来一个文件组,2GB说。如果文件组中的数据达到2GB后未启用“自动增长”,则SQL Server无法再创建更多对象。这也将出现文件组所驻留的磁盘空间不足。
我真的不知道还有什么可以补充 - 正如我前面所说,该错误信息几乎告诉你需要什么。
使用DBCC SHRINKFILE语句收缩文件...
USE databasename ;
GO
-- Truncate the log by changing the database recovery model to SIMPLE.
ALTER DATABASE databasename
SET RECOVERY SIMPLE;
GO
-- Shrink the truncated log file to 1 MB.
DBCC SHRINKFILE (databasename_Log, 1);
GO
-- Reset the database recovery model.
ALTER DATABASE databasename
SET RECOVERY FULL;
GO
如果您使用的客户端工具(MSDE),然后在文件组中的数据达到2GB,SQL Server不能创建任何对象。
谢谢哈伦德拉。这是我想知道的,但没有奏效。我们必须订购额外的MB。不管怎么说,还是要谢谢你! – Aximili 2010-06-08 00:13:54