none
SQL Server 2008 R2出现异常,异常信息为“无法为字符“'”找到匹配的引号字符。 (mscorlib)” RRS feed

  • 问题

  • 请帮忙看看要如何解决这个问题,已经困扰了好多天,甚至想自己调试跟踪错误,可无法附加调试器只能作罢,谢谢了。

    在SQL Server 2008 R2使用“选择前1000行”命令查看表数据时会出现“无法为字符“'”找到匹配的引号字符。 (mscorlib)”的异常信息

    异常信息的详细内容如下:

    ===================================

    无法为字符“'”找到匹配的引号字符。 (mscorlib)

    ------------------------------
    程序位置:

       在 System.DateTimeFormat.ParseQuoteString(String format, Int32 pos, StringBuilder result)
       在 System.DateTimeFormat.FormatCustomized(DateTime dateTime, String format, DateTimeFormatInfo dtfi, TimeSpan offset)
       在 System.DateTimeFormat.Format(DateTime dateTime, String format, DateTimeFormatInfo dtfi, TimeSpan offset)
       在 System.DateTimeFormat.Format(DateTime dateTime, String format, DateTimeFormatInfo dtfi)
       在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.QEStatusBarManager.SetExecutionTime(DateTime startTime, DateTime endTime)
       在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.SqlScriptEditorControl.ProcessElapsedTimeTick()
       在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ScriptAndResultsEditorControl.OnExecutionStarted(Object sender, EventArgs a)
       在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.DisplaySQLResultsControl.ValidateAndRun(ITextSpan textSpan, IDbConnection connection, Int32 execTimeout, Boolean bParseOnly)
       在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.DisplaySQLResultsControl.Run(ITextSpan textSpan, IDbConnection connection, Int32 execTimeout)
       在 Microsoft.SqlServer.Management.UI.VSIntegration.Editors.ScriptAndResultsEditorControl.DoScriptExec(ITextSpan textSpan)

    另外使用“还原数据库”命令也会有相同的异常信息,但是使用“编辑前200行”命令编辑表数据则不会有错误。

    试图还原SQL Server安装来解决问题,但是会出现如下错误(想通过安装Service Pack 3来解决问题遇到同样错误):

    标题: SQL Server 安装程序失败。
    ------------------------------

    SQL Server 安装程序遇到以下错误:

    “.”(十六进制值 0x00)是无效的字符。 行 1,位置 50。。

    ------------------------------
    按钮:

    确定
    ------------------------------

    随后安装程序崩溃,出现崩溃对话框,具体信息如下:

    描述:
      SQL Server 2008 R2 安装程序遇到错误。. 

    问题签名:
      问题事件名称: SQL100Exception
      问题签名 01: SQL2008@RTM@KB2979597
      问题签名 02: Unknown
      问题签名 03: Unknown
      问题签名 04: 0x5539C151
      问题签名 05: 0x5539C151
      问题签名 06: GatherUserSettings
      问题签名 07: Unknown
      问题签名 08: Unknown
      问题签名 09: Unknown
      问题签名 10: Unknown
      OS 版本: 6.1.7601.2.1.0.256.1
      区域设置 ID: 2052

    有关该问题的其他信息:
      LCID: 1033

    联机阅读隐私声明:
      http://go.microsoft.com/fwlink/?linkid=104288&clcid=0x0804

    如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
      C:\Windows\system32\zh-CN\erofflps.txt


    • 已编辑 HJ Liu 2015年6月9日 13:03
    2015年6月9日 13:02

