请高手帮忙!编程实现sqlserver备份路径问题,解决送400分!!

时间:2021-03-09 10:12:55
编程实现sqlserver的备份路径的选择,因为sqlserver的备份路径设置的是默认的服务器的路径,所以我想实现对服务器路径的选择,就像sqlserver管理器中备份的选择路径窗口同样的功能。

16 个解决方案

#1


在客户端实现上述功能。

#2


问题你已经很清楚了,估计这里没有人能够给你答案。

我的办法是:给它一字串(文件路径),再自动依据日期给一个备份的文件名,组合起来做备份。

文件路径(对应的是服务器端的)的字串我保存在客户端的InI文件中,下次备份的时候就有了缺省的路径了。。。(这样算是解决了部分问题吧。。。)

#3


有难度,关注先!

#4


我的方法是在Master建三个存贮过程(分别为备份主数据库,用户数据库,用户数据库日志),再建三个作业,自动备份。并将备份信息写入主数据库的表中。用户可以根据表中记录恢复到任何一个备份点。
如果想从客户端读取服务器端的文件夹结构,并显示给用户选择只怕不行。
我想备份应该是自动的(最好是一天一次完整备份,一小时一次差异备份),不应该让用户干预,要知道用户是很懒很健忘的。

#5


如果自动备份的话,无法确认服务器的磁盘空间的大小,所以备份的时候可能会失败,而且只能备份到c:盘下,因为你无法保证每个服务器都有别的盘符。

#6


我没做过sql的数据库备份,网上的例子很多!你找找看有没有你这样方法实现的!

#7


如果自动备份的话,无法确认服务器的磁盘空间的大小,所以备份的时候可能会失败,而且只能备份到c:盘下,因为你无法保证每个服务器都有别的盘符。
------------------------------------------------------------
不好意思,我做的软件只给固定的客户,一般服务器的盘符是已知的。至于空间的问题一般是要求用户定期(一个月或一季度)清理旧记录(备份到磁带或刻盘)。

#8


在服务器上建一个目录(任意位置),自动备份在服务器上。

#9


我这里有源代码,需要的华可以交换。请访问我的网站。

#10


楼主要的只能自己用C++写了。
我的方法与jacksu19(梦幻影像) 类似:
做一个数据备份窗口.放两个单行编辑器一个要求输入备份路径,一个输入备份文件名,直接调用BUCKUP语句 

#11


关注

#12


这里有个VB的例子
你试试看能不能转换成PB的

http://www.playicq.com/dispdocprow.php?id=1218

#13


string str_pathname,str_filename
integer int_rtn
string ls_path, ls_file,ls_path_first
ls_path_first= GetCurrentDirectory( )
int_rtn=GetFileSaveName("选择数据库备份路径及名称名", str_pathname ,str_filename,"bak","All Files (*.*),*.*" , s_data_bk)
if int_rtn=1 then st_15.text=str_pathname
ChangeDirectory(ls_path_first)

#14


先放一个按钮!
按钮的代码如上!

#15


string ls_savefilename,ls_pathfilename,ls_format,sqlStr
int li_rc

ls_format = ls_format + '所有文件(*.*),*.*'

li_rc = GetFileSaveName("", &
ls_pathfilename,ls_savefilename,"",ls_format) //"Text Files (*.TXT),*.TXT,Doc Files (*.DOC), *.DOC")
if li_rc <> 1 then return

if FileExists(ls_savefilename) then
if messagebox('另存为:','文件“'+ls_savefilename+'”已经存在,覆盖该文件吗?',question!,okcancel!,1) = 2 then 
return 
end if
end if

savefilename就可以直接当作备份路径来用!~

#16


双机热备或磁盘阵列,那有写程序备份的,靠。

#1


在客户端实现上述功能。

#2


问题你已经很清楚了,估计这里没有人能够给你答案。

我的办法是:给它一字串(文件路径),再自动依据日期给一个备份的文件名,组合起来做备份。

文件路径(对应的是服务器端的)的字串我保存在客户端的InI文件中,下次备份的时候就有了缺省的路径了。。。(这样算是解决了部分问题吧。。。)

#3


有难度,关注先!

#4


我的方法是在Master建三个存贮过程(分别为备份主数据库,用户数据库,用户数据库日志),再建三个作业,自动备份。并将备份信息写入主数据库的表中。用户可以根据表中记录恢复到任何一个备份点。
如果想从客户端读取服务器端的文件夹结构,并显示给用户选择只怕不行。
我想备份应该是自动的(最好是一天一次完整备份,一小时一次差异备份),不应该让用户干预,要知道用户是很懒很健忘的。

#5


如果自动备份的话,无法确认服务器的磁盘空间的大小,所以备份的时候可能会失败,而且只能备份到c:盘下,因为你无法保证每个服务器都有别的盘符。

#6


我没做过sql的数据库备份,网上的例子很多!你找找看有没有你这样方法实现的!

#7


如果自动备份的话,无法确认服务器的磁盘空间的大小,所以备份的时候可能会失败,而且只能备份到c:盘下,因为你无法保证每个服务器都有别的盘符。
------------------------------------------------------------
不好意思,我做的软件只给固定的客户,一般服务器的盘符是已知的。至于空间的问题一般是要求用户定期(一个月或一季度)清理旧记录(备份到磁带或刻盘)。

#8


在服务器上建一个目录(任意位置),自动备份在服务器上。

#9


我这里有源代码,需要的华可以交换。请访问我的网站。

#10


楼主要的只能自己用C++写了。
我的方法与jacksu19(梦幻影像) 类似:
做一个数据备份窗口.放两个单行编辑器一个要求输入备份路径,一个输入备份文件名,直接调用BUCKUP语句 

#11


关注

#12


这里有个VB的例子
你试试看能不能转换成PB的

http://www.playicq.com/dispdocprow.php?id=1218

#13


string str_pathname,str_filename
integer int_rtn
string ls_path, ls_file,ls_path_first
ls_path_first= GetCurrentDirectory( )
int_rtn=GetFileSaveName("选择数据库备份路径及名称名", str_pathname ,str_filename,"bak","All Files (*.*),*.*" , s_data_bk)
if int_rtn=1 then st_15.text=str_pathname
ChangeDirectory(ls_path_first)

#14


先放一个按钮!
按钮的代码如上!

#15


string ls_savefilename,ls_pathfilename,ls_format,sqlStr
int li_rc

ls_format = ls_format + '所有文件(*.*),*.*'

li_rc = GetFileSaveName("", &
ls_pathfilename,ls_savefilename,"",ls_format) //"Text Files (*.TXT),*.TXT,Doc Files (*.DOC), *.DOC")
if li_rc <> 1 then return

if FileExists(ls_savefilename) then
if messagebox('另存为:','文件“'+ls_savefilename+'”已经存在,覆盖该文件吗?',question!,okcancel!,1) = 2 then 
return 
end if
end if

savefilename就可以直接当作备份路径来用!~

#16


双机热备或磁盘阵列,那有写程序备份的,靠。