我一直在通过 sql server 2008 r2 中的数据收集器监视文件增长两周。数据库以大约 35(MB)/天的速度持续增长。数据库尚未达到 2 GB 的初始大小。
DB 文件自动增长设置为 5MB,我想尝试不同的方法,所以我正在寻找建议和/或评论。
每周周日晚上 1:30 有一项调整任务运行。该任务将:
我想在每周调整计划中再添加两个步骤:
通过将增长负担置于离线时间,我希望通过减少重负载期间自动增长事件的数量来提高性能。
我有两个关于自动增长文件的问题。
ALTER DATABASE|MODIFY FILE
来增长文件,那么我如何确定SpaceUsedInFile >= (TotalFileSpace-@AllowanceThreshold)
?sql-server-2008 sql-server best-practices sql-server-2008-r2 transaction-log
我不喜欢触发器和动态 sql,但是,我正在使用的东西需要两者。
CREATE TRIGGER [dbo].[GenerateDynamicFormItemViews] ON [dbo].[tblFormItems] AFTER INSERT, UPDATE
AS
BEGIN
SET NOCOUNT ON;
DECLARE @DatabaseName NVARCHAR(100)
DECLARE @FormItemID INT
DECLARE db_cursor CURSOR FOR
SELECT SourceID,FormItemID from Inserted
OPEN db_cursor
FETCH NEXT FROM db_cursor INTO @DatabaseName, @FormItemID
WHILE @@FETCH_STATUS = 0
BEGIN
BEGIN TRY
EXEC spAddEditFormItemView @FormItemID, @DatabaseName WITH RESULT SETS NONE
END TRY
BEGIN CATCH
INSERT INTO AdminErrorLog(SourceID, ErrorNumber, ErrorState, ErrorSeverity, ErrorProcedure, ErrorLine, ErrorMessage, ErrorDateTime)
SELECT @DatabaseName, ERROR_NUMBER(), ERROR_STATE(), ERROR_SEVERITY(), ERROR_PROCEDURE(), ERROR_LINE(), ERROR_MESSAGE(), GETDATE()
END CATCH
FETCH NEXT …
Run Code Online (Sandbox Code Playgroud)