最近我更改了 SQL Server 2008 R2 服务器上某些数据库的自动增长设置。这些涉及数据库镜像配置,主体在SERVER1上,镜像在SERVER2上。
这周我对三个数据库进行了故障转移——现在SERVER1是镜像,SERVER2是这些数据库的主体。自动增长设置似乎没有正确地转移到SERVER2,因为数据库现在显示它们按百分比增长(两个设置为 32768%,另一个设置为 131072%)。
这与以前的设置不同(我相信这是默认值 10%),也与我在SERVER1上设置的 256MB 不同。
更令人困惑的是,这只发生在主文件上——辅助文件和日志文件保留了我在SERVER1上设置的设置。
我怀疑这是一个错误——我在更改自动增长设置后修补了 SQL。我的问题是 - 以前有人见过这种情况吗?有没有一种方法可以确保两台服务器上的所有设置都是正确的,而不会使所有数据库都失败?
更新:使用我将调用的第 4 个数据库DB1 ,我将SERVER1上的自动增长设置为 512MB(在数据库失败后,遇到同样的问题,然后失败)。之后我将其故障转移到SERVER2时,它显示增长了 65536%。要点是,中的is_autogrow_percent
值sys.master_files
没有移动到SERVER2,但growth
值是。
UPDATE2:在SERVER1上使用DB1,我将自动增长更改为 10% 并将其失败到SERVER2。10% 的价值仍然存在。然后我重复了这个,这次将自动增长设置回 256MB。同样,价值改变了,但没有改变。growth
is_autogrow_percent
我正在使用基于策略的管理来解决这个问题。我在
Data File
声明所有文件必须具有的方面创建了一个策略@GrowthType = KB
。我还提交了一个连接项目: https ://connect.microsoft.com/SQLServer/feedback/details/796354/autogrow-is-percent-flag-set-on-principal-does-not-persist-to-mirror
更新:这已在 SQL Server 2008 R2 SP2 CU8 和 SP1 CU13 中修复。