Beg*_*ner 16 sql-server character-set encoding sql-server-2017
我的计算机上安装了 SQL Server 2017。这是SELECT @@VERSION
返回的内容:
Microsoft SQL Server 2017 (RTM-GDR) (KB4293803) - 14.0.2002.14 (X64) 2018 年 7 月 21 日 07:47:45 版权所有 (C) 2017 Microsoft Corporation Enterprise Edition(64 位),Windows 10 Enterprise 10.0(Build 171) )`
直到昨天它都运行良好。突然SQL SERVER Service
没跑了。当我想手动运行该服务时,它显示3417 error
. 当我检查事件日志时,我看到了这个错误:
数据库 'master' 的脚本级升级失败,因为升级步骤 'msdb110_upgrade.sql' 遇到错误 200,状态 7,严重性 25。这是一个严重的错误情况,可能会干扰正常操作,数据库将脱机。如果在升级“master”数据库期间发生错误,它将阻止整个 SQL Server 实例启动。检查以前的错误日志条目是否有错误,采取适当的纠正措施并重新启动数据库,以便脚本升级步骤运行完成。`
经过一番谷歌搜索后,我发现我可以运行它/T902 switch
并尝试解决问题。但没有任何解决方案对我有用。所以我安装了相同SQL SERVER 2017
和恢复数据库的另一个实例。现在新安装的实例也有同样的问题。
可能是什么问题呢?
更新 这是 SQL Server 的完整错误日志。
2018-09-17 13:06:47.29 spid6s 配置选项“显示高级选项”从 1 更改为 1。运行 RECONFIGURE 语句进行安装。
2018-09-17 13:06:47.29 spid6s 配置选项“显示高级选项”从 1 更改为 1。运行 RECONFIGURE 语句进行安装。
2018-09-17 13:06:47.29 spid6s 配置选项 'Agent XPs' 从 1 更改为 1。运行 RECONFIGURE 语句进行安装。
2018-09-17 13:06:47.29 spid6s 配置选项 'Agent XPs' 从 1 更改为 1。运行 RECONFIGURE 语句进行安装。
2018-09-17 13:06:47.29 spid6s 创建 SSIS 文件夹...
2018-09-17 13:06:47.30 spid6s 删除程序 [dbo].[sp_syscollector_get_instmdw]
2018-09-17 13:06:47.30 spid6s 创建过程 [dbo].[sp_syscollector_get_instmdw]...
2018-09-17 13:06:47.30 spid6s 删除程序 [dbo].[sp_syscollector_upload_instmdw]
2018-09-17 13:06:47.30 spid6s 创建程序 [dbo].[sp_syscollector_upload_instmdw]...
2018-09-17 13:06:47.30 spid6s 从磁盘上传数据收集器包:c:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\Install\SqlTraceCollect.dtsx
2018-09-17 13:06:47.30 spid6s 从磁盘上传数据收集器包:c:\Program Files\Microsoft SQL Server\MSSQL14.SQL2017\MSSQL\Install\SqlTraceCollect.dtsx
2018-09-17 13:06:47.30 spid6s 错误:2775,严重性:17,状态:12。
2018-09-17 13:06:47.30 spid6s 服务器不支持代码页 65001。
2018-09-17 13:06:47.30 spid6s 错误:912,严重性:21,状态:2。
2018-09-17 13:06:47.30 spid6s 数据库 'master' 的脚本级别升级失败,因为升级步骤 'msdb110_upgrade.sql' 遇到错误 200,状态 7,严重性 25。这是一个严重的错误情况,可能会干扰正常操作并且数据库将脱机。如果在升级“master”数据库期间发生错误,它将阻止整个 SQL Server 实例启动。检查以前的错误日志条目是否有错误,采取适当的纠正措施并重新启动数据库,以便脚本升级步骤运行完成。
2018-09-17 13:06:47.30 spid6s 错误:3417,严重性:21,状态:3。
2018-09-17 13:06:47.30 spid6s 无法恢复主数据库。SQL Server 无法运行。从完整备份恢复主文件、修复它或重建它。有关如何重建 master 数据库的详细信息,请参阅 SQL Server 联机丛书。
2018-09-17 13:06:47.30 spid6s SQL Server 关闭已启动
2018-09-17 13:06:47.30 spid6s SQL 跟踪由于服务器关闭而停止。跟踪 ID = '1'。这只是一条信息性消息;无需用户操作。
更新
这一行有话要说。The code page 65001 is not supported by the server.
我最近的 Windows 更新为Version 1803 (OS Build 17134.285)
. 此更新后,某些应用程序文本已更改为未知字符。这可能是问题的原因吗?
Sha*_*nky 19
我首先要说的是,您在 Windows 10(客户端操作系统)上运行 SQL Server 2017 不受支持,请参阅SQL Server 2017 的硬件和软件要求。通过在客户端操作系统上运行它,您正在浪费企业版的功能和大量资金。
另外,我相信此类问题主要是错误,因此我建议您应用最新的SQL Server 2017 CU 10。如果这能解决您的问题,请告诉我。如果您想尝试解决此问题,请参阅此博客。
正如 OP 所确认的,即使在应用 SQL Server 2017 CU10 后问题也没有解决。
编辑:问题从以下语句开始
2018-09-17 13:06:47.30 spid6s 服务器不支持代码页 65001。
在code page
65001种手段UTF-8编码,这是不是SQL Server支持这个我相信是造成该问题。这绝对是一个BUG,我很困惑为什么这仍然没有在CU10中修复。升级过程正在尝试bulk load
使用 UTF 8 编码的数据,但由于 SQL Server 不支持它,所以它失败了。
您有 Windows 10 转到control pane
,现在选择region and language
小程序,它可能只region
适合您在 Windows 10 上。转到administrative tab
选项卡的下部,您必须单击change system Locale
,然后继续激活/选择Beta:UTF8 支持并启动窗户机。下面是我的 Windows 7 机器上的选项。对于 Windows 10,该选项可能几乎相同。
按照 OP 的要求,整个问题在应用某些操作系统补丁后就开始了。取消选中“Beta:UTF8 支持”后问题已解决。问题似乎是两件事。
OP 已经检查了 Beta:UTF8 支持并且运行良好,直到他应用了改变“某些东西”的操作系统补丁。
在已经存在操作系统补丁的控制面板中取消选中 Beta:UTF8 Support 后问题已解决。
SQL Server 在 Beta:UTF8 支持下运行良好,但是当应用操作系统补丁时,“某些东西”以这样一种方式中断,即 SQL Server 主数据库无法联机,该消息不支持代码页 65001。从控制面板禁用 Beta:UTF8 解决了该问题。尽管我相信这更像是一种解决方法,并且 MS 需要为此提供适当的知识库文章。
PS:我还发现已经针对此问题提出了Connect Bug。当我说不支持(用于在客户端操作系统上安装企业版)时,并不意味着您无法运行此基础架构,这仅意味着如果您遇到一些“错误”或出现意外故障,您只能靠自己。如果您就任何此类问题向 MS 提出案例,我相信他们会指出这一点。
归档时间: |
|
查看次数: |
7282 次 |
最近记录: |