pb的备份,还原!急用!谢谢大家!

wht8008 2002-09-06 05:07:54
用pb实现数据库的备份还原,包括整个数据库,数据表,以及带条件数据表的备份还原1
...全文
59 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
ZXJ518 2002-09-08
  • 打赏
  • 举报
回复
我使用SQL server,是新建了一个store procedure,然后在pb里执行
并重载了SQLCA对象,给它加了一个external function,
存储过程很简单,新建一个device,,然后用backup,备份到设备.
恢复用的是run(isqlw)实现的,先生成一个文件,调用isqlw,执行语句,
不过只能在服务器实现
zyunlin 2002-09-08
  • 打赏
  • 举报
回复
DUMP、LOAD命令的使用(Sybase和MS SQL Server)

语法:

dump database 数据库名 to 转储设备名

load database 数据库名 from 转储设备名

要建立“Backup Devices”转储设备名,例如:mydb_bak,d:_bak.dat。使用时:

dump database mydb to mydb_bak

load database mydb from mydb_bak

backup、restore命令的使用(MS SQL Server 7.0)

语法:

backup database [数据库名称] to disk='[具体的备份文件名]'

restore database [数据库名称] from disk='[具体的备份文件名]'

系统数据库恢复(MS SQL Server 7.0)

如果包含系统数据库的坏了,如果你仍然可以启动SQL Server服务,则可以通过RESTORE语句从系统数据库的备份中恢复数据库。方法:

RESTORE DATABASE master form disk='c:(具体的备份文件名)'?

前提是你已经使用如下语句备份系统数据库:

backup database master to disk='c:(具体的备份文件名)'?

如果包含系统数据库的坏了,并且无法启动SQL Server服务,则必须重建系统数据库:

1 重建系统数据库 运行c:.exe,按照提示进行即可,过程中需要系统数据库样本的路径,可在安装光盘中找到;如果要恢复自己的数据库,此过程中必须保证所选的一些选项与以前安装时的一致,例如字符集、排序等。[切记]

2 重建系统数据库后,启动SQL Server服务,用系统数据库的备份恢复数据库就行了,通常恢复顺序为master->msdb->model。在恢复master的备份时要注意:必须在single user模式下进行,有以下几种方法进入单用户模式:

(1)可以在命令行模式下输入sqlservr -c -f -m或者输入sqlservr -m?

其中:-c 可以缩短启动时间,SQL Server 不作为Windows NT的服务启动?

-f 用最小配置启动SQL Server?

-m 单用户模式启动SQL Server?

(2)可以在控制面板-服务-MSSQLServer的启动参数中输入-c -f -m或者输入-m,点击开始?

(3)打开“SQL Server Enterprise Manager”,选中“Server Group”下的所需启动的服务器,在右键菜单中选中“Properties”,修改里面的“Startup Parameters”,添加“-m”参数,重新启动数据库即可。

3 使用sp_attach_db存贮过程将自己的数据库加到“SQL Server Group”中,方法如下:

sp_attach_db @dbname = N'mydb' @filename1 = N'd:.mdf' @filename2 = N'd:.ldf'

其中“mydb”为数据库名称,“filename1,filename2”指定数据库文件名与日志文件名。

BCP命令(Sybase和MS SQL Server)

BCP.EXE {dbtable | query} {in | out | queryout | format} datafile

[-m maxerrors] [-f formatfile] [-e errfile]

[-F firstrow] [-L lastrow] [-b batchsize]

[-n native type] [-c character type] [-w wide character type]

[-N keep non-text native] [-6 6x file format] [-q quoted identifier]

[-C code page specifier] [-t field terminator] [-r row terminator]

[-i inputfile] [-o outfile] [-a packetsize]

[-S server name] [-U username] [-P password]

[-T trusted connection] [-v version] [-R regional enable]

[-k keep null values] [-E keep identity values]

[-h "load hints"]

PB能量建造者曾经有篇文章介绍如何快速生成BCP批处理文件,但还不是很完善,因为它没有考虑数据表可能有多个用户创建,例如有些表的owner是dba,有些则是dbo(却省),有些甚至是用户创建的用户,虽然本人不建议使用多个owner建立数据库,但还是要考虑这种情况,现将语句改为:

