Search

Autogrowth in MB comes back as % after reboot by Erland Sommarskog

Closed
as Postponed Help for as Postponed

11
0
Sign in
to vote
Type: Bug
ID: 127177
Opened: 5/3/2006 1:02:46 PM
Access Restriction: Public
1
Workaround(s)
6
User(s) can reproduce this bug
The underlying cause for the behaviour in this bug, may be the same reason as for the bug in
http://lab.msdn.microsoft.com/productfeedback/viewfeedback.aspx?feedbackid=4369ed03-a43f-4fb5-9962-729b178a7fa0
but I am submitting it separately, to make sure that it does not fall of the rader.

If you restore the attached database, and run sp_helpdb, you can see that the data file has a growth of 10240 KB. If you now reboot SQL Server, and then run sp_helpdb again, the data file now has a growth of 1280%. The log file is OK.

If you change the growth a number in MB, further reboots do not change this value.

I don't know the full history of this database, but it origins from SQL 2000. I got the database from SQL Server MVP Martin Bell, who also took the time to trim down his database into a size suitable for a bug report.
Details (expand)
Product Language
English
Version
SQL Server 2005 Service Pack 1 (32)
Category
SQL Engine
Operating System
Windows XP SP2 Professional
Operating System Language
English
Steps to Reproduce
See above.
Actual Results
See above.
Expected Results
Filegrowth should not change.
Platform
 
File Attachments
0 attachments
Sign in to post a comment.
Posted by Ghostlab on 1/2/2009 at 2:15 PM
I have the same issue as Tore11.

Autogrowth on a SQL Server 2005 SP2 created database is initially set to 1024 MB. Without a service cycle, reboot or detach and attach, Filegrowth value 'dynamically' changes to a large percentage number. This has happened on two seperate machines running XP SP2 and SQL 2005 SP2. A fix other than checking it and changing via ALTER DATABASE or using only a percentage based Filegrowth value would be nice. I have seen in several postings this is related only to SQL 2000 upgraded databases...not true here. I have also seen this was supposed to be fixed in SP2...still having the issue.

Customer is understanding, but still costing time on both ends.
Posted by yongar on 4/18/2008 at 10:22 AM
I have the same issue with SQL 2005. It changed to autogrowth by 130172 percent.
Posted by Roy Higgs on 11/13/2007 at 8:26 AM
I have the same issue where it changes my auto growth to a percentage (32000%) out of the blue and I get an out of disk space issue. Hopefully it can be fixed in the next service pack.
Posted by avalenti on 2/19/2007 at 8:49 AM
Is there any update for this issue? From what I have seen of the fix list in SP 2, this isn't included. We need to know how to address this.
Thanks.
Posted by Tore1 on 1/18/2007 at 12:17 AM
I have also noticed this , but it can happen without me restoring the database. It just starts to happen after a few months of usage... I normally notice this when my DB server runs out of Disk space and then I find the reason that the percentage has increased to 1280%........This has happened on different servers/databases.

Posted by Microsoft on 5/25/2006 at 9:32 AM
This should be fixed in the next SQL Server service pack.
Posted by Microsoft on 5/5/2006 at 7:48 AM
Hi Erland, This appears to be due to a bug that dates back to SQL 7. Basically, whether the growth value is a percent or not is kept as a status bit. There are two copies of that status bit and one copy was not being maintained correctly when growth was changed from a % value to a fixed value and vice-versa. Basically, your backup says in one place that the growth is in percentage and in the other its says it is not. We have fixed this for the next release of SQL Server, but existing databases that have this disconnect might still run into issues when they upgrade. Here is a script you can run against SQL 2000 to see the problem where the status bit is not being maintained in both places.

create database foo
go
use foo
go
alter database foo modify file (name='foo', filegrowth= 100%)
go
select 'percent' = status & 0x100000
from sysfiles1
where fileid = 1
go
select 'percent' = status & 0x100000
from sysfiles
where fileid = 1
go
alter database foo modify file (name='foo', filegrowth= 1MB)
go
select 'percent' = status & 0x100000
from sysfiles1
where fileid = 1
go
select 'percent' = status & 0x100000
from sysfiles
where fileid = 1
go
use master
go
drop database foo
go

Thank you.
Sign in to post a workaround.
Posted by Kevin3NF on 12/13/2006 at 6:03 AM
alter database MyTestDB
Modify File
    (name=mytestdb, filegrowth = 500 mb)