2012-01-13 3 views
0

SMO를 사용하여 SQL Server 데이터베이스를 백업하는 데 다음 기능을 사용하고 있습니다.하지만 백업이 실패합니다 ... 나는 그다지 실패하지 않습니다 ... 어떤 도움을 받으셨습니까?SMO 데이터베이스 백업

Private Sub BackupSqlDatabase() 

    Dim conn As New ServerConnection("MONO-PC\SQLEXPRESS") ' -- set SQL server connection given the server name, user name and password 
    Dim oSQLServer As New Server(conn) '--create the SMO server object using connection 

    Dim OrigBackupPath As String = oSQLServer.Information.MasterDBPath.Replace("\DATA", "C:\Backup\DB_BACKUP_NAME.BAK") ' -- set the path where backup file will be stored 

    Dim bkDevItem As New BackupDeviceItem(OrigBackupPath, DeviceType.File) ' -- create SMO.Backupdevice object 

    With oBackup ' Set the backup object property 
     .Action = BackupActionType.Database 
     .Database = "LIC.MDF" 
     .Devices.Add(bkDevItem) 
     .Initialize = True 
     .Checksum = True 
     .ContinueAfterError = True 
     .Incremental = False 
     .LogTruncation = BackupTruncateLogType.Truncate 
     .SqlBackup(oSQLServer) ' backup SQL database 
    End With 

End Sub 
+1

오류가 발생 했습니까? – JNK

+0

backup failed..thats ... 내 PC에 관리 스튜디오가 설치되어 있지 않습니다 ... 그 백업 실패 이유는 무엇입니까 ??? –

+0

연결을 다음과 같이 설정하지 않아도됩니까? Dim conn As 새 ServerConnection ("MONO-PC \\ SQLEXPRESS")'(두 개의 백 슬래시) ?? –

답변

0

사용중인 SQL Server 버전은 무엇입니까? 나는 10.5 (SQL 서버 2008 R2 서비스 팩 1)을 사용했고 SMO 객체는 지원되지 않았습니다.

대신 SQL 호출을 사용합니다.

BACKUP DATABASE DBNAMEHERE TO DISK = 'destPath' WITH FORMAT 
+0

내가 길을 시도하면 ... "Login Failed Error"가 발생합니다. –

+0

Private Sub Button1_Click (System.Object, ByVal e As System.EventArgs) ButtonBackup.Click 'TextBoxBackupDirectory.Text = Application.UserAppDataPath 'BackupSqlDatabase() SqlCommand를 사기꾼 = 새도록 SqlConnection ("데이터 소스로서도록 SqlConnection 희미한에 cmd으로 어둡게 콘은 = 처리 \ SQLEXPRESS;. 초기 카탈로그 = LIC; Trusted_Connection = 예 ") cmd = 새 SqlCommand ("디스크에 백업 데이터베이스 LIC = 'C : \ Backup \ ICLS.bak' ", con) con.Open() cmd.ExecuteNonQuery() con.Close() MsgBox ("LI") End Sub' –

+0

사용자에게 로그인 할 때 데이터베이스에 대한 추가 권한이 필요할 수 있습니다. 테스트하려면 모든 권한을 허용 한 다음 더 이상 작동하지 않을 때까지 각 권한을 사용 불가능하게 설정하십시오. 죄송합니다. 사용자가 필요로하는 정확한 권한을 알지 못하지만 앞으로이 문제를 조사하는 방법을 배우는 데 도움이됩니다. – JeremyK