zoukankan      html  css  js  c++  java
  • SQLSERVER 605 尝试在数据库 %d 中提取逻辑页 %S_PGID 失败。 该逻辑页属于分配单元 %I64d,而非 %I64d。

    今天在开发过程中写了一个存储过程发现执行的时候,时不时会提示605错误,重新执行又可能会成功.

    百度了一下,很多说法是硬件的IO问题,就是存储器反馈给SQL SERVER 写入成功,但下次读取的时候SQLSEVER 系统校验发现写入的数据不正确.

    换了一台服务器,还是提示同样的错误,难道是两台服务器都有硬件问题?

    重新跟踪错误,仔细检查了一个代码.发现总是在同一个地方提示错误

      INSERT INTO #STK_MKT(LIST_DATE,LTTTRDATE,EDATE,PSVPCLNGPRARC,PSVOPNGPRARC,PSVCLNGPRARC,PSVHTPR,PSVLTPR,TRVOL,TRTO)
        SELECT C.LIST_DATE,B.EDATE,A.ENDDATE,B.PSVPCLNGPRARC,B.PSVOPNGPRARC,B.PSVCLNGPRARC,B.PSVHTPR,B.PSVLTPR,B.TRVOL,B.TRTO
        FROM #TRADE_DAY A
                CROSS APPLY(SELECT TOP 1 * FROM #STK_MKT
                            WHERE EDATE<=A.ENDDATE AND LIST_DATE<=A.ENDDATE 
                            ORDER BY EDATE DESC) B
                CROSS APPLY(SELECT TOP 1 * FROM #LIST_DATE WHERE LIST_DATE<=A.ENDDATE ORDER BY LIST_DATE DESC) C
        WHERE NOT EXISTS(SELECT 1 FROM #STK_MKT WHERE EDATE=a.ENDDATE)

    把插入的表名换了一下,将结果存入其它表中

      INSERT INTO #HK_STK_PRICE_IDX(LIST_DATE,LTTTRDATE,EDATE,PSVPCLNGPRARC,PSVOPNGPRARC,PSVCLNGPRARC,PSVHTPR,PSVLTPR,TRVOL,TRTO)
        SELECT C.LIST_DATE,B.EDATE,A.ENDDATE,B.PSVPCLNGPRARC,B.PSVOPNGPRARC,B.PSVCLNGPRARC,B.PSVHTPR,B.PSVLTPR,B.TRVOL,B.TRTO
        FROM #TRADE_DAY A
                CROSS APPLY(SELECT TOP 1 * FROM #STK_MKT
                            WHERE EDATE<=A.ENDDATE AND LIST_DATE<=A.ENDDATE 
                            ORDER BY EDATE DESC) B
                CROSS APPLY(SELECT TOP 1 * FROM #LIST_DATE WHERE LIST_DATE<=A.ENDDATE ORDER BY LIST_DATE DESC) C
        WHERE NOT EXISTS(SELECT 1 FROM #STK_MKT WHERE EDATE=a.ENDDATE)

    重新执行没有再报这个错误.原因不清楚,不轻易去猜测.

  • 相关阅读:
    echo和tee的使用
    cut列的截取
    BZOJ1414: [ZJOI2009]对称的正方形(二维hash)
    BZOJ1010: [HNOI2008]玩具装箱toy
    BZOJ2588: Spoj 10628. Count on a tree(主席树)
    BZOJ3991: [SDOI2015]寻宝游戏(set+lca / 虚树)
    BZOJ2286: [Sdoi2011]消耗战(虚树)
    Linux
    奇妙的棋盘(建图+搜索)
    礼物(动态规划)
  • 原文地址:https://www.cnblogs.com/champaign/p/4008367.html
Copyright © 2011-2022 走看看