今天在开发过程中写了一个存储过程发现执行的时候,时不时会提示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)

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

SQLSERVER 605 尝试在数据库 %d 中提取逻辑页 %S_PGID 失败。 该逻辑页属于分配单元 %I64d,而非 %I64d。的更多相关文章

  1. SQL Server 检测到基于一致性的逻辑 I/O 错误 校验和不正确 ||尝试在数据库 5 中提取逻辑页 (1:1640) 失败

    use test go ALTER DATABASE test SET SINGLE_USER DBCC CHECKDB (test, repair_allow_data_loss) with NO_ ...

  2. 尝试在数据库 5 中提取逻辑页 (1:1640) 失败。该逻辑页属于分配单元XXX ,而非 XXX。

    此信息表明数据库或表 已经部分损坏可以通过以下步骤尝试修复: 1. DBCC CHECKDB 重启服务器后,在没有进行任何操作的情况下,在SQL查询分析器中执行以下SQL进行数据库的修复,修复数据库存 ...

  3. 试图从数据库 ‘UFData_001_2003' 中提取的逻辑页 (1:10720) 属于对象 '0',而非对象 'syscolumns'

    数据库可以使用,可以备份,但对备份进行恢复时报错,使用sp_attach_db对两个物理文件进行连接时,报同样错误: 服务器: 消息 605,级别 21,状态 1,行 1 试图从数据库 ‘UFData ...

  4. 转: SQL中的where条件,在数据库中提取与应用浅析

    SQL中的where条件,在数据库中提取与应用浅析 http://hedengcheng.com/?p=577 1问题描述 一条SQL,在数据库中是如何执行的呢?相信很多人都会对这个问题比较感兴趣.当 ...

  5. 在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符

    原文:在sqlserver中如何从字符串中提取数字,英文,中文,过滤重复字符 最近做项目的时候,经常用到一个字符串中的某些字符,处理起来非常的棘手,现在用下面的方法就可以很方便的从字符串中处理你想要的 ...

  6. 0320SQL中的where条件,在数据库中提取与应用浅析

    转自 何登成的技术博客 追求技术的道路上,10年如一日     首页 关于我 RSS 订阅 © 2012-2017 何登成的技术博客   SQL中的where条件,在数据库中提取与应用浅析 3月 3r ...

  7. 分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  8. (转)分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间)

    分享一个SQLSERVER脚本(计算数据库中各个表的数据量和每行记录所占用空间) 很多时候我们都需要计算数据库中各个表的数据量和每行记录所占用空间 这里共享一个脚本 CREATE TABLE #tab ...

  9. XamarinSQLite教程在Xamarin.Android项目中提取数据库文件

    XamarinSQLite教程在Xamarin.Android项目中提取数据库文件 由于不能直接打开该文件,开发者需要先将数据库文件从Android系统中提取出来.操作步骤如下. (5)选择MyDoc ...

随机推荐

  1. HDU 5644 (费用流)

    Problem King's Pilots (HDU 5644) 题目大意 举办一次持续n天的飞行表演,第i天需要Pi个飞行员.共有m种休假计划,每个飞行员表演1次后,需要休假Si天,并提供Ti报酬来 ...

  2. 【转发】构建高可伸缩性的WEB交互式系统(中)

    原文转自:http://kb.cnblogs.com/page/503953/ 在<构建高可伸缩性的WEB交互式系统>的第一篇,我们介绍了Web交互式系统中平台的可伸缩性.本文将描述模块的 ...

  3. Rest文件上传

    文件上传时传过来一个stream 代码如下: /// <summary> /// 上传文件 /// </summary> /// <param name="fi ...

  4. LeetCode Set Matrix Zeroes(技巧+逻辑)

    题意: 给一个n*m的矩阵,如果某个格子中的数字为0,则将其所在行和列全部置为0.(注:新置的0不必操作) 思路: 主要的问题是怎样区分哪些是新来的0? 方法(1):将矩阵复制多一个,根据副本来操作原 ...

  5. QEMU Guest Agent

    QEMU Guest Agent It is a daemon program running inside the domain which is supposed to help manageme ...

  6. 在Fragment中获取Activity中数据

    今天要做一个功能,用Fragment显示从其所在的Acitivity1中获取到的数据.这个Activity1是从另一个带有参数Activity2跳转过来的,所以要获得的是这些参数.因为之前没遇到过,所 ...

  7. PAT (Basic Level) Practise:1001. 害死人不偿命的(3n+1)猜想

    [题目链接] 卡拉兹(Callatz)猜想: 对任何一个自然数n,如果它是偶数,那么把它砍掉一半:如果它是奇数,那么把(3n+1)砍掉一半.这样一直反复砍下去,最后一定在某一步得到n=1.卡拉兹在19 ...

  8. ion torrent ion proton

    https://www.youtube.com/watch?v=6Is3W7JkFp8 NGS 的视频 说的不错 一个做癌症的教授讲的 Ion Torrent™ next-generation seq ...

  9. JavaScript 阶段总结

  10. Linux一些常用软件的源码安装

    Sreen: wget ftp://ftp.gnu.org/pub/gnu/screen/screen-4.0.3.tar.gz .tar.gz cd screen- ./configure make ...