Chamuanza Posted September 18, 2014 Report Share Posted September 18, 2014 Um Bem Aja Pretendo fazer uma copia dos Ficheiros da BD SQL para uma pasta quando saio da aplicação Tentei este código, como teste mas da-me um erro "Os ficheiros estão a ser usados por outro processo" // My.Computer.FileSystem.CopyFile("D:\DespesasFamiliaresVB2008\Receitas Despesas Familiares\Receitas Despesas Familiares\bin\Debug\ReceitaDespesa.mdf", "D:\CopiaBD_SQL\ReceitaDespesa.mdf", True) My.Computer.FileSystem.CopyFile("D:\DespesasFamiliaresVB2008\Receitas Despesas Familiares\Receitas Despesas Familiares\bin\Debug\ReceitaDespesa_log.ldf", "D:\CopiaBD_SQL\ReceitaDespesa_log.ldf", True) É possivel fazer como pretendo? Link to comment Share on other sites More sharing options...
nelsonr Posted September 18, 2014 Report Share Posted September 18, 2014 Esses ficheiros estão em uso pelo SQL Server. É melhor executares um comando de backup (usas o sqlcommand(...).executenonquery, usando o comando SQL de backup) Link to comment Share on other sites More sharing options...
gastao Posted September 18, 2014 Report Share Posted September 18, 2014 faz desta forma: Dim consql As System.Data.SqlClient.SqlConnection = New System.Data.SqlClient.SqlConnection("Data Source='" & TeuServidorSQL & "'; Integrated Security=false; User Id='" & teuusersql & "';Password='" & passwordsql & "';") Dim comando As New SqlCommand() comando.Connection = consql comando.CommandText = "BACKUP DATABASE " & NomeBasedados & " to Disk = '" & directoriaquedesejas + "\nomebakcup.bak" & "'" consql.Open() comando.CommandTimeout = 800 comando.ExecuteNonQuery() Link to comment Share on other sites More sharing options...
vastri Posted September 19, 2014 Report Share Posted September 19, 2014 olá, testei a solução do gastao mas esta a dar erro: directoriaquedesejas = "C:" Erro: Additional information: Cannot open backup device 'C:\nomebakcup.bak'. Operating system error 5(failed to retrieve text for this error. Reason: 15105). Qual a razão do erro? Cannot open backup device!! Link to comment Share on other sites More sharing options...
nelsonr Posted September 19, 2014 Report Share Posted September 19, 2014 Esse erro indica que o SQL Server não tem acesso ao c:\ para escrever. Link to comment Share on other sites More sharing options...
vastri Posted September 19, 2014 Report Share Posted September 19, 2014 olá nelsonr, tentei em várias diretorias o erro é sempre o mesmo!!! desculpa chamuanza por estar a intrometer-me sem solução, espero não distorcer a razão do tópico. Link to comment Share on other sites More sharing options...
nelsonr Posted September 19, 2014 Report Share Posted September 19, 2014 Experimenta criar uma pasta do tipo c:\backup e nas propriedades da pasta, dá permissão total a todos Link to comment Share on other sites More sharing options...
vastri Posted September 19, 2014 Report Share Posted September 19, 2014 criei a pasta permissão total, partilha...tudo livre, o resultado é o mesmo! andei a pesquisar umas coisas não percebi bem mas pareceu-me que a variável poderia influenciar, tinha: Dim directoriaquedesejas As String= "C:\backup" mudei para: Dim directoriaquedesejas As Char = "C:\backup" e o resultado da variável passo a: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\C\nomebakcup.bak esquisito!!! de qualquer forma isto não deve ter nada a ver Link to comment Share on other sites More sharing options...
nelsonr Posted September 19, 2014 Report Share Posted September 19, 2014 Pois, não tem nada a ver. Tens o servidor SQL na mesma maquina onde a aplicação está a ser executada? Link to comment Share on other sites More sharing options...
vastri Posted September 19, 2014 Report Share Posted September 19, 2014 o nada a ver, já calculava 😁 sim tenho o servidor SQL instalado na mesma maquina, mas as bd que estou a tentar fazer o backup está num servidor (on-line) o que talvez também não tenha nada a ver... Link to comment Share on other sites More sharing options...
nelsonr Posted September 19, 2014 Report Share Posted September 19, 2014 A tua aplicação está a tentar fazer um comando backup de uma base de dados num servidor online? Caso seja isso, então o servidor SQL que estás a usar não está na tua maquina. Caso seja isso, estás a tentar gravar no disco do servidor online. É nesse servidor que tem de existir a pasta c:\backup com acesso Link to comment Share on other sites More sharing options...
vastri Posted September 19, 2014 Report Share Posted September 19, 2014 Pois, fiz uma confusão do caraças, estava a tentar fazer o backup do servidor online na minha maquina, fica a pergunta será isto possível via código? Testei com uma base de dados do servidor SQL da maquina e claro funcionou. Link to comment Share on other sites More sharing options...
nelsonr Posted September 19, 2014 Report Share Posted September 19, 2014 Depende de como tens o alojamento. Se for num servidor partilhado o mais certo é não teres acesso. E não tens um painel de controlo com uma opção para fazer backups ? Link to comment Share on other sites More sharing options...
vastri Posted September 19, 2014 Report Share Posted September 19, 2014 era mesmo essa situação que eu queria contornar 🙂 , é alojamento partilhado e não há hipóteses de fazer backups tem sempre que ser solicitado, cada vez que preciso la tenho que enviar email e aguardar. Link to comment Share on other sites More sharing options...
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