Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 用vb.net备份sqlserver数据库_Sql Server_Vb.net_Backup - Fatal编程技术网

Sql server 用vb.net备份sqlserver数据库

Sql server 用vb.net备份sqlserver数据库,sql-server,vb.net,backup,Sql Server,Vb.net,Backup,我在vb.net中编写了一些代码来备份本地计算机上的数据库。在许多计算机中,它工作没有问题。但在特定的计算机中,我遇到了以下错误:““超时已过期。在操作完成之前超时已过,或者服务器没有响应,备份或还原已中止。” 有了SQL server管理,我可以毫无问题地进行备份,但我的代码有问题 Private Sub backupdatebase() Dim cnn_str As String=“数据源=mycomputer\rb;数据库=Master;集成安全=SSPI;” Dim\u backupFi

我在vb.net中编写了一些代码来备份本地计算机上的数据库。在许多计算机中,它工作没有问题。但在特定的计算机中,我遇到了以下错误:““超时已过期。在操作完成之前超时已过,或者服务器没有响应,备份或还原已中止。” 有了SQL server管理,我可以毫无问题地进行备份,但我的代码有问题

Private Sub backupdatebase()
Dim cnn_str As String=“数据源=mycomputer\rb;数据库=Master;集成安全=SSPI;”
Dim\u backupFileName为String=“d:\backup.bak”
Dim查询为String=“备份数据库rb\u db TO DISK=”&\u backupFileName&“WITH INIT”
Dim cnn作为新的SqlConnection(cnn_str)
Dim cmd作为新的SqlCommand(查询,cnn)
尝试
如果cnn.State=ConnectionState.Closed,那么cnn.Open()
cmd.ExecuteNonQuery()
MsgBox(“备份成功!”)
特例
Show(“备份失败!”&vbNewLine&Err.Description,“Error”,MessageBoxButtons.OK,MessageBoxIcon.Error)
结束尝试
端接头

A
SqlCommand
默认值为30秒。如果指定的操作未在该时间段内完成,将引发异常

如果操作需要30秒以上才能完成,请将
命令超时设置为更大的值。执行时间取决于系统硬件和当前负载


我不确定,但我怀疑备份仍然会执行,即使应用程序引发了该异常。

默认情况下,
SqlCommand
CommandTimeout
值为30秒。如果指定的操作未在该时间段内完成,将引发异常

如果操作需要30秒以上才能完成,请将
命令超时设置为更大的值。执行时间取决于系统硬件和当前负载


我不确定,但我怀疑备份仍将执行,即使应用程序引发了该异常。

是的,首先我可以看到备份的文件,但在出现错误后,文件立即被自动删除。是的,我已将超时更改为90,数据库已成功备份。数据库的大小约为6 Gb。谢谢您的帮助。@Alireza如果此答案解决了您的问题,请单击答案左侧的复选标记(勾号)接受。这将有助于未来的读者,并为您赢得几次机会。是的,首先我可以看到备份的文件,但在出现错误后,文件会立即自动删除。是的,我已将超时时间更改为90,并且数据库已成功备份。数据库的大小约为6 Gb。谢谢您的帮助。@Alireza如果此答案解决了您的问题,请单击答案左侧的复选标记(勾号)接受。这将有助于未来的读者,并为您赢得一些销售机会。