怪异的SqlServer备份

遇到一个SqlServer的怪异问题,裹足不前,请各路大侠帮忙一看。

通过ODBC访问SqlServer 2005,执行备份语句,

use master backup database XXX to disk 'c:\ab.dat'

然后眼睁睁看着备份文件生成,然后自动又消失。实在摸不着头脑。

 

PS:

  程序是C++的,登录用户不是SA,是新建立的一个拥有管理员权限的用户。同时这个程序和服务器不在同一个OS。

 

这个问题据说上次有人遇到过,解决方式是让工作线程等待几秒钟。但是据我的观察,语句执行完毕后,不等连接关闭,备份文件自动就消失了。。。。。

太神奇了。

同样的语句,在数据库管理器中执行时没有问题的。

坐等各路大侠拔刀相助。

 

找到解决方案:
首先,为什么文件会自动删除,应该是Sql2005 Native Client执行完backup命令后,会有一个通信等待一个事件,应该是服务器给客户端送点东西,如果等不到,就把完成的工作取消了。
解决方案,我在ODBC调用中,执行完sql语句之后,在调用
SQL_API SQLRowCount(SQLHSTMT StatementHandle, SQLLEN* RowCount);
之前,调用Sleep,就OK了。又是曲线救国
 

 

原文链接: https://www.cnblogs.com/aqhistory/archive/2010/05/21/1741044.html

欢迎关注

微信关注下方公众号,第一时间获取干货硬货;公众号内回复【pdf】免费获取数百本计算机经典书籍

    怪异的SqlServer备份

原创文章受到原创版权保护。转载请注明出处:https://www.ccppcoding.com/archives/11063

非原创文章文中已经注明原地址,如有侵权,联系删除

关注公众号【高性能架构探索】,第一时间获取最新文章

转载文章受原作者版权保护。转载请注明原作者出处!

(0)
上一篇 2023年2月7日 上午12:43
下一篇 2023年2月7日 上午12:44

相关推荐