产生备份数据批处理文件:

select 'bcp database.' + b.name + '.' + a.name + ' out ' + 'backup/' + a.name + '.out ' + '-n -SServername -Usa -Ppassword' from database..sysobjects a, database..sysusers b where (a.uid = b.uid) and (a.type = 'U')

产生恢复数据批处理文件:

select 'bcp database.' + b.name + '.' + a.name + ' in ' + 'backup/' + a.name + '.out ' + '-n -SServername -Usa -Ppassword' from database..sysobjects a, database..sysusers b where (a.uid = b.uid) and (a.type = 'U')

将上面database换成自己需要备份的数据库名称, -Sservername改为对应SQL Server名称 -Ppassword 将password换成实际sa密码,上面语法是用来备份数据,将第一行中的out改为in即可生成恢复数据的批处理以上可以在Sybase或MS SQL Server的ISQL中执行(MS SQL Server 7.0中ISQL已变为Query Analyzer),然后将执行结果通过剪贴板Copy到记事本(注意不要Copy结果集的标题),保存为Bat文件。在执行最后的Bat文件时,需要在Bat所在目录建立Data子目录,备份的*.out文件将存放在此子目录下。也可以通过PB的Database Administration中执行(需要最后补充;号才可以执行),然后将结果保存为Text类型,改名为Bat文件。

注意:使用BCP时也必须是在单用户模式下进行,执行生成的批处理文件之前,应将“SQL Server Enterprise Manager”、“Query Analyzer”等工具关闭,否则将出现登陆错误。

以上是SQL SERVER和SYBASE 的,ORACLE楼上已经说的很清楚了!
wht8008 2002-09-08
  • 打赏
  • 举报
回复
当然是sql
谢谢兄弟们了
帮帮忙吧
mxlmwl 2002-09-06
  • 打赏
  • 举报
回复
兄弟,什么数据库啊??sql,oracle,asa的源程序网上都有下载,自己仔细参考一下就可以了
ShuiZhongYue 2002-09-06
  • 打赏
  • 举报
回复
以下是ORACLE7.3.3中的方法
备份
run("exp73 用户/密码@数据库别名 full=y buffer=64000 file=文件名 log=日志文件名 ,Minimized! )
复原
run("imp73 用户/密码@数据库别名 full=y buffer=64000 file=文件名)

可以在dos方式下用exp73/?、imp73/?查看详细的参数说明

exp73、imp73这两个命令在不同的ORACLE版本中不太一样
================================================================

CSDN 论坛助手 Ver 1.0 B0402提供下载。 改进了很多,功能完备!

★ 浏览帖子速度极快![建议系统使用ie5.5以上]。 ★ 多种帖子实现界面。
★ 保存帖子到本地[html格式]★ 监视您关注帖子的回复更新。
★ 可以直接发贴、回复帖子★ 采用XML接口,可以一次性显示4页帖子,同时支持自定义每次显示帖子数量。可以浏览历史记录!
★ 支持在线检测程序升级情况,可及时获得程序更新的信息。

★★ 签名 ●
可以在您的每个帖子的后面自动加上一个自己设计的签名哟。

Http://www.ChinaOK.net/csdn/csdn.zip
Http://www.ChinaOK.net/csdn/csdn.rar
Http://www.ChinaOK.net/csdn/csdn.exe [自解压]

小时候的天空 2002-09-06
  • 打赏
  • 举报
回复
pb+sqlserver2000的备份
li_exe="backup database back_database to disk=''"
EXECUTE IMMEDIATE li_exe ;
恢复的我还没有调试成功


ddtid 2002-09-06
  • 打赏
  • 举报
回复
如果是桌面数据库
使用API函数复制拷贝数据库文件就可以了

如果是大型数据库
要用SQL 语句,我没有做过,找本SQL的书看吧

1,109

社区成员

发帖
与我相关
我的任务
社区描述
PowerBuilder 相关问题讨论
社区管理员
  • 基础类社区
  • WorldMobile
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