已知SQL Server 2012 安装和迁移问题

本文介绍SQL Server 2012 安装和迁移问题。

原始产品版本:SQL Server
原始 KB 编号: 2681562

特定于 SQL Server 2012 的设置和迁移问题

SQL Server未启用 .NET Framework 3.5 时可能发生的 2012 年设置问题

问题 1 - 不完整的 SQL 故障转移群集或独立安装

症状

在尚未安装 .NET Framework 3.5 或 Internet 访问受到限制的服务器上,SQL Server 2012 安装程序不会安装依赖于 .NET Framework 3.5 的组件。 因此,SQL Server 2012 安装可能不完整。

注意

Windows 8.1或Windows Server 2012 R2 不允许继续安装。

未启用 .NET Framework 时,在安装 SQL Server 2012 期间可能会显示类似于以下内容的错误消息。

SQL Server 2012 安装程序错误消息的屏幕截图:启用 Windows 功能时出错。

预防

若要防止此问题,请在群集的所有节点上或独立服务器上启用 .NET Framework 3.5,然后再安装 SQL Server 2012。

解决方案

若要在独立服务器上解决此问题,请启用 .NET Framework 3.5,然后再次运行安装程序以添加其他功能。

若要在群集环境中解决此问题,请卸载不完整的 SQL Server 2012 实例,启用 .NET Framework 3.5,然后重新安装 SQL Server 2012。

注意

在群集环境中,无法添加通过再次运行 SQL Server 2012 安装程序跳过的功能。

若要在独立服务器上解决此问题,请启用 .NET Framework 3.5,然后再次运行 SQL Server 安装程序。

问题 2 - 系统错误地提示用户下载并安装 .NET Framework 3.5

症状

当用户尝试安装 CU1 或 CU2 时,系统可能会错误地提示用户下载并安装 .NET Framework 3.5。 即使已安装的组件不依赖于 .NET Framework 3.5,也可能发生此问题。

在这种情况下,你可能会收到类似于以下内容的错误消息。

.Net Framework 3.5 安装错误消息的屏幕截图:无法安装以下功能。

原因

这是 SQL Server 2012 CU1 和 CU2 中的已知问题。

注意

此问题已在 SQL Server 2012 及更高版本的累积更新 3 中修复。

预防

若要防止此问题,请执行下列操作之一:

  • 启用 .NET Framework 3.5,应用 CU1 更新包或 CU2 更新包,然后禁用 .NET Framework 3.5。

    注意

    仅当安装不包括依赖于 .NET Framework 3.5 的组件时,才应禁用 .NET Framework 3.5。

  • 从包含 SQL Server 2012 和 CU3 或更高版本的滑行安装包安装 SQL Server 2012。

  • 应用累积更新 3 或更高版本。 有关详细信息,请参阅 SQL Server 2012 发布后发布的 SQL Server 2012 版本

问题 3 - 无提示安装期间显示 Windows 应用程序兼容性模式警报

症状

在 Windows 8.1、Windows 8、Windows Server 2012 R2、Windows Server 2012、Windows 10 和 Windows Server 2016 中,.NET Framework为按需功能 (FOD) 组件。 此外,Windows 10、Windows 8.1和Windows 8系统策略以及Windows Server 2016、Windows Server 2012 R2 和Windows Server 2012系统策略要求在以下情况下向用户发出警报:FOD 组件已启用。

注意

默认情况下,.NET Framework 4.0 在 Windows 8 和 Windows Server 2012 中启用。 此外,.NET Framework 4.5 在 Windows 8.1 和 Windows Server 2012 R2 中启用,.NET Framework 4.6 在 Windows 10 和 Window Server 2016 中启用。 但是,禁用.NET Framework 3.5。

因此,在无提示安装过程中,可能会显示提示用户下载和安装 .NET Framework 3.5 的程序兼容模式警告。 无法禁止显示这些程序兼容性警报。 警告的屏幕截图如下所示:

Windows Server 2012 R2 和 Windows Server 2012 - 完整服务器

完整服务器上 .Net Framework 3.5 安装错误消息的屏幕截图:无法安装以下功能。

Windows Server 2012 R2 和 Windows Server 2012 - 服务器核心

无法通过 Windows 功能错误自动安装角色和功能的屏幕截图。

预防

若要防止此问题,用户可以在执行无提示安装之前启用 .NET Framework 3.5。

其他SQL Server 2012 安装问题

问题 1:尝试安装 SQL Server 2012 的第二个实例时,可能会生成.NET Framework未经处理的异常

症状

请考虑以下情况:

  • 安装 SQL Server 2012 的实例。
  • 安装 SQL Server 2012 实例时,会创建.NET Framework 4.0 用户配置文件。 此外,安装过程中会启用 .NET Framework 3.5。
  • 尝试安装 SQL Server 2012 的第二个实例。

