Com*_*ter 8 sql-server ssms visual-studio sql-server-localdb
我在全新的 NUC 上安装了 Windows 11,然后安装了所有更新。安装Visual Studio 2022 CE并SSMS (v 18.10)
我尝试启动 localDB,假设它是作为 Visual Studio 2022/SSMS 的一部分安装的,当(localdb)\\mssqllocaldb在 SSMS 中输入\xc2\xa0 时,它收到错误\xc2\xa0
Cannot connect to (localdb)\\mssqllocaldb.\n\nSQL Network Interfaces, error: 50 - Local Database Runtime error occurred.\xc2\xa0\n\nError Number: -1983577846\nRun Code Online (Sandbox Code Playgroud)\n然后我验证/尝试启动实例,如下所示
\nsqllocaldb stop mssqllocaldb\nsqllocaldb delete mssqllocaldb\nsqllocaldb start "MSSQLLocalDB"\nRun Code Online (Sandbox Code Playgroud)\n当输入最后一个命令时,我收到错误\xc2\xa0
\n由于以下错误,LocalDB 实例“MSSQLLocalDB”启动失败:\n无法创建自动实例。有关错误详细信息,请参阅 Windows 应用程序事件日志。
\n我查看了下找到的日志文件
\n....\\AppData\\Local\\Microsoft\\Microsoft SQL Server 本地 DB\\Instances\\MSSQLLocalDB
\n并查看一些错误文件并按日期选择最新的一个。
\n它包含信息,最后一行是\xc2\xa0
\n2021-12-11 10:48:42.67 spid10s \xc2\xa0 \xc2\xa0 There have been 256 misaligned log IOs which required falling back to synchronous IO. \xc2\xa0The current IO is on file C:\\Users\\....\\AppData\\Local\\Microsoft\\Microsoft SQL Server Local DB\\Instances\\MSSQLLocalDB\\master.mdf.\nRun Code Online (Sandbox Code Playgroud)\n该文件非常短,但我没有在任何地方看到带有Error 的条目,并且大多数行以This is an informational message;结尾。无需用户操作。
\nWindows 日志状态
\nWindows API 调用 WaitForMultipleObjects 返回错误代码:575。Windows 系统错误消息是:{应用程序错误}\n应用程序无法正确启动 (0x%lx)。单击“确定”关闭应用程序。\n报告于第 3714 行。
\n打开服务,可以看到SQL Services VSS Writer,状态为正在运行,没有其他SQL服务。
\n有人有什么建议让我尝试吗?
\nDan*_*man 12
Windows 11 和 Windows Server 2022 目前不报告某些 SSD 存储设备的兼容 PhysicalBytesPerSectorForAtomicity 信息。当报告的大小超过 4K 时,这会导致 SQL Server IO 出现问题。有关更多详细信息,请参阅解决与系统磁盘扇区大小大于 4 KB 相关的错误。
fsutil fsinfo sectorinfo c:以下是工作 (Samsung 980 PRO 2TB NVMe) 和非工作 (Samsung 980 1TB NVMe) 系统的命令输出示例,供您参考:
工作驱动:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 4096
PhysicalBytesPerSectorForPerformance : 4096
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Run Code Online (Sandbox Code Playgroud)
问题驱动:
LogicalBytesPerSector : 512
PhysicalBytesPerSectorForAtomicity : 16384
PhysicalBytesPerSectorForPerformance : 16384
FileSystemEffectivePhysicalBytesPerSectorForAtomicity : 4096
Run Code Online (Sandbox Code Playgroud)
有人有什么建议让我尝试吗?
我见过的建议解决方法包括:
对于您现有的安装来说,跟踪标志解决方法可能是最简单的。然而,LocalDb 似乎没有提供一种有记录的方法来指定跟踪标志(可以使用其他版本的 SQL Server 配置管理器)。我在 SO 上找到了这个答案,它显示了 LocalDb 启动参数的注册表位置,并针对 SQL 2019 LocalDb 和跟踪标志 1800 对其进行了调整。
我在我的 PC 上测试了这些 Powershell 命令,它正确设置了 LocalDB 1800 跟踪标志。
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
Run Code Online (Sandbox Code Playgroud)
之后您需要重新启动 localDb:
sqllocaldb stop MSSQLLocalDB
sqllocaldb start MSSQLLocalDB
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9418 次 |
| 最近记录: |