我想设置服务器端重播跟踪并编写设置跟踪的脚本。但是,我希望跟踪在 12 小时后或创建 10 个 1GB 文件后结束。通常对于最大文件数,系统会删除最旧的文件,然后创建新文件。在我的情况下,这将以文件 2-11 而不是所需的 1-10 结束。我有空间限制,需要从头到尾重播所有步骤。我可以将文件大小限制设置为 10GB。我认为文件大小有 1GB 的限制,但这可能只是 GUI 中的一个限制。
关于如何在脚本达到 10 个文件后停止脚本的任何想法?
declare @rc int
declare @TraceID int
declare @maxfilesize bigint
declare @DateTime datetime
declare @maxfilecount int
set @DateTime = DATEADD(HOUR,12,GETDATE())
set @maxfilesize = 1024
set @maxfilecount = 10
exec @rc = sp_trace_create @TraceID output, 2, N'D:\Output\Trace', @maxfilesize, @Datetime, @maxfilecount
Run Code Online (Sandbox Code Playgroud) 我们最近将生产数据库的兼容性级别 (CL) 从 100 升级到 120。
几天之内,用户开始抱怨等待时间增加和普遍缓慢。决定将 CL 恢复到 100。虽然情况确实有所好转,但查询时间并没有回到历史平均水平。
然后我们清除了计划缓存以删除任何仍然存在的 120 个查询计划,并在配置工具中重新启动 SQL Server 服务。毕竟,我们的平均时间仍然明显更高,尽管比我们最初切换到 CL 120 时要好得多。
还有什么我可以做的,或者我错过了什么步骤,以恢复到旧的基数估算器?
我认为这没有任何影响,但我们所做的相同更改的一部分是在 CL 升级时启用 CLR,并在尝试恢复时再次禁用它。
我们使用的是 SQL Server 2014 Service Pack 1,还没有 CU。我们的更新时间表有限。CU 6 定于下个月进行。我们每晚更新统计数据并检查要重建的索引。