仓酷云

标题: MSSQL编程:单弄定ASA备份/恢复程序 [打印本页]

作者: 柔情似水    时间: 2015-1-16 22:39
标题: MSSQL编程:单弄定ASA备份/恢复程序
线上或者测试环境经常出现的误操作总是让DBA同学那么闹心。备份|程序|恢复
AdaptiveServerAnywhere(本文中简称ASA)是PowerBuilder(本文中简称PB)自带的数据库办理体系,可作为小型使用体系的数据库服务器。而数据库的备份/恢复是一项基础的事情,要想用短短几分钟就完成这类程序的编写,能做到吗?本文就将为人人先容一个用PB编写的ASA备份/恢复程序,只需很短的工夫,就能够体例完成并使用在以ASA作为数据情况的小型使用上。

一备份程序
先来看看备份程序部分的写法。在窗体上建一文本框sle_1,用来显现备份的文件名,并增加两个按钮:cb_1(扫瞄)、cb_2(备份)。响应的事务代码以下:

//cb_1.clicked()

stringfname,name

GetfileSaveName(保留,fname,name,“db”,数据库备份文件(*.1),*.1)

sle_1.text=fname

//cb_2.clicked()

stringmysql,bfname

bfname=trim(sle_1.text)

bfname=left(bfname,len(bfname)-2)

mysql=“BACKUPDATABASETO”+bfname+“”

executeimmediate:MysqlUSINGSQLCA;//使用SQL语句立即实行备份

ifsqlca.sqlcode=0then

messagebox(“信息提醒”,备份乐成!,information!,OK!)//给出备份乐成与否的相干信息

else

messagebox(“信息提醒”,备份失利!,information!,OK!)

endif

二恢复程序
再来看看恢单数据库程序的编写。在窗体上建一文本框sle_1,显现用来恢复的备份文件名,并增加两个按钮:cb_1(查找)、cb_2(恢复)。声明一个修正文件属性的API函数:

FUNCTIONulongSetFileAttributes(refstringlpFileName,ulongdwFileAttributes)LIBRARY“kernel32.dll”ALIASFOR“SetFileAttributesA”

响应的事务代码以下:

//cb_1.clicked()

stringfname,name

GetfileOPenName(查找,fname,name,“1”,“数据库备份文件(*.1),*.1”)

sle_1.text=fname

//cb_2.clicked()

stringmysql,bfname,gzname

ulongsxz=32,kb//sxz为文件的属性值,32暗示可读写

booleantmp

bfname=trim(sle_1.text)

bfname=left(bfname,len(bfname)-2)

//d:lgz为示例中数据库文件地点目次,tmp.db为一时的数据库文件

mysql=“RESTOREDATABASEd:lgz        mp.dbFROM”+bfname+“”

executeimmediate:MysqlUSINGSQLCA;//一样是使用SQL语句来立即实行恢单数据库的事情

ifsqlca.sqlcode<>0then

messagebox(“信息提醒”,数据恢复失利!,information!,OK!)

return

endif

disconnect;//断开数据库毗连

gzname=d:lgzgz.db//包括路径的数据库文件

SetFileAttributes(gzname,sxz)//往失落只读属性

tmp=filedelete(d:lgzgz.db)//删除恢复前的数据库

iftmp=falsethen

messagebox(“信息提醒”,备份失利!,information!,OK!)

return

endif

//将一时的数据库复制到以后的数据库文件上

bfname=“d:lgz        mp.db”

gzname=“d:lgzgz.db”

kb=filecopy(bfname,gzname,true)

ifkb=1then

messagebox(“信息提醒”,数据库恢复乐成!,information!,OK!)

else

messagebox(“信息提醒”,数据库复制失利!,information!,OK!)

return

endif

filedelete(d:lgz        mp.db)//删除一时的数据库文件

connect;

三小结
程序备份和恢复的完成都只是挪用了SQL内置的功效来完成,使程序显得绝对简便。功效固然对照单一和复杂,却也能满意数据库的备份和恢复的事情需求,在请求不高的使用场所可为数据库办理职员勤俭大批精神。上述程序在PB9.0中调试经由过程。

刚安装好的MySql包含一个含空密码的root帐户和一个匿名帐户,这是很大的安全隐患,对于一些重要的应用我们应将安全性尽可能提高,在这里应把匿名帐户删除、root帐户设置密码
作者: 不帅    时间: 2015-1-19 20:55
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
作者: 乐观    时间: 2015-1-25 18:12
如果是将来做数据库的开发设计,就应该详细学习T-SQL的各种细节,包括T-SQL的程序设计、存储过程、触发器以及具体使用某个开发语言来访问数据库。
作者: 灵魂腐蚀    时间: 2015-2-3 12:42
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
作者: 飘飘悠悠    时间: 2015-2-9 00:51
而SQLServer如果能像Oracle一样可以为登陆分配如:5%的cpu,10%的内存。就可以解决这个漏洞。
作者: 谁可相欹    时间: 2015-2-26 16:04
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
作者: 莫相离    时间: 2015-3-8 16:01
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
作者: 蒙在股里    时间: 2015-3-16 04:00
如安全管理、备份恢复、性能监控和调优等,SQL只要熟悉基本操作就可以,只要程序设计部分只要稍加了解即可(如存储过程、触发器等)。
作者: 爱飞    时间: 2015-3-22 20:08
至于淘汰的问题,只能说在你的项目周期之内,微软应该都不会倒闭。
作者: 山那边是海    时间: 2015-3-22 20:08
对于数据库来说,查询是数据库的灵魂,那么SQL查询效率究竟效率如何呢?下文将带对SQL查询的相关问题进行讨论,供您参考。




欢迎光临 仓酷云 (http://www.ckuyun.com/) Powered by Discuz! X3.2