【发布时间】:2019-02-19 19:28:05
【问题描述】:
在 SQL Server 2016 中,我们正在获取堆栈转储以查找错误
内存不足或配置的会话数超过服务器允许的最大值
这是从 SQL Server 2014 新升级到 SQL Server 2016 (SP2)。它位于 VM 上,具有 48 GB 内存。当这个错误发生时,最大内存设置为 24GB,因为我说这个错误,我将 MAX 服务器内存增加到 36GB。
但这只是 SSIS 数据库服务器,这就是之前分配 24 GB 的原因,我非常怀疑它是因为内存压力
版本:
Microsoft SQL Server 2016 (SP2) (KB4052908) - 13.0.5026.0 (X64)
错误:
错误:17300,严重性:16,状态:1。(参数:)。错误以简洁模式打印,因为在格式化过程中出现错误。跟踪、ETW、通知等被跳过。
IO Completion Listener (0x8c4) Worker 0x0000006B1F680160 在节点 0 上似乎没有产生。大约使用的 CPU:内核 0 毫秒,用户 0 毫秒,间隔:15038。
错误:17312,严重性:16,状态:1。
由于启动任务时出错(设置状态 3),SQL Server 正在终止系统或后台任务 SSB 任务。错误:28709,严重性:16,状态:19。
调度程序无法创建新线程。错误:17300,严重性:16,状态:1。
SQL Server 无法运行新的系统任务,原因可能是内存不足或配置的会话数超过了服务器允许的最大值。验证服务器是否有足够的内存。使用带有选项“用户连接”的 sp_configure 检查允许的最大用户连接数。使用 sys.dm_exec_sessions 检查当前会话数,包括用户进程。错误:17312,严重性:16,状态:1。
由于启动任务时出错(设置状态 1),SQL Server 正在终止系统或后台任务 XStoreLeaseRenewalTask2。错误:17803,严重性:20,状态:13。
建立连接时内存分配失败。减少不必要的内存负载,或增加系统内存。连接已关闭。 [客户:]错误:17312,严重性:16,状态:1。
由于启动任务时出错(设置状态 1),SQL Server 正在终止系统或后台任务 XStoreLeaseRenewalTask。错误:9602,严重性:16,状态:1。
启动系统任务失败,错误代码 28709,状态 19。错误:28709,严重性:16,状态:19。
调度程序无法创建新线程。错误:17803,严重性:20,状态:13。
建立连接时内存分配失败。减少不必要的内存负载,或增加系统内存。连接已关闭。 [客户:]错误:17803,严重性:20,状态:13。
建立连接时内存分配失败。减少不必要的内存负载,或增加系统内存。连接已关闭。 [客户:]错误:17300,严重性:16,状态:1。
SQL Server 无法运行新的系统任务,原因可能是内存不足或配置的会话数超过了服务器允许的最大值。验证服务器是否有足够的内存。使用带有选项“用户连接”的 sp_configure 检查允许的最大用户连接数。使用 sys.dm_exec_sessions 检查当前会话数,包括用户进程。错误:28709,严重性:16,状态:19。
调度程序无法创建新线程。错误:17312,严重性:16,状态:1。
由于启动任务时出错(设置状态 1),SQL Server 正在终止系统或后台任务 SSB 任务。错误:28709,严重性:16,状态:19。
调度程序无法创建新线程。错误:9602,严重性:16,状态:1。
启动系统任务失败,错误代码 28709,状态 19。
还有内存计数器。我是在升级到 2016 后才遇到这个问题。请分享您的想法,我该如何解决这个问题。
编辑:
发现在索引优化期间发生了问题。我使用 Ola 脚本,来源:https://ola.hallengren.com 来优化索引。此服务器只有 SSIS DB。任何帮助都深表感谢。
EXEC [Indexoptimize]
@Databases = 'ALL_DATABASES',
@FragmentationLow = NULL,
@FragmentationMedium = 'INDEX_REORGANIZE,INDEX_REBUILD_OFFLINE',
@FragmentationHigh = 'INDEX_REBUILD_OFFLINE',
@FragmentationLevel1 = 5,
@FragmentationLevel2 = 30,
@PageCountLevel = 1000,
@SortInTempdb = 'Y',
@FillFactor = NULL,
@PadIndex = NULL,
@LOBCompaction = 'Y',
@UpdateStatistics = 'ALL',
@OnlyModifiedStatistics = 'N',
@StatisticsSample = 100,
@StatisticsResample = 'N',
@PartitionLevel = 'N',
@MSShippedObjects = 'N',
@Indexes = NULL,
@TimeLimit = NULL,
@Delay = NULL,
@LockTimeout = NULL,
@LogToTable = 'Y',
@Execute = 'Y'
【问题讨论】:
-
您是否查看了
sp_configure with option 'user connections'以检查允许的最大用户连接数。? -
还有,你升级的时候申请了CU5吗?
-
用户连接 - 最小值:0 最大值:32767,应用 SP2 - CU2 ((SP2) (KB4052908) - 13.0.5026.0 (X64))
-
发现问题在索引操作期间发生。请帮我解决问题
标签: sql-server multithreading memory indexing database-administration