全部回复

  • 在试图自己解决的过程中想查看下系统日志,意外的发现系统日志也无法查看,也碰到类似的解析错误,具体信息如下:

    FX:{b05566ad-fe9c-4363-be05-7a4cbb7cb510}

    无法为字符“'”找到匹配的引号字符。

    System.FormatException

    在 System.DateTimeFormat.ParseQuoteString(String format, Int32 pos, StringBuilder result)
       在 System.DateTimeFormat.FormatCustomized(DateTime dateTime, String format, DateTimeFormatInfo dtfi, TimeSpan offset)
       在 System.DateTimeFormat.Format(DateTime dateTime, String format, DateTimeFormatInfo dtfi, TimeSpan offset)
       在 System.DateTime.ToLongTimeString()
       在 Microsoft.Windows.ManagementUI.CombinedControls.CommonUtils.GetDateTimeString(DateTime dt)
       在 Microsoft.Windows.ManagementUI.CombinedControls.RecentViewsData.RefreshLogData(ViewerContext context)
       在 Microsoft.Windows.ManagementUI.CombinedControls.EventsNode.UpdateRecentViews(EventNodeType nodeType, Int64 ticks, MmcNodePath nodePath, String channelPath)
       在 Microsoft.EventViewer.SnapIn.FormControlBase.OnFormShow()
       在 Microsoft.ManagementConsole.View.ProcessNotification(Notification notification)
       在 Microsoft.ManagementConsole.ViewMessageClient.ProcessNotification(Notification notification)
       在 Microsoft.ManagementConsole.Internal.IMessageClient.ProcessNotification(Notification notification)
       在 Microsoft.ManagementConsole.Executive.SnapInNotificationOperation.ProcessNotification()
       在 Microsoft.ManagementConsole.Executive.Operation.OnThreadTransfer(SimpleOperationCallback callback)

    看起来这个错误并不是SQL Server本身的,似乎更像是系统层次的问题,不过因为是在SQL Server中发现的,所以还是发在了这里,希望能得到大家的帮助,谢谢。

    BTW:我还怀疑是.NET Framework的问题,把4.5.1的Framework修复了仍然没有效果。

    2015年6月9日 13:29
  • Did you install any sql2k8r2 service pack?
    2015年6月9日 15:12
  • Did you install any sql2k8r2 service pack?
     在哪里可以查看安装service pack没有?我也记不太清了,好像安装过sp1
    2015年6月10日 1:21
  • You can check with 'select @@version', latest service pack is sp3 by the way.
    2015年6月10日 2:09
  • 第一次见这种错误

    http://zhidao.baidu.com/link?url=mVZf2VNEVTd3zn3A9eto-eHIZL9WyZMU6TnklJlfPnwwKmZqSY-Arvt6RsbX7xRinBj3hs84rnDIoSP08SPC8ypis7wauBTJc5LLqal00g7

    http://bbs.csdn.net/topics/50270964

    http://bbs.csdn.net/topics/50270964


    Love SQL

    这些帖子我都搜到过,可惜一眼就能看出这些帖子毫无帮助,我甚至搜索“b05566ad-fe9c-4363-be05-7a4cbb7cb510”这个ID值搜到了这篇帖子,可惜我照着帖子的方法去Debug的时候发现没办法产生Memory Dump,自己调试的道路也就此堵上了。

    http://blogs.msdn.com/b/ntdebugging/archive/2009/02/16/easily-resolving-an-event-viewer-error-using-a-process-memory-dump.aspx

    2015年6月10日 8:55
  • Did you install any sql2k8r2 service pack?

    查看的结果是安装了X64版本的SP1:

    Microsoft SQL Server 2008 R2 (SP1) - 10.50.2550.0 (X64)
    Jun 11 2012 16:41:53
    Copyright (c) Microsoft Corporation
    Data Center Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1)


    2015年6月11日 14:24
  • Latest is sp3.
    2015年6月11日 16:41
  • Latest is sp3.
     是的没错,不过正如我在前面所说的,想通过安装Service Pack 3来解决问题遇到错误,无法通过安装SP3的方式,甚至无法通过修复安装SQL Server的方式来试图解决这个问题。
    2015年6月12日 11:51
  • Tried uninstall client tools first?
    2015年6月12日 12:08
  • Tried uninstall client tools first?
     呃,因为还有很多项目数据库在里面,保存了登陆密码,如果卸载了的话,有些就找不回来了,不能采用这个方法,事实上如果能卸载的话我早就卸载了,现实十之八九不如人意啊,唉。
    2015年6月13日 6:29