sqlserver问题记录

今天在利用sql查询数据时出现如下错误

在执行批处理时出现错误。错误消息为: 引发类型为“System.OutOfMemoryException”的异常。

症状

使用 SSMS 运行返回大量数据的 SQL 查询时,会收到类似于以下内容的错误消息:

执行批处理时出错。 错误消息为:引发了“System.OutOfMemoryException”类型的异常

原因

出现此问题的原因是 SSMS 的内存不足,无法为大型结果分配内存。

 备注

SSMS 是一个 32 位进程。 因此,内存限制为 2 GB。 SSMS 对结果窗口中每个数据库字段可以显示的文本量施加人为限制。 此限制在“网格”模式下为 64 KB,在文本模式下为 8 KB。 如果结果集太大,则显示查询结果所需的内存可能会超过 SSMS 进程的 2 GB 限制。 因此,大型结果集可能会导致 症状 部分中提到的错误。

解决方法

若要解决此问题,请尝试以下方法之一。

方法 1:将结果输出为文本

配置查询窗口以文本的形式输出查询结果。 文本输出使用的内存比网格少,并且可能足以显示查询结果。 若要进行此更改,请执行以下步骤:

  1. 右键单击查询窗口。
  2. 单击“结果” 。
  3. 单击“ 结果到文本”。

方法 2:将结果输出到文件

配置查询窗口以将查询结果输出到文件。 文件输出使用最少量的内存。 这将保留更多内存来存储结果集。 若要进行此更改,请执行以下步骤:

  1. 右键单击查询窗口。
  2. 单击“结果” 。
  3. 单击“ 结果到文件”。
  4. 运行查询,然后选择保存结果文件的位置。

方法 3:使用 sqlcmd

使用 sqlcmd 实用工具 (而不是 SSMS)运行 SQL 查询。 此方法允许在没有 SSMS UI 所需的资源的情况下运行查询。 此外,可以使用 64 位版本的 Sqlcmd.exe 来避免影响 32 位 SSMS 进程的内存限制。

网上有的说是因为sqlserver打开的窗口太多了,关掉一部分就好了;我试了一下貌似也可以。

网上查询了一下发现SQL server的内存使用机制是这样的:

SQL Server 数据库的内存使用原则是有多少内存就会占用多少内存,不会自动释放内存。原因是它的存储引擎本身是一个Windows下的进程,所以在使用内存时和其它Windows进程是一样的,都要向Windows申请内存,申请到内存之后,SQL Server的内存使用可以粗略地分为两个部分:一是缓冲池内存,被数据页和空闲页占用;二是非缓冲内存,被线程、DLL、链接服务器等占用。其中缓冲池内存占大头。

这样会有什么问题呢?打个比方,如在执行一条结果集很大的 sql 时,数据查询取出后,会一直占用内存,直到机器内存被占满(并不会撑爆,因为可以通过图去限制最大内存,一般占满后仍然比服务器机器内存稍小),在重启数据库服务前,SQL Server不会主动释放该内存,也没有任何办法可人为释放,一直占用到 max server memory 的设定值,因此查看 SQL Server的内存基本使用率相对较高(80%以上)。

那怎么解决呢?最直接的办法是:人为修改最大可占用物理内存进行限制。

这样看起来网上的这种说法也是有一句可循的。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/807702.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux基础指令补全,权限问题分析—3

一、命令补全: 1.bc指令: 功能:命令行计算器,使用quit退出语法:bc 算式 2.uname指令: 语法:uname 选项功能:uname原来获取电脑或操作系统的相关信息选项: ①-a选项&am…

【IC前端虚拟项目】验证阶段开篇与知识预储备

【IC前端虚拟项目】数据搬运指令处理模块前端实现虚拟项目说明-CSDN博客 从这篇开始进入验证阶段,因为很多转方向的小伙伴是转入芯片验证工程师方向的,所以有必要先做一个知识预储备的说明,或者作为验证入门的一个小指导吧。 在最开始&#…

如何做好2024年中央企业内部控制体系建设与监督工作

面对日益复杂的经济环境和全球一体化的挑战,中央企业作为国家经济的中流砥柱,必须不断提升内部控制体系的建设与执行水平。随着2024年的脚步逼近,中央企业需围绕国家宏观政策,积极采纳智能化技术,强化内控体系&#xf…

Redis 的数据结构和内部编码

Redis的 5 种数据类型 Redis 底层在实现上述数据结构的时候,会在源码层面,针对上述实现进行 特定的优化 ,来达到节省时间/节省空间效果 特定的优化:内部的具体实现的数据结构,在特定场景下,不是其对应的标准…

运动控制卡/运动控制器的ZCAN总线ZMIO310扩展模块使用

本节课程主要分为八个部分给大家讲解ZCAN扩展模块的使用,分别是: 一、ZMIO310系列扩展模块介绍 二、ZMIO310-CAN通讯模块的接线 三、ZMIO310-CAN通讯模块介绍及拨码开关设置 四、ZMIO310子模块接线参考 五、ZMIO310-CAN扩展模块功能验证 六、ZMIO3…

新手怎么正确地做抖音小店?入门级教程来了,建议认真阅读!

大家好,我是电商糖果 新手做抖音小店,不懂小店的运营,总是容易走弯路,踩坑。 糖果这里就给大家带来,新手正确的入门级运营教程。 近期刚开店的朋友,建议认真阅读! 第一步:基础后台…

