gastao 0 Denunciar mensagem Publicado 26 de Dezembro de 2012 (editado) 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) Editado 26 de Dezembro de 2012 por Rechousa Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
NunoDinis 40 Denunciar mensagem Publicado 26 de Dezembro de 2012 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 Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Rechousa 66 Denunciar mensagem Publicado 26 de Dezembro de 2012 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 Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
gastao 0 Denunciar mensagem Publicado 26 de Dezembro de 2012 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. Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
NunoDinis 40 Denunciar mensagem Publicado 26 de Dezembro de 2012 (editado) 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 é Editado 26 de Dezembro de 2012 por NunoDinis Estranha forma de vida que tem a capacidade de transformar comandos em mensagens de erro. ndsotware.org Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
gastao 0 Denunciar mensagem Publicado 26 de Dezembro de 2012 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... Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Caça 24 Denunciar mensagem Publicado 26 de Dezembro de 2012 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 Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
gastao 0 Denunciar mensagem Publicado 26 de Dezembro de 2012 (editado) caça fiz da seguinte maneira comando.commandtimeout = 6000 comando.ExecuteNonQuery() e da me a mesma situação... Editado 26 de Dezembro de 2012 por apocsantos geshi Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Caça 24 Denunciar mensagem Publicado 26 de Dezembro de 2012 Tens de alterar na Connection. Pedro Martins Não respondo a duvidas por PM Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
gastao 0 Denunciar mensagem Publicado 26 de Dezembro de 2012 (editado) da me uma dica como poderei fazer?? o que eu andei a pesquisar era aquilo que coloquei... Editado 26 de Dezembro de 2012 por gastao Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Caça 24 Denunciar mensagem Publicado 26 de Dezembro de 2012 (editado) 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.. Editado 26 de Dezembro de 2012 por apocsantos geshi Pedro Martins Não respondo a duvidas por PM Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
gastao 0 Denunciar mensagem Publicado 26 de Dezembro de 2012 (editado) 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* Editado 26 de Dezembro de 2012 por apocsantos geshi Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
Caça 24 Denunciar mensagem Publicado 26 de Dezembro de 2012 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 Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites
gastao 0 Denunciar mensagem Publicado 26 de Dezembro de 2012 (editado) 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() Editado 26 de Dezembro de 2012 por apocsantos geshi Partilhar esta mensagem Ligação para a mensagem Partilhar noutros sites