0

저는 vs2010 및 C#으로 Windows 응용 프로그램을 개발했습니다. 프로그래밍 방식으로 로컬 mdf 데이터베이스를 백업하고 복원하는 방법을 알고 싶습니다. sdf 데이터베이스에서는 File Copy를 사용하지만 mdf 파일에서는 작동하지 않습니다. 아무도 도와 줄 수 있습니까?백업 방법 - .mdf 데이터베이스 복원

+0

는 당신이 우리에게 당신의 연결 문자열을 보여줄 수를 사용하여 코드에서 호출 할 수있는 DO_BACKUP라는 저장 프로 시저가? SQL Server (Express) 인스턴스에 연결된 데이터베이스를 사용하고 있는지 여부를 알아야하기 때문에 묻습니다.이 경우에는 Steve의 완벽한 대답을 참조하십시오. 또는 "자유 부동 ".mdf 파일은 요청시에만 첨부됩니다. –

+0

지연 시간 동안 유감스럽게 생각합니다."free-floating ".mdf를 사용하고 있습니다. – MarcusV

+0

여기 내 연결 문자열입니다. connectionString ="데이터 원본 =. \ SQLEXPRESS; AttachDbFilename = | DataDirectory | \ Database1.mdf; 통합 보안 = True, 사용자 인스턴스 = True "providerName ="System.Data.SqlClient " – MarcusV

답변

2

이 방법으로 시도 :

  • 이동는 SQL 관리 Studio와 당신이 백업
  • 오른쪽 클릭 할 데이터베이스를 선택하고 '작업'을 선택 - 매개 변수를 조정> '백업'
  • 을 원한다면 대화 상자를 확인하지 마십시오.
  • SCRIPT 버튼을 눌러 대화 상자를 닫습니다.
  • 쿼리 창에서 다음 텍스트를 ba 앞에 삽입하십시오 명령

    CREATE PROCEDURE DO_BACKUP 
    AS 
    BEGIN 
        -- HERE GOES THE BACKUP TEXT CREATED BY THE SCRIPT BUTTON 
        -- FOR EXAMPLE 
        BACKUP DATABASE [Customers] 
        TO DISK = N'E:\backups\customers.bak' 
        WITH NOFORMAT, NOINIT, 
        NAME = N'Customers - Full Database Backup', 
        SKIP, NOREWIND, NOUNLOAD, STATS = 10 
    END 
    

을 ckup 및 느낌표 버튼을 사용하여 (올바른 데이터베이스를 선택하는) 실행한다. 이제

당신이 정상적인 ADO.NET의 SqlConnection 같은 객체와 SqlCommand

+0

작동 여부 - *** IF *** 데이터베이스가 SQL Server 인스턴스에 연결되어 있습니다. 이 질문에서 OP는 데이터베이스가 인스턴스에 연결되어 있지 않다고 가정하지만 필요에 따라 SQL Server Express의 사용자 인스턴스에 연결되는 "자유롭게 움직이는".mdf 파일로 가정합니다. 이 경우 불행히도이 방법은 효과가 없습니다. –

+0

Thanks @ marc_s 글 머리 기호 목록 뒤에 코드가 오면 항상 길을 잃어 버립니다. – Steve

+0

그냥 (적어도 4 자로) 적어도 8 자 들여 쓰기 –