在这种情况下,可能会生成未经处理的异常。 你可能会收到类似于以下内容的错误消息:

为 userSettings/Microsoft.SqlServer.Configuration.LandingPage.Properties.Settings 创建配置节处理程序时出错:无法加载文件或程序集系统、Version=4.0.0.0、Culture=neutral、PublicKeyToken=xxxxx 或其依赖项之一。 系统找不到指定的文件。 (C:\Users\Administrator\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0\user.config)

原因

在 Windows 8 和 Windows Server 2012 中,出现此问题的原因是,Windows 8 和 Windows Server 2012 中默认启用了 .NET Framework 4.0。 因此,安装 SQL Server 2012 时会创建.NET Framework 4.0 用户配置文件。 此外,安装过程中会启用 .NET Framework 3.5。

尝试安装 SQL Server 2012 的第二个实例时,安装将使用 .NET Framework 2.0,因为已安装 .NET Framework 3.5。 这与用户配置文件中的 设置冲突会导致未经处理的异常。

在 Windows 8.1 和 Windows Server 2012 R2 中,出现此问题的原因是,.NET Framework 4.5 在 Windows 8.1 和 Windows Server 2012 R2 中默认已启用。 因此,安装 SQL Server 2012 时会创建.NET Framework 4.5 用户配置文件。 此外,安装过程中会启用 .NET Framework 3.5。

尝试安装 SQL Server 2012 的第二个实例时,安装将使用 .NET Framework 2.0,因为已安装 .NET Framework 3.5。 此与用户配置中的 设置冲突会导致未经处理的异常。

在 Windows 10 和 Windows Server 2016 中,出现此问题的原因是默认启用了 .NET Framework 4.6。 因此,安装 SQL Server 2012 时会创建.NET Framework 4.6 用户配置文件。 此外,安装过程中会启用 .NET Framework 3.5。

尝试安装 SQL Server 2012 的第二个实例时,安装将使用 .NET Framework 2.0,因为已安装 .NET Framework 3.5。 这与用户配置文件中的 设置冲突会导致未经处理的异常。

预防

若要防止此问题,请在安装 SQL Server 2012 的第二个实例之前删除以下文件夹中的User.config文件:

%userprofile%\AppData\Local\Microsoft_Corporation\LandingPage.exe_StrongName_ryspccglaxmt4nhllj5z3thycltsvyyx\11.0.0.0

解决方案

注意

此问题已在 Microsoft SQL Server 2012 Service Pack 1 (SP1) 中修复。

如果第一个实例已安装 Service Pack 1,则不应遇到此问题。 如果无法在第一个实例上安装 Service Pack 1,请执行以下操作之一:

  • 从包含 SQL Server 2012 和 Microsoft SQL Server 2012 Service Pack 1 的滑行安装包安装第二个 SQL Server 2012 实例。 安装新实例后,必须应用 SQL Server 2012 Service Pack 4 或更高版本的更新。 有关更多信息,请参见如何获取 SQL Server 2012 的最新服务包

  • 使用 SQL Server 2012 SP4 文件进行预修补,然后安装 SQL Server 2012:

    • 未安装 SQL Server 2012 RTM 的计算机上:

      1. 下载并安装 SQL Server 2012 SP4

      2. “许可条款” 屏幕上,单击“ 我接受许可条款 ”复选框,然后选择“ 下一步”。

        注意

        安装文件后,安装向导会自动关闭。

      3. 验证安装。 为此,请启动 “添加或删除程序” ,并验证是否已列出以下内容:

        • Microsoft SQL Server 2012 安装程序,版本 11.0.7001.0
        • Microsoft Visual C++的两个条目。
    • 在具有 SQL Server 2012 RTM 的现有实例的计算机上:

      1. 下载并安装 SQL Server 2012 SP4

      2. 将 SP4 文件解压缩到本地文件夹。 例如,将 SP4 文件提取到 c:\sp4

        注意

        在这种情况下,无法运行 SQL Server 2012 SP4 安装程序。

      3. 在将 SP4 文件提取到的文件夹中,双击“ SqlSupport.msi 然后选择” ”。

      4. 验证安装。 为此,请启动“添加或删除程序”,并验证 Microsoft SQL Server 2012 安装程序版本 11.0.7001.0 已列出。

        注意

        查看 SQL Server 2012 SP4 下载页上的“安装说明”部分,确定服务器的正确下载。

问题 2:无法在 Windows Server 2012 R2 或 Windows Server 2012 上启用文件Stream共享功能的情况下安装 SQL Server 2012 故障转移群集

