黄志强 (长江大学石油工程学院,湖北 荆州 434023)
SQL Server在固井数据管理中的应用
黄志强 (长江大学石油工程学院,湖北 荆州 434023)
固井作业是钻井工程的最后一个关键环节,作业期间要处理大量的固井数据,为了节约计算机资源和降低固井作业成本,关键在于快捷、有效地存储、查询和处理数据。SQL Server是Microsoft推出的数据管理对象,具有强大的数据管理和处理功能。介绍了建立固井数据库的必要性,分析了SQL Server在管理固井数据方面的可行性和优越性,详细阐述了SQL Server对固井数据的存储、查询及固井数据库的备份与还原过程。
SQL Server;数据管理;固井施工;数据库
随着现代固井技术的发展,固井工程涉及的数据越来越多,数据处理的工作量也相应增加,原有的数据管理方法已不能有效地进行数据更新与维护。另外,传统的基于文件和人工的管理方式,给数据的保密工作带来了隐患。因此,如何利用现有技术更加经济有效地管理固井数据已成为提高固井作业效率的关键所在。
SQL(Structured Query Language) Server是中小型数据管理软件,可比较容易地使用与数据库有关的各种对象,越来越多的单位也开始开发基于该数据库的固井数据管理系统。下面,笔者介绍SQL Server在固井数据管理中的应用。
大量固井工程数据的管理给现场设计与施工人员带来了诸多不便,建立固井数据库进行统一管理,可提高固井作业效率,支撑专家系统实现在线诊断,提高固井施工的自动化、远程化、智能化。固井数据库的建立与管理,能为固井作业人员快捷、方便地提供决策所需的数据和信息,为固井工作者的正确决策提供有力支持,并降低固井成本。
2.1可行性
SQL语言集数据查询、数据操作、数据定义、数据控制功能于一体,语言风格统一,可以独立完成数据库生命周期的全部活动,它能够满足用户建立数据库、定义关系模式、插入数据、查询、更新、维护、数据库重构、数据库安全性控制等一系列操作要求,为数据库应用系统的开发提供了良好的环境。用户在数据库系统投入运行后,还可根据需要随时逐步修改模式。
2.2SQLServer管理固井数据的优越性
固井作业是一项复杂的系统工程,对于固井过程中可能遇到的复杂情况,固井施工人员只能通过数据和经验来进行计算和判断,所以在处理突发事件时,需要及时并全面地从数据库中查找所需要的数据, SQL Server更能突出在数据管理上的优越性。
1) 实现内存合理配置 存储大量的固井数据时需占用大量的数据空间,SQL采用动态的存储分配,分配给其正在运行的计算机内所有可用的物理内存,节约了计算机资源,提高了资源的利用率。
2) 实现资源共享 数据管理员授权给每个子机,固井作业过程中的相关部门可以实现资源共享,相互协作,高效率地完成固井作业,而且固井作业队和总公司可通过无线网络实现资源共享[1],如图1所示。
图1 数据无线传输示意图
3) 实现数据备份和还原 SQL Server为用户提供了数据备份与还原功能,若运行SQL Server的服务器出现故障,或者数据库遭到某种程度的损坏,可以通过备份副本重新创建或还原数据库。
3.1固井数据的存储过程
图2 固井数据表关系模型图
在SQL数据库中存储数据,首先应建立相应的数据表,添加相应的字段,设置字段的属性[2]。图2为一口井的固井数据表关系模型图,PK为该数据表的内键,即数据表的主键;PK1是外键,即数据表与数据表之间的关联键。
数据表的定义和字段的添加,可在SQL的可视化窗体中实现,不需用SQL语言操作。数据的存储,即往SQL数据表中添加数据记录,方法有4种:①把一个SQL数据库中的数据表转存到另一个数据库中;②通过SQL Server的可视化窗体直接添加数据;③把Access数据表中的数据导入到SQL数据库中;④从应用软件界面上直接存储。
3.2固井数据的查询过程
SQL结构化查询语言可实现高效数据查询,查询功能是数据库管理系统的核心功能。在固井作业中方便快捷地查询数据,可提高工作人员的效率,该技术已成为现代软件开发者考虑的主要问题。尤其在处理突发事件时,及时地查询相关资料,设计出解决方案或做出正确的决策。以便解决问题,防止问题继续恶化。
数据的查询有2种:一种是单表查询,另一种是多表查询(嵌套查询)。例如,在固井作业过程中要实现2种查询:①查询表层套管的管串结构;②查询表层套管的水泥浆配方。
查询表层套管的管串结构只涉及到一个数据表,为单表查询:SELECT * FROM lt;套管结构设计数据表gt; WHERE 条件 = 表层套管;由图2可知,查询表层套管的水泥浆配方须通过多表查询才能实现:SELECT * FROM lt;水泥配方数据表gt; WHERE 水泥名称 IN (SELECT水泥名称FROM lt;水泥性能数据表gt; WHERE 注入次序 IN (SELECT 注入次序 FROM lt;注水泥施工数据表gt; WHERE套管层次 = 表层套管))。
3.3固井数据库的备份、还原过程
1)备份数据库 固井数据库的备份是非常必要的,虽然SQL数据库系统中采取了各种保护措施来防止数据库的安全性和完整性被破坏,但是计算机硬件的故障、软件的错误、操作员的失误以及恶意的破坏仍是不可避免的,轻则影响数据库中数据的正确性,重则导致数据库中部分或全部数据丢失。因此,应在相隔不太长的时间内备份数据库,以保障数据的完整性。其步骤如下:
1)打开SQL企业管理器,在控制台根目录中依次点开Microsoft SQL Server。
2)QL Server组→双击打开服务器→双击打开数据库目录。
图3 数据备份和还原
3)选择数据库名称→然后单击右键→所有任务→选择备份数据库,如图3所示。
4)在备份选项中选择“完全备份”,如果存在默认路径和名称则选中名称点击“删除”,然后点击“添加”;如果不存在默认路径和名称则直接选择“添加”,接着指定路径和文件名,指定后点击“确定”返回备份窗口,接着点击“确定”进行备份。
2)还原数据库 还原数据也称恢复数据,是把固井数据库遭受破坏前所备份的数据恢复到当前执行的进程中。当系统运行中发生故障时,利用数据库备份文件可将固井数据库恢复到故障发生前的某一个状态,不同的故障其恢复策略和恢复方法也不一样。
1)事务故障的恢复。反向扫描文件日志,查找该事务的更新操纵并对其进行逆操纵,继续扫描直到次事务的开始标记,事务故障恢复完成。
2)系统故障的恢复。此故障由系统在重新启动时自动完成,不需要用户干预。
3)介质故障的恢复。如图3中所示的“还原数据库”,找到备份的数据库副本,直接添加即可完成故障的恢复。
1)应用SQL Server对固井数据进行管理,提高了数据操作与维护方面的性能,加强了数据保密性,也提高了固井作业效率。
2)SQL Server通过创建固井数据表和建立数据表关系模型,实现对固井数据的分类存储、单表查询、多表查询等功能。
3)对固井数据库进行备份至关重要,在恢复数据时首先应判别故障的类型,然后采取相应有效的故障恢复方法。
[1]杨健龙,张宁生,刘茜.无线传输有线接入钻井数据库管理系统[J].石油工业计算机应用,2007,(3):6~9.
[2]SY/T6192-1996,石油钻井工程信息代码[S].
[编辑] 李启栋
TE256
A
1673-1409(2009)01-N072-03
2008-12-28
国家油气重大专项课题(2008ZX05021-006)。
黄志强(1964-),男,1984年大学毕业,硕士,副教授,现主要从事油气井钻井完井技术方面的研究工作。