programing

.bak 파일을 SQL 서버의 데이터베이스로 가져옵니다.

codeshow 2023. 4. 7. 21:48
반응형

.bak 파일을 SQL 서버의 데이터베이스로 가져옵니다.

에 대한 파일이 있습니다..bak내선 번호

이 날짜를 SQL Server 데이터베이스로 Import하려면 어떻게 해야 합니까?

SQL Server Management Studio에서

  1. 왼쪽 페인의 [데이터베이스]를 오른쪽 클릭합니다(오브젝트 탐색기).
  2. 데이터베이스 복원...을 클릭합니다.
  3. [ Device ]를 선택하고 을 클릭하여 .bak 파일을 추가합니다.
  4. OK를 클릭한 후 다시 OK클릭합니다.

다 했어요.

DB.bak에 포함된 데이터베이스 파일 목록이 나타납니다.

RESTORE FILELISTONLY 
FROM DISK = 'D:\3.0 Databases\DB.bak' 

이 리스트의 논리명이 필요합니다.MOVE2단계에서의 동작:

RESTORE DATABASE YourDB
FROM DISK = 'D:\3.0 Databases\DB.bak' 

적절한 mdf, ndf 및 ldf 파일을 이동해야 합니다.

With Move 'primarydatafilename' To 'D:\DB\data.mdf', 
Move 'secondarydatafile' To 'D:\DB\data1.ndf', 
Move 'logfilename' To 'D:\DB\log.ldf'

기본 SQL 서버 방법을 사용하여 이러한 데이터베이스 백업 파일을 복원하거나 ApexSQL Restore 도구를 사용하여 파일을 가상으로 빠르게 첨부하고 완전히 복원된 데이터베이스로 액세스할 수 있습니다.

면책사항:ApexSQ에서 제품 지원 엔지니어로 일하고 있습니다.l

데이터베이스 복원... 대신 파일파일 그룹 복원을 선택합니다.

그런 다음 데이터베이스 이름을 입력하고 .bak 파일 경로를 소스로 선택하고 복원 확인란을 선택한 다음 확인을 클릭합니다..bak 파일이 유효하면 동작합니다.

(SQL Server 복원 옵션 이름은 매우 간단한 작업에 대해 직관적이지 않습니다.)

Microsoft SQL Server Management Studio 2019에서 다음을 수행합니다.

여기에 이미지 설명 입력

[데이터베이스 복원(데이터베이스 복원)]창:

  1. 디바이스 선택

  2. Add(추가)를 선택하여 대상 파일 선택

  3. 확인하다

  4. 복원을 확인하는 확인

여기에 이미지 설명 입력

  1. DB를 저장할 서버에 연결
  2. 데이터베이스 오른쪽 클릭
  3. [복원]을 클릭합니다.
  4. [소스] 섹션 아래의 [디바이스]옵션 버튼을 선택합니다.
  5. [Add] 를 클릭합니다.
  6. .bak 파일이 저장된 경로로 이동하여 파일을 선택하고 확인을 클릭합니다.
  7. DB의 대상 입력
  8. DB를 저장할 이름을 입력하십시오.
  9. [확인] 을 클릭합니다.

다 했어요.

그러나 많은 답변에서 설명한 바와 같이 SSMS를 사용하여 데이터베이스를 복원하는 것이 훨씬 쉽습니다.SQL 서버 조회가 포함된 .bak을 사용하여 데이터베이스를 복원할 수도 있습니다.

RESTORE DATABASE AdventureWorks2012 FROM DISK = 'D:\AdventureWorks2012.BAK'
GO

위 쿼리에서는 .mdf/.ldf 파일 위치를 염두에 두어야 합니다.오류가 발생할 수 있습니다.

System.Data.Sql Client.SqlError: "C:\PROGRAM FILES\" 파일의 디렉토리 검색MICROSOFT SQL SERVER\MSSQL.1\MSSQL\DATA\AdventureWorks.MDF"는 OS 에러 3(시스템이 지정된 경로를 찾을 수 없습니다)으로 인해 실패했습니다.(Microsoft)SqlServer.Smo Extended)

따라서 다음과 같이 쿼리를 실행해야 합니다.

RESTORE FILELISTONLY 
FROM DISK = 'D:\AdventureWorks2012.BAK'

Query 위에서 실행하면 mdf/ldf use it query를 사용하여 데이터베이스 복원

USE MASTER
GO
RESTORE DATABASE DBASE 
FROM DISK = 'D:\AdventureWorks2012.BAK'
WITH 
MOVE 'DBASE' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBASE\MSSQL\DATA\DBASE.MDF',
MOVE 'DBASE_LOG' TO 'C:\Program Files\Microsoft SQL Server\MSSQL10_50.DBASE\MSSQL\DATA\DBASE_1.LDF', 
NOUNLOAD,  REPLACE,  NOUNLOAD,  STATS = 5
GO

출처: SQL Server의 .bak 파일에서 데이터베이스 복원(스크립트 사용 및 사용 안 함)

간단하게 사용

sp_restoredb 'Your Database Name' , '복원처'

예: sp_restoredb 'omDB', D:\abc.bak

개발 프로세스에서 데이터베이스를 자주 복원해야 하는 경우 노드 패키지를 사용할 수 있습니다.

인스톨:

npm install -g sql-bak-restore

사용방법:

sql-bak-restore <bakPath> <dbName> <oldDbName> <owner>

인수:

  • bakpath, 파일의 상대 경로 또는 절대 경로
  • dbName - 복원할 데이터베이스(존재하는 경우 이 이름의 데이터베이스는 삭제됩니다!!)
  • oldDbName, 데이터베이스 이름(모르는 경우, 지정 후 실행 가능한 데이터베이스가 표시됩니다.)
  • 소유자, db_owner 권한을 만들고 부여하는 사용자 이름(패스워드 '1')

!! sqlcmd 명령줄 유틸리티는 PATH 변수에 있어야 합니다.

https://github.com/vladimirbuskin/sql-bak-restore/

언급URL : https://stackoverflow.com/questions/1535914/import-bak-file-to-a-database-in-sql-server

반응형