gastao Posted December 26, 2012 at 05:18 PM Report #488462 Posted December 26, 2012 at 05:18 PM (edited) boas tou a executar uma rotina para fazer o backup de uma base de dados so que se a base de dados for superior a 1,5 gb da erro. tou a usar o seguinte codigo: ProgressBar1.Maximum = 2 ProgressBar1.Step = 1 ProgressBar1.PerformStep() Dim strIniFile As String = My.Application.Info.DirectoryPath & "\config.ini" 'Le qual o caminho das Facturas escrito no Ini Dim bdsql As String = GetIniSetting("CaminhoBaseDados", "BackupsSQL", strIniFile) Dim bdnome As String = GetIniSetting("NomeBaseDados", "BackupsSQL", strIniFile) Dim bduser As String = GetIniSetting("User", "BackupsSQL", strIniFile) Dim bdpass As String = GetIniSetting("Password", "BackupsSQL", strIniFile) Dim caminhobk As String = GetIniSetting("Caminho", "BackupsSQL", strIniFile) ProgressBar1.PerformStep() Dim consql As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source='" & bdsql & "'; Integrated Security=false; User Id='" & bduser & "';Password='" & bdpass & "';") Dim comando As New SqlCommand() comando.Connection = consql comando.CommandText = "BACKUP DATABASE " & bdnome & " to Disk = '" & caminhobk + "\SBACKUP.bak" & "'" consql.Open() comando.ExecuteNonQuery() consql.Close() Timer1.Enabled = True MsgBox("Backup Realizado com Sucesso.", MsgBoxStyle.Information) Edited December 26, 2012 at 05:25 PM by Rechousa
NunoDinis Posted December 26, 2012 at 05:23 PM Report #488463 Posted December 26, 2012 at 05:23 PM Põe isso em tag (VB.NET, creio). Posta o erro.. Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
Rechousa Posted December 26, 2012 at 05:25 PM Report #488465 Posted December 26, 2012 at 05:25 PM Viva, E qual é o erro que te dá? Não será falta de espaço em disco? Ao executares o mesmo comando (backup database) através do Management Studio, este funciona ou também dá erro? Pedro Martins Sharing is Knowledge! http://www.linkedin.com/in/rechousa
gastao Posted December 26, 2012 at 05:39 PM Author Report #488468 Posted December 26, 2012 at 05:39 PM Tempo limite expirou. O período de tempo limite esgotou-se antes da conclusão da operação ou o servidor não está a responder. The backup or restore was aborted. eu ao fazer o backup da base de dados com tamanhos pequenos da sem problemas Tempo limite expirou. O período de tempo limite esgotou-se antes da conclusão da operação ou o servidor não está a responder. The backup or restore was aborted.
NunoDinis Posted December 26, 2012 at 05:43 PM Report #488470 Posted December 26, 2012 at 05:43 PM (edited) Experimenta fazer sem a ProgressBar. E qual é o erro que te dá? Não será falta de espaço em disco? Foi a primeira coisa em que pensei, mas pelos vistos não é 🙂 Edited December 26, 2012 at 05:43 PM by NunoDinis Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org
gastao Posted December 26, 2012 at 05:48 PM Author Report #488472 Posted December 26, 2012 at 05:48 PM nao nao tem nada a ver mesmo com a progressbar, isso tem a ver com o timeout do SQL quase de certeza, pois eu com base de dados de 100mb e 200mb ate 700mb faço backup's na boa, agora bases de dados mais puxadas ta me a dar erros...
Caça Posted December 26, 2012 at 05:53 PM Report #488473 Posted December 26, 2012 at 05:53 PM Tens de aumentar o TimeOut da tua Connection, por defeito deve estar a 30 e basta que o backup demore mais de 30 segundos a executar que dá-te um timeout. Pedro Martins Não respondo a duvidas por PM
gastao Posted December 26, 2012 at 05:59 PM Author Report #488475 Posted December 26, 2012 at 05:59 PM (edited) caça fiz da seguinte maneira comando.commandtimeout = 6000 comando.ExecuteNonQuery() e da me a mesma situação... Edited December 26, 2012 at 06:36 PM by apocsantos geshi
Caça Posted December 26, 2012 at 06:02 PM Report #488477 Posted December 26, 2012 at 06:02 PM Tens de alterar na Connection. Pedro Martins Não respondo a duvidas por PM
gastao Posted December 26, 2012 at 06:07 PM Author Report #488478 Posted December 26, 2012 at 06:07 PM (edited) da me uma dica como poderei fazer?? o que eu andei a pesquisar era aquilo que coloquei... Edited December 26, 2012 at 06:08 PM by gastao
Caça Posted December 26, 2012 at 06:09 PM Report #488480 Posted December 26, 2012 at 06:09 PM (edited) Tens de colocar mais um parâmetro na tua ConnectionString, tipo Connection Timeout=x Onde tem x coloca os segundos que queres. Acho que se colocares 0 nunca dá TimeOut mas não tenho a certeza.. Edited December 26, 2012 at 06:37 PM by apocsantos geshi Pedro Martins Não respondo a duvidas por PM
gastao Posted December 26, 2012 at 06:11 PM Author Report #488481 Posted December 26, 2012 at 06:11 PM (edited) vou testar ja te dou feedback... mas acho que tambem se colocar commando = CommandTimeout = 600 (+- 10 min) nao rebenta e funciona tou a testar ja te dou feedback sim com o commando = Commandtimeout = 600 comando.executenonquery() funciona 5* Edited December 26, 2012 at 06:37 PM by apocsantos geshi
Caça Posted December 26, 2012 at 06:17 PM Report #488485 Posted December 26, 2012 at 06:17 PM Funciona com isso se tiver na ConnectionString o que te indiquei, ou não? Mostra o teu código actual. Pedro Martins Não respondo a duvidas por PM
gastao Posted December 26, 2012 at 06:26 PM Author Report #488488 Posted December 26, 2012 at 06:26 PM (edited) desta forma está a funcionar ok: Dim consql As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source='" & bdsql & "'; Integrated Security=false; User Id='" & bduser & "';Password='" & bdpass & "';") Dim comando As New SqlCommand() comando.Connection = consql comando.CommandText = "BACKUP DATABASE " & bdnome & " to Disk = '" & caminhobk + "\Backup.bak" & "'" consql.Open() comando.CommandTimeout = 600 comando.ExecuteNonQuery() consql.Close() Edited December 26, 2012 at 06:38 PM by apocsantos geshi
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now