小编aru*_*.v1的帖子

提高非聚集索引寻求的性能

我有一个查询,其中索引搜索(非群集)占用总执行时间的93%的更多时间.

查询的执行计划,索引查找的估计行数是1,实际行数是209.这是否是问题?

如何提高非聚簇索引的性能.一般性答案将有所帮助.

执行计划: 在此输入图像描述

以下是查询,

SELECT TOP 11 DVPR1.IncidentID, DVPR2.IncidentID, Rel.ID, PER1.[LastName], PER1.[FirstName]
FROM 
  DV_PHPersonalRecord DVPR1 
INNER JOIN Relationship Rel 
  ON  Rel.source_Id = DVPR1.RowId 
  AND Rel.typeCode = 'RPLC'
INNER JOIN DV_PHPersonalRecord DVPR2 
  ON  DVPR2.RowId = Rel.target_Id
INNER JOIN [T_Attribute] (nolock) 
  ON  [T_Attribute].[ActRelationship_ID] = Rel.[ID] 
  AND [T_Attribute].[name] = 'MergeFlag' 
  AND ( [T_Attribute].[valueString_Code] = 'pending')
INNER JOIN [Person] PER1 (nolock) 
  ON  DVPR1.[PersonDR]=PER1.[RowID]
INNER JOIN [Person] PER2 (nolock) 
  ON  DVPR2.[PersonDR]=PER2.[RowID]
WHERE 
    DVPR1.TypeDR = 718990 
  AND
    (PER1.[Code_ID] IS NULL OR ( PER1.[Code_ID] = '6516' …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

10
推荐指数
1
解决办法
2万
查看次数

MSDTC例外

我的申请一次出现以下异常,

无法从服务器获取服务器的分布式事务协调器的地址.是否在服务器上启用了DTC?

现在我需要捕获并处理异常,但无法重现异常.任何人都可以提供有关如何重现异常或提供异常类型/错误代码的输入.

由于我没有得到异常日志,因此我无法获得异常类型/错误代码.

编辑

我尝试了以下方案,

  1. 场景 - DTC服务停止时错误消息

    "服务器'MyServ\SQL2005'上的MSDTC不可用." -

  2. 场景 - 在DATABASE SERVER错误消息中禁用DTC的网络访问时

    "合作伙伴事务管理器已禁用其对远程/网络事务的支持."

  3. 场景 - 在应用程序服务器错误消息中为DTC禁用网络访问时

    "事务管理器已禁用其对远程/网络事务的支持."

  4. 还尝试通过停止app server/webserver中的netbios,然后我收到以下错误,

    由于通信问题,MSDTC事务管理器无法从源事务管理器中提取事务.可能的原因是:有防火墙,它并没有对MSDTC过程异常,在两台计算机无法通过其NetBIOS名称找到对方,或者对于网络交易的支持不是两个事务管理器中启用了.

还试用了Stoppin SQL Server和MSDTC服务.然后在启动MSDTC之前启动SQL服务器.但无法重现我需要的错误消息.

.net sql-server msdtc

7
推荐指数
1
解决办法
1356
查看次数

静态类是引用类型还是值类型?

静态类是引用类型还是值类型?如果任何人给出一个很好的解释,那将是非常有帮助的

c#

4
推荐指数
1
解决办法
2465
查看次数

标签 统计

sql-server ×2

.net ×1

c# ×1

msdtc ×1

sql ×1