探索艺术的新领域——3D线上艺术馆如何改变艺术作品的传播方式

在数字化时代的浪潮下,3D线上艺术馆成为艺术家们展示和传播自己作品的新平台。不仅突破了地域和物理空间的限制,还提供了全新的互动体验。 一、无界限的展示空间:艺术家的新展示平台 3D线上艺术馆通过数字化技术,为艺术家提供了一…

Java List基础篇

目录 前言一、常用List1.1 List1.1.1 特点1.1.2 常用API 1.2 ArrayList1.2.1 特点1.2.2 使用 1.3 LinkedList1.3.1 特点1.3.2 使用 1.4 CopyOnWriteArrayList1.4.1 特点1.4.2 使用 1.5 Arrays.asList()1.5.1 特点1.5.2 使用 二、对比总结 前言 一、常用List 1.1 List List是…

JUC常用辅助类

一、CountDownLatch 1.原理 它内部维护了一个计数器,该计数器初始化时设定一个数值,表示需要等待的线程数量。每个线程执行完特定任务后会调用CountDownLatch的countDown()方法,该方法会将计数器减一。同时,另外一个或多个线程可…

Acrel-1000DP光伏监控系统 的应用 安科瑞 许敏

摘 要:分布式光伏发电特指在用户场地附近建设,运行方式多为自发自用,余电上网,部分项目采用全额上网模式。分布式光伏全额上网的优点是可以充分利用分布式光伏发电系统的发电量,提高分布式光伏发电系统的利用率。发展分…

题目 2348: 信息学奥赛一本通T1436-数列分段II【二分答案】

信息学奥赛一本通T1436-数列分段II - C语言网 (dotcpp.com) #include<iostream> #include<algorithm> #include<cstring> using namespace std; #define int long long const int N1e5100; const int inf1e9; int n,m; int a[N]; bool check(int mid) {int s…

ELK、ELKF企业级日志分析系统介绍

前言 随着企业级应用系统日益复杂&#xff0c;随之产生的海量日志数据。传统的日志管理和分析手段&#xff0c;难以做到高效检索、实时监控以及深度挖掘潜在价值。在此背景下&#xff0c;ELK日志分析系统应运而生。"Elastic" 是指 Elastic 公司所提供的一系列与搜索…

总体标准差、样本标准差、标准误(标准误差)

下面是样例&#xff1a; 参考文章如何做好SCI论文中的标准误差图 - 知乎 (zhihu.com)

第十四篇【传奇开心果系列】Python自动化办公库技术点案例示例:深度解读Python自动化处理图像

传奇开心果博文系列 系列博文目录Python自动化办公库技术点案例示例系列 博文目录前言一、Python自动化图像处理的优点介绍二、Python常用图像处理库和功能介绍三、强大且易于上手示例代码四、丰富的算法资源示例代码五、批量处理图片示例代码六、支持多种图像格式示例代码七、…

【LeetCode】单调栈类题目详解

所有题目均来自于LeetCode&#xff0c;刷题代码使用的Python3版本 单调栈 通常针对一维数组的问题&#xff0c;如果需要寻找一个元素右边或者左边第一个比自己大或者小的元素的位置&#xff0c;就可以使用单调栈&#xff0c;时间复杂度为O(n) 单调栈的本质是空间换时间&#…

Linux内核中常用的C语言技巧

Linux内核采用的是GCC编译器&#xff0c;GCC编译器除了支持ANSI C&#xff0c;还支持GNU C。在Linux内核中&#xff0c;许多地方都使用了GNU C语言的扩展特性&#xff0c;如typeof、__attribute__、__aligned、__builtin_等&#xff0c;这些都是GNU C语言的特性。 typeof 下面…

如何使用Jellyfin+cpolar低成本部署私人影音平台并实现无公网IP远程访问

文章目录 1. 前言2. Jellyfin服务网站搭建2.1. Jellyfin下载和安装2.2. Jellyfin网页测试 3.本地网页发布3.1 cpolar的安装和注册3.2 Cpolar云端设置3.3 Cpolar本地设置 4.公网访问测试5. 结语 1. 前言 随着移动智能设备的普及&#xff0c;各种各样的使用需求也被开发出来&…

AI大模型之ChatGPT科普(深度好文)

目录 训练ChatGPT分几步&#xff1f; 如何炼成ChatGPT&#xff1f; 如何微调ChatGPT? 如何强化ChatGPT? 如何调教ChatGPT? AI思维链是什么&#xff1f; GPT背后的黑科技Transformer是什么&#xff1f; Transformer在计算机视觉上CV最佳作品&#xff1f; 数字时代&am…

【MySQL】游标和触发器

一、游标 1.1 什么是游标 1、使用背景 在我们使用update或者delete操作数据时&#xff0c;一般都会根据条件语句查询出很多条记录组成的数据集&#xff0c;然后一次性批量操作 假设我们想要对这个结果集中的数据 一行一行的进行操作&#xff0c;比如某个条件满足后&#xff…

Lora 串口透传开发 5

1 简介 串口转usb、转wifi等很多应用 2 设计原理 2.1 设计需求 1将LoRa终端定义成两种角色:Master和Slave 2一个模块发送任意字节长度&#xff08;小于128Byte&#xff09;数据&#xff0c;另一模块都可以接收到 3PC机上通过串口调试助手实现接收和发送 4终端在LCD屏幕上显…