用vfp能否备份sqlserver 数据库,如何备份?

zcsone 2003-09-24 09:32:50
用vfp能否备份sqlserver 数据库,如何备份?
...全文
50 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
ishxb 2003-10-18
  • 打赏
  • 举报
回复
友情帮顶
zhongyj 2003-09-30
  • 打赏
  • 举报
回复
*下面的代碼可以將SQL上的數據完全備份到DBF文件中,索引,約束,觸發器等要另外處理
local backupdir,talias,fulltn,sql_string,nerror

backupdir="d:\backup\" && 可自定
? SQLTABLES(sqlhandle, "'TABLE'", "tablelist") && 需初始化SQL連接句柄sqlhandle
=afield(ta)
scan
fulltn=alltrim(eval(ta[1,1]))+".["+alltrim(eval(ta[2,1]))+"]."+alltrim(eval(ta[3,1]))
talias=alltrim(eval(ta[3,1]))
wait window "正在備份"+fulltn+",請稍等..." nowait
sql_string="select * from "+fulltn
nerror=sqlexec(sqlhandle,sql_string,talias)
IF nerror<0
=aerror(error_a)
MESSAGEBOX("出錯信息:"+chr(13)+error_a(1,3),16,"SQL錯誤")
exit
Else
copy to (backupdir+talias+".dbf")
use
Endif
select tablelist
endscan
wait clear
use in tablelist
newfang 2003-09-29
  • 打赏
  • 举报
回复
SQL数据库备份可以调用它的一个存储过程,具体名字这会忘了……Sorry!!
heavenmusic 2003-09-29
  • 打赏
  • 举报
回复
我看用VB,是用BACKUP....
qufusongyu 2003-09-28
  • 打赏
  • 举报
回复
可以设置调度来实现自动备份。但在sqlserver必须装在winnt或2000下,在win98/me下不会实现调度的。
qufusongyu 2003-09-28
  • 打赏
  • 举报
回复
1、sqlserver本身就有这个命令语句,这就意味着可以用spt发送命令来备份数据,就像在sqlserver那样整体备份的,基本上sqlserver菜单上的所有功能在sqlserver中都可用程序实现。
2、我的程序中用的数据备份模块的备份的代码:
With Thisform
If Empty(.ETSQLPATH.Value)
Messagebox('备份路径不能为空!',16,'错误')
.ETSQLPATH.SetFocus
Return
Endif
NSQLPATH = Left(Alltrim(.ETSQLPATH.Value),Rat('\',Alltrim(.ETSQLPATH.Value)))
If Not Directory("&nSQLPath") Then
If Messagebox('该目录不存在,你要建立吗?',36,'目录不存在!') = 7
Return
Endif
Md &nSQLPath
If Not Directory("&nSQLPath") Then
Messagebox('创建目录失败,你录入的目录是非法目录!请重新录入新目录',16,'非法目录')
.ETLOCAPATH.SetFocus
.ETLOCAPATH.SelStart = 0
.ETLOCAPATH.SelLength = Len(.ETLOCAPATH.Value)
.ETSQLPATH.SetFocus
Return
Endif
Endif

Wait Window Nowait '正在将帐套备份到' + Alltrim(.ETSQLPATH.Value) + '...'
CSTR = 'Backup Log [' +'YDGL'+ '] With No_log'
HANDLE1 = SQLEXEC(nhandle,CSTR)
If HANDLE1 < 1
= Messagebox('网络连接故障或网络忙,请稍后再试!',64,'提示')
.PRESS.Value = 0
Return
Endif
.PRESS.Value = 50
BACKUPSTR = ;
'BackUp Database [' + 'YDGL' + "] To disk=N'" + ;
ALLTRIM(.ETSQLPATH.Value) + "' With Init,name=N'databak',skip,noformat"
HANDLE1 = SQLEXEC(nhandle,BACKUPSTR)
If HANDLE1 < 1
Messagebox('备份出错!请与系统管理员联系.',16,'错误')
.PRESS.Visible = .F.
.PRESS.Value = 0
Return
Endif
.PRESS.Value = 90
.PRESS.Value = 100
Messagebox('备份成功!',64,'成功')
Endwith
heavenmusic 2003-09-25
  • 打赏
  • 举报
回复
sqlserver,好象可以设置自动备份!!

magnetmoon 2003-09-25
  • 打赏
  • 举报
回复
可能要一個一個表來備份,無法像Sql Server那樣整體備份

2,723

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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