Windows 11 + Samsung 980 踩坑:在 LocalDB 15.0 实例启动期间出错: 无法启动 SQL Server 进程(附赠 查询指定日期范围内的前1000条SQL执行记录)
Windows 11 + Samsung 980 踩坑:在 LocalDB 实例启动期间出错: 无法启动 SQL Server 进程
起因
用 Microsoft Visual Studio 2022 连接 (localdb)\MSSQLLocalDB,等待半天没连接成功。
几经搜索,一顿操作猛如虎,反正数据不重要,先删后重建:
PS C:\Users\Administrator> sqllocaldb delete MSSQLLocalDB
LocalDB instance "MSSQLLocalDB" deleted.
PS C:\Users\Administrator> sqllocaldb create MSSQLLocalDB -s
Creation of LocalDB instance "MSSQLLocalDB" failed because of the following error:
在 LocalDB 实例启动期间出错: 无法启动 SQL Server 进程。
看到这个新的错误,我懵了。
按 Win + R 键,打开运行窗口,输入 eventvwr,打开 事件查看器。
翻 Windows 事件日志,在 Windows 日志 ——> 应用程序 下,发现3条蛛丝马迹:
事件ID:1000
来源:Application Error
事件数据:
错误应用程序名称: sqlservr.exe,版本: 2019.150.4153.1,时间戳: 0x60f610ce
错误模块名称: ntdll.dll,版本: 10.0.22000.778,时间戳: 0x5398ab6f
异常代码: 0xc0000005
错误偏移量: 0x0000000000035c7e
错误进程 ID: 0x1784
错误应用程序启动时间: 0x01d89aaf6ee85153
错误应用程序路径: C:\Program Files\Microsoft SQL Server\150\LocalDB\Binn\sqlservr.exe
错误模块路径: C:\Windows\SYSTEM32\ntdll.dll
报告 ID: c1912614-645d-48cf-903b-aa73054de47b
错误程序包全名:
错误程序包相对应用程序 ID:
事件ID:1001
来源:Windows Error Reporting
事件数据:
故障存储段 ,类型 0
事件名称: APPCRASH
响应: 不可用
Cab ID: 0
问题签名:
P1: sqlservr.exe
P2: 2019.150.4153.1
P3: 60f610ce
P4: ntdll.dll
P5: 10.0.22000.778
P6: 5398ab6f
P7: c0000005
P8: 0000000000035c7e
P9:
P10:
附加文件:
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.cad8ce7d-17e3-469d-be84-c89fcfc3de86.tmp.mdmp
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.ac119f5e-7188-4361-ba0d-aaed83150fb8.tmp.WERInternalMetadata.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.685f680a-30b6-4dba-b9cb-2d621e24fcfe.tmp.xml
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.c3c60740-abb8-4c04-a544-fc9711da9bfc.tmp.csv
\\?\C:\ProgramData\Microsoft\Windows\WER\Temp\WER.be8cc631-5df4-4bda-82e4-3258776b94d5.tmp.txt
\\?\C:\Users\Administrator\AppData\Local\Temp\WER.337ad876-47d6-44cc-b85a-e00a072bd446.tmp.appcompat.txt
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_sqlservr.exe_7db2cb6f1a5bb53cb07826afa1c25735cec610_8a932130_cab_8a90fb42-c0d2-4726-8075-69ef4dfff944\memory.hdmp
可在此处获取这些文件:
\\?\C:\ProgramData\Microsoft\Windows\WER\ReportQueue\AppCrash_sqlservr.exe_7db2cb6f1a5bb53cb07826afa1c25735cec610_8a932130_cab_8a90fb42-c0d2-4726-8075-69ef4dfff944
分析符号:
重新检查解决方案: 0
报告 ID: c1912614-645d-48cf-903b-aa73054de47b
报告状态: 100
哈希存储段: nCab GUID: 0
事件ID:528
来源:SQLLocalDB 15.0
事件数据:
Windows API 调用 WaitForMultipleObjects 返回了错误代码: 575。Windows 系统错误消息为: {应用程序错误}
应用程序无法正常启动(0x%lx)。请单击“确定”关闭应用程序。
,报告的行是: 3714.
附上英文版的事件日志
Windows Event Logs
Windows API call WaitForMultipleObjects returned error code: 575. Windows system error message is: {Application Error}
The application was unable to start correctly (0x%lx). Click OK to close the application.
Reported at line: 3714.
解决方案
根据最近一条错误事件信息,又是几番搜索,
最终找到这一条冷门的解决方案:https://dba.stackexchange.com/questions/303823/error-starting-localdb-on-windows-11
文中提到:
Windows 11 and Windows Server 2022 do not report compatible PhysicalBytesPerSectorForAtomicity information for some SSD storage devices at this time. This causes issues with SQL Server IO when reported size is over 4K. See troubleshoot errors related to system disk sector size greater than 4 KB for additional details.
For your reference, below is example output of the command from a working (Samsung 980 PRO 2TB NVMe) and non-working (Samsung 980 1TB NVMe) system:fsutil fsinfo sectorinfo c:
Working drive:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 4096
PhysicalBytesPerSectorForPerformance : 4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Problem drive:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 16384
PhysicalBytesPerSectorForPerformance : 16384
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Does anyone have any recommendations for me to try?
Work-arounds I've seen suggested include:
- Install SQL Server on a drive that reports correct sector information (not over 4K)
- Create a VHD/VHDX and install SQL Server on that drive
- Start SQL Server with trace flag 1800
The trace flag work-around is probably the easiest for your existing installation. However, it doesn't seem LocalDb provides a documented way to specify trace flags (one can use SQL Server Configuration Manager for other editions). I found this answer on SO that shows the registry location for LocalDb startup parameters and tweaked it for SQL 2019 LocalDb and trace flag 1800.
I tested these Powershell commands on my PC and it sets the LocalDB 1800 trace flag correctly.
New-Item -Path 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15E.LOCALDB\MSSQLServer\Parameters' -Force
New-ItemProperty -Path 'HKLM:\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15E.LOCALDB\MSSQLServer\Parameters' -Name 'SQLArg0' -Value "-T1800" -PropertyType String -Force
You'll need to restart localDb afterwards:
sqllocaldb stop MSSQLLocalDB
sqllocaldb start MSSQLLocalDB
感言
我尼玛,这冷门错误都给我碰上了!!!
附赠
有一网友微信问我:如何获取SQL Server最近几天执行过的SQL语句?
这里附上查询指定日期范围内的前1000条SQL执行记录:
SELECT TOP
1000 QS.creation_time,
SUBSTRING (
ST.text,
( QS.statement_start_offset / 2 ) + 1,
(
( CASE QS.statement_end_offset WHEN - 1 THEN DATALENGTH( ST.text ) ELSE QS.statement_end_offset END - QS.statement_start_offset ) / 2
) + 1
) AS statement_text,
ST.text,
QS.total_worker_time,
QS.last_worker_time,
QS.max_worker_time,
QS.min_worker_time
FROM
sys.dm_exec_query_stats QS CROSS APPLY sys.dm_exec_sql_text ( QS.sql_handle ) ST
WHERE
1 = 1
AND QS.creation_time BETWEEN '2022-07-01 10:00:00'
AND '2022-07-31 23:59:59'
AND ST.text LIKE '%%'
ORDER BY
QS.creation_time DESC;
Windows 11 + Samsung 980 踩坑:在 LocalDB 15.0 实例启动期间出错: 无法启动 SQL Server 进程(附赠 查询指定日期范围内的前1000条SQL执行记录)的更多相关文章
- 树莓派4B踩坑指南 - (15)搭建在线python IDE
今天想在树莓派上自己搭一个在线的python IDE,于是找到了一篇教程--Fred913大神的从头开始制作OJ-在线IDE的搭建 自己尝试动手做了一下, 还是发现不少细节需要注意, 记录在此 如果不 ...
- Windows MinGW 64-bit boost 踩坑
>g++ -Wall -shared -g -DBUILD_DLL main.cpp -ID:\gcc\boost\include\boost-1_69 -LD:\gcc\boost\lib - ...
- windows kafka 环境搭建踩坑记
版本介绍(64位): Windows 10 JDK1.8.0_171 zookeeper-3.4.8/ kafka_2.11-0.10.0.1.tgz 点击链接进行下载 1. JDK安装和环境搭建 自 ...
- Windows+Apache+Python+Django 踩坑记录
摘要 使用Python进行Web项目开发:相对于主流三大Web端解决方案(Java/.NET/PHP) Python在某些方面具有一定的优势,相对 Java/.NET 有更轻量级的部署方案,相对PHP ...
- windows下pyinstaller打包踩坑记录
示例: 需要打包的是 ReadConfig.py 文件,同文件夹下调用了Interface.py文件,ui文件夹下调用了 Ui_config.py和Ui_Error.py文件,Interface.py ...
- 升级了 Windows 11 正式版,有坑吗?
今天磊哥去公司上班,惊喜的发现 Windows 提示更新了,并且是 Windows 11 正式版,这太让人开心了,二话不说"先升为敬". 下载更新 下载完咱就重启更新呗. Wi ...
- Go ORM框架 - GORM 踩坑指南
今天聊聊目前业界使用比较多的 ORM 框架:GORM.GORM 相关的文档原作者已经写得非常的详细,具体可以看这里,这一篇主要做一些 GORM 使用过程中关键功能的介绍,GORM 约定的一些配置信息说 ...
- golang的defer踩坑汇总
原文链接:http://www.zhoubotong.site/post/50.html defer语句用于延迟函数调用,每次会把一个函数压入栈中,函数返回前再把延迟的函数取出并执行.延迟函数可以有参 ...
- MS SQL错误:SQL Server failed with error code 0xc0000000 to spawn a thread to process a new login or connection. Check the SQL Server error log and the Windows event logs for information about possible related problems
早晨宁波那边的IT人员打电话告知数据库无法访问了.其实我在早晨也发现Ignite监控下的宁波的数据库服务器出现了异常,但是当时正在检查查看其它服务器发过来的各类邮件,还没等到我去确认具体情 ...
- Microsoft SQL Server 2008 安装图解(Windows 7)
简介 本文详细记录了一次完整的Microsoft SQL Server 2008在Windows 7操作系统上的安装过程.注意:Microsoft SQL Server 2008与Windows 7操 ...
随机推荐
- python excel 07版本转换为03版本
需要安装pywin32模块 pip install pywin32 主程序: import win32com.client as win32 import os.path import glob cl ...
- 【Unity3D】高斯模糊特效
1 高斯模糊原理 边缘检测特效中使用了卷积运算进行了边缘检测,本文实现的高斯模糊特效同样使用了卷积运算,关于卷积核和卷积运算的概念,读者可以参考边缘检测特效. 本文完整资源见→Unity3D高 ...
- Mybatis框架的搭建和基本使用
本文总结最原始Mybatis框架的搭建和最基本使用(不涉及Spring框架体系). 1 依赖 首先,我们要引入Mybatis依赖: <dependency> <groupId> ...
- vue中使用Tinymce
1.安装tinymce编辑器 npm i tinymcenpm i @tinymce/tinymce-vue 或: yarn add tinymce yarn add @tinymce/tinymce ...
- 【opencv】传统目标检测:Haar检测器实现人脸检测
传统目标分类器主要包括Viola Jones Detector.HOG Detector.DPM Detector,本文主要介绍VJ检测器,在VJ检测器基础上发展出了Haar检测器,Haar检测器也是 ...
- 20款VS Code实用插件推荐
前言 VS Code是一个轻量级但功能强大的源代码编辑器,轻量级指的是下载下来的VS Code其实就是一个简单的编辑器,强大指的是支持多种语言的环境插件拓展,也正是因为这种支持插件式安装环境开发让VS ...
- 继copilot之后,又一款免费帮你写代码的插件
写在前面 在之前的文章中推荐过一款你写注释,它就能帮你写代码的插件copilot copilot写代码的能力没得说,但是呢copilot试用没几天之后就收费了 传送门:你写注释她帮你写代码 按理说这么 ...
- Vue 搭配 Spring MVC 创建一个 web 项目
Vue 搭配 Spring MVC 创建一个 web 项目 想要写一个登录的web应用程序.页面使用Vue,后端使用Spring MVC,最终打成war包,放在tomcat下启动. 1.创建Sprin ...
- 【保姆级安装使用教程#1】Xshell与Xftp的下载、安装和使用
1. 下载 官网下载地址:==Xshell与Xftp下载地址== 当然也可以用鄙人的百度网盘连接下载这是链接:链接百度网盘下载Xshell与Xftp分别下载Xshell与Xftp 2. 安装Xshel ...
- c语言代码练习--函数
函数: 一,概念: 1,在计算科学中,子程序(英语:Subroutione,procedure,function,rotine,method.subprogram,callable unit),是一个 ...