症状

尝试在 Windows Server 2012 上安装启用了共享功能的新 SQL Server 2012 故障转移群集FileStream时,可能会收到类似于以下内容的错误消息:

将资源“SQL Server Filestream share (FILESTREAM) ”的私有属性“Security0x20Descriptor”设置为值“System.Byte[]”时出错。 错误:无法从提供程序调用群集代码。 异常消息:找不到。

原因

出现此问题的原因是,Windows Server 2012中已删除对安全描述符属性的支持。

预防

若要防止此问题,请在未启用共享功能的情况下 FileStream 安装故障转移群集。 安装完成后,启用“共享” FileStream 功能。

解决方案

注意

此问题已在 Microsoft SQL Server 2012 Service Pack 1 (SP1) 中修复。

若要解决此问题,请使用 “添加或删除程序”卸载失败的群集实例,然后在未启用“共享” FileStream 功能的情况下安装故障转移群集。 安装完成后,启用“共享” FileStream 功能。

问题 3:SQL Server 2012 安装过程中出错:“尝试加载格式不正确的程序”

症状

请考虑以下情况:

  • 安装 64 位版本的 Windows 10、Windows 8.1 或 Windows 8。
  • 你尝试在 Windows-on-Windows (WoW) 模式下安装 SQL Server 2012。
  • SQL Server 2012 安装包括Reporting Services。

在这种情况下,安装失败。 此外,还会收到类似于以下内容的错误消息:

操作失败,0x8007000B
尝试加载格式不正确的程序。

操作失败错误消息的屏幕截图。

预防

若要防止此问题,请在安装 SQL Server 2012 之前使用 服务器管理器 安装 IIS ASP.NET 3.5 组件。 有关详细信息,请参阅在 Windows 8 或 Windows Server 2012 中卸载 ASP.NET 4.5 后,ASP.NET 2.0 和 ASP.NET 3.5 不起作用

问题 4:无法安装 SQL Server 2012 Enterprise Edition故障转移群集实例

症状

请考虑以下情况:

  • 执行以下操作之一:

    • 创建包含 SQL Server 2012 和 CU1 的滑行安装包。
    • 在安装 SQL Server 2012 之前,请使用 CU1 进行预修补。
  • 使用 UIMODE=EnableUIOnServerCore 选项安装 SQL Server 2012。

    在这种情况下,安装失败。 你会收到类似于以下内容的错误消息。

    “功能规则”页的屏幕截图,其中显示了 Windows Server Core 支持的功能 () 检查失败。

    错误的详细信息如下所示。

    屏幕截图显示了“规则检查结果”对话框中错误的详细信息。

原因

出现此问题的原因是,在安装过程中, DQ 该功能与引擎组件一起隐式选择。

注意

DQ服务器核心模式下不支持此功能。

解决方案

注意

此问题已在 SQL Server 2012 RTM CU3 和 SQL Server 2012 Service Pack 1 中修复。

要解决该问题,请执行下列操作之一:

  • 创建包含 SQL Server 2012 和 CU3 的滑行安装包。
  • 通过运行 CU3 安装包来预修补安装程序支持文件。

问题 5:尝试将群集节点升级到 SQL Server 2012 时的错误消息:“无法保存资源'SQL 网络名称 (<SQL 名称>) 的常见属性”

有关此问题以及如何解决此问题的详细信息,请参阅尝试将群集节点升级到 SQL Server 2012 时无法保存资源'SQL 网络名称 () '的常见属性“错误

问题 6:使用 OpenSQLFileStream API 时出现错误消息:“System.ComponentModel.Win32Exception (0x80004005) :不支持请求。

症状

请考虑以下情况:

  • 在运行 Windows Server 2012 的服务器上安装 SQL Server 2008 R2 的实例。
  • 将 SQL Server 2008 R2 实例升级到 SQL Server 2012 Service Pack 1 (SP1) 。
  • 使用 OpenSQLFileStream API。

在这种情况下,你将收到类似于以下内容的错误消息:

System.ComponentModel.Win32Exception (0x80004005) :不支持请求。

原因

出现此问题的原因是,SQL Server 2012 升级错误地删除了以下注册表项:

HKEY_LOCALMACHINE\System\CurrentControlSet\Services\LanmanServer\Parameters\FsctlAllowList\FSCTL_SQL_FILESTREAM_FETCH_OLD_CONTENT

解决方法

若要解决此问题,请使用注册表编辑器重新创建以下注册表项:

 HKLM\System\CurrentControlSet\Services\LanmanServer\Parameters\FsctlAllowList
 Dword: FSCTL_SQL_FILESTREAM_FETCH_OLD_CONTENT
 Value: 0x92560

另请参阅