修复: SQL Server 数据质量客户端停止响应时尝试删除数据质量项目后的 SQL Server 2012年安装累积更新 1

文章翻译 文章翻译
文章编号: 2705571 - 查看本文应用于的产品
Microsoft 将 Microsoft SQL Server 2012年修补程序分发作为一个可下载的文件。修补程序是累积性的因为每个新版本包含的所有修补程序和所有安全修补程序包含以前的 SQL Server 2012年修补程序版本。
展开全部 | 关闭全部

本文内容

症状

请考虑以下情形:
  • 在 Microsoft SQL Server 2012年数据质量客户端中创建一个或多个数据质量项目。
  • SQL Server 2012 (SQL Server 2012 CU1) 安装累积更新 1,然后运行升级数据质量服务 (DQS) 目录,并添加新对象的 DQSInstaller.exe 文件。
  • 您尝试通过使用数据质量客户端删除创建的数据质量项目之一。
在此方案中,数据质量客户端停止响应,并 SQL Server 数据库引擎进入一个无限循环。此外,安装数据库进程遇到 CPU 使用率过高。

备注
  • 要恢复此问题,重新启动客户端数据质量和 DQS。
  • 如果您在安装 SQL Server 2012 CU1 之前创建了数据质量项目才出现此问题。

原因

无限循环由不正确地更新循环计数器的系统存储过程中会出现此问题。

注意由于 SQL Server 2012 CU1,会出现此问题。

解决方案

累积更新信息

SQL Server 2012年的服务包信息

要解决此问题,请获取最新的 service pack 的 SQL Server 2012年。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2755533 如何获取最新的 service pack 的 SQL Server 2012

SQL Server 2012

对于 SQL Server 2012年累积更新 2 中第一次发布此问题的修补程序。有关如何为 SQL Server 获取此累积更新包的详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2703275 累积更新包 2 的 SQL Server 2012
注意 生成具有累积性的因为每个新修补程序版本包含的所有修补程序和所有安全修补程序包含以前的 SQL Server 修补程序版本。我们建议您考虑应用包含此修复程序的最新修补程序版本。有关详细信息,请单击下面的文章编号,以查看 Microsoft 知识库中相应的文章:
2692828 SQL Server 2012年生成 SQL Server 2012年发布后发布

替代方法

若要解决此问题,请使用下列方法之一。

方法 1

若要添加虚拟过程,使存储的过程无限循环,以继续并正确退出,请按照下列步骤:
  1. 运行下面的查询,以确定您尝试删除受影响的项目的架构名称:

    SELECT 'KnowledgeManagement'+CAST(ID AS NVARCHAR) AS SchemaName, Name FROM DQS_MAIN.dbo.A_KNOWLEDGEBASE WHERE TYPE=2
  2. 使用的SchemaName值是返回,然后运行的声明,如下所示在 SQL Server 管理 Studio 提供匹配的架构名称和数据质量项目 id。将架构和相应的数据质量项目创建新的虚拟过程。因此,无限循环继续正确进行。

    USE DQS_PROJECTS
    GO
    CREATE PROCEDURE DQProject<ID>.NewIndexParseTrigramsFromLexicon

    AS
    BEGIN
    PRINT 'THIS IS A DUMMY PROCEDURE TO MAKE DELETE WORK for Microsoft KB Article 2705571';
    END
    注意ID> 表示正在删除数据质量项目的内部 ID。
  3. 验证按预期方式已从客户端数据质量删除数据质量项目。
方法 2

如果您必须终止快速节省 CPU 资源的循环过程,请运行以下语句以确定正确的会话。但是,中止循环过程不会删除数据质量项目干净。以下 ? SQL 语句有助于标识和终止正确的会话。如果从客户端数据质量的多个会话正在运行,您可能需要多次运行这些语句:

DECLARE @session smallint, @text nvarchar(2000), @killcommand nvarchar(200)

SELECT TOP 1 @session=s.session_id, @text=st.text

FROM sys.dm_exec_sessions s

FULL OUTER JOIN sys.dm_exec_requests r ON s.session_id=r.session_id

CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS st

WHERE program_name like 'DQ Services Client: Client Id = %, KB Id = %, Proxy = KnowledgebaseManagementEntryPointClient'

AND s.status='running';

SELECT 'Killing this DQS session:', @session SessionID, @text QueryText;

SET @killcommand=N'Kill '+ cast(@session as nvarchar)+';'

EXEC sp_executesql @killcommand;

注意如果您使用方法 2 DQS 连接,您可能会收到以下错误消息在客户端数据质量:

SQL Server 数据质量的服务

--------------------------------------------------------------------------------

<MessageId></MessageId>: ApplicationUnhandledException

发生未处理的异常。有关详细信息,请参阅数据质量服务客户端日志。

--------------------------------------------------------------------------------

System.Data.SqlClient.SqlException (0x80131904): 当前命令发生了严重错误。结果,如果有的话) 应该被废弃。

状态

Microsoft 已经确认这是"适用于"一节中列出的 Microsoft 产品中的问题。

参考

有关如何升级 DQS 的详细信息,请转到下面的 Microsoft TechNet 网站:
如何升级 DQS

属性

文章编号: 2705571 - 最后修改: 2012年9月20日 - 修订: 4.0
这篇文章中的信息适用于:
  • Microsoft SQL Server 2012 Developer
  • Microsoft SQL Server 2012 Enterprise
  • Microsoft SQL Server 2012 Standard
  • Microsoft SQL Server 2012 Express
  • Microsoft SQL Server 2012 Web
关键字:?
kbqfe kbmt KB2705571 KbMtzh
机器翻译
注意:这篇文章是由无人工介入的微软自动的机器翻译软件翻译完成。微软很高兴能同时提供给您由人工翻译的和由机器翻译的文章, 以使您能使用您的语言访问所有的知识库文章。然而由机器翻译的文章并不总是完美的。它可能存在词汇,语法或文法的问题,就像是一个外国人在说中文时总是可能犯这样的错误。虽然我们经常升级机器翻译软件以提高翻译质量,但是我们不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的错误使用所引起的任何直接的, 或间接的可能的问题负责。
点击这里察看该文章的英文版: 2705571
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com