FAQ-위키

답변:

데이터를 저장하는 두 가지 방법이 있습니다 Recovery Toolbox for SQL Server:

  1. SQL 스크립트를 하드 드라이브에 저장할 수 있으며, 예를 들어 데이터베이스 개체, 테이블을 만들고 이러한 테이블에 데이터를 삽입합니다.
  2. 또한 사용자가 정의한 데이터베이스에서 스크립트를 시작할 수 있으며 이러한 스크립트는 SQL 언어로 작성됩니다.

SQL 스크립트는 동일한 데이터베이스 파일을 기반으로 한다는 사실에도 불구하고 다를 수 있습니다. 이는 ADO를 통해 서버에 직접 연결하기 위해 실행되는 쿼리와 MS SQL Server와 함께 제공되는 쿼리 분석기 환경에서 수행되는 SQL 쿼리(":" 사용, Go 명령 , 등.). 첫 번째 방법은 더 안정적이고 두 번째 방법은 더 편리합니다.

데이터를 스크립트로 변환하고 디스크에 저장

1. 저장된 데이터 매핑

데이터를 디스크에 저장하도록 선택한 경우 Recovery Toolbox for SQL Server는 원본 MDF 파일의 이름을 포함하는 하위 디렉터리를 생성합니다. 이 하위 디렉터리는 사용자 정의 디렉터리에 생성되며 모든 스크립트가 여기에 배치됩니다. 모든 스크립트는 규칙에 따라 이름이 지정되며 이름은 단어와 숫자로 구성됩니다. Word는 스크립트의 역할을 나타내고 숫자는 해당 번호를 나타냅니다. 예를 들어 다음과 같은 많은 스크립트 유형이 있습니다.

  • Types*.sql - 스크립트는 사용자가 정의한 데이터 유형을 생성합니다.
  • Tables*.sql - 스크립트가 테이블을 생성합니다.
  • Indexes*.sql - 스크립트가 기본 키와 인덱스를 생성합니다.
  • ForeignKeys*.sql - 스크립트가 외래 키를 생성합니다.
  • Procedure*.sql - 스크립트는 저장 프로시저를 생성합니다.
  • Function*.sql - 스크립트는 사용자가 정의한 함수를 생성합니다.
  • View*.sql - 스크립트가 보기를 생성합니다.
  • Triggers*.sql - 스크립트가 트리거를 생성합니다.
  • Data*.sql - 스크립트는 테이블에 데이터를 삽입합니다.

스크립트 시퀀스 번호에는 유용한 데이터가 포함되어 있지 않으며 스크립트 실행 시퀀스 또는 기타 정보를 가리키지 않습니다. 이 숫자는 데이터를 분할하고 하나의 큰 파일 대신 다양한 작은 문서에 저장하는 데만 사용됩니다. 사용자는 SQL 스크립트로 파일의 최대 크기를 정의할 수 있습니다. 또한 사용자는 데이터 파일의 번호 매기기에 유의해야 합니다. 데이터 유형의 각 파일에는 하나의 테이블에 대한 데이터만 포함될 수 있습니다. 시퀀스 번호가 있는 파일에는 각 테이블에 대한 모든 데이터가 포함됩니다.

메모: 일부 파일에 숫자가 누락된 경우 일부 테이블에 데이터가 없음을 의미합니다.

2. 스크립트 실행 순서

이 그림에서 스크립트 실행의 권장 순서를 볼 수 있습니다:

스크립트 실행 순서는 테이블의 기존 데이터 및 구조에 대한 기존 제한 사항에 따라 다릅니다. 이러한 요소에 특히 주의하십시오:

  1. 보조 키를 생성하려면 해당 기본 키를 지정하십시오. 이 사실로 인해 이러한 작업은 다른 파일에 저장되며 이 순서로 실행되어야 합니다.
  2. 인덱스 및 보조 키를 생성하기 전에 프로그램이 테이블을 채웁니다. 2차 키가 정의된 테이블을 채울 때 참조 무결성 검사를 수행하므로 필수입니다. 보조 키가 있는 테이블이 해당 기본 키가 있는 테이블보다 먼저 채워지면 오류가 발생합니다. 게다가 이 방법은 또 다른 특징이 있습니다. 복구된 데이터가 기본 키, 고유 인덱스 등과 충돌하는 경우 이 경우에도 테이블은 데이터로 채워지지만 제한 사항(인덱스, 기본 키 등)은 생성되지 않습니다. 사용자가 다른 동작을 요구하는 경우 스크립트 실행 순서를 직접 선택할 수 있습니다.
  3. 데이터베이스에서 프로시저, 함수, 트리거 객체 생성에는 약간의 어려움이 있습니다. 정교하고 까다로운 종속성이 있을 수 있습니다. 절차는 다른 절차를 참조할 수 있고 보기는 기능을 참조할 수 있으며 트리거는 모든 개체를 참조할 수 있습니다. 그렇기 때문에 프로그램이 엉킴을 해결하는 데 도움을 줄 수 없습니다. 사용자는 모든 종속성을 수동으로 찾고 필요한 순서로 SQL 스크립트를 실행해야 합니다. 또 다른 가능성은 모든 오류 메시지가 사라질 때까지 이 그룹의 모든 스크립트를 여러 번 실행하는 것입니다.

3. Install.bat 파일

Install.bat 파일은 모든 스크립트의 자동 실행을 보장하기 위해 생성됩니다. 이 파일은 도구에서 이전에 저장한 모든 스크립트를 실행합니다. 스크립트 실행 순서는 데이터베이스에 적용할 때와 동일합니다. 이 배치 파일은 isqlw 유틸리티를 설치해야 하며 MS SQL Server 클라이언트 부분의 일부입니다. 명시 해주세요 서버 이름, 데이터베이스 이름, 사용자 이름 및 파일의 비밀번호 매개변수 명령줄에서 install.bat. 예를 들어: install.bat SQLServer SQLDatabase SQLUser SQLUserPassword

주목:
  1. 매개변수는 공백으로 구분해야 합니다. 매개변수에 공백 자체가 포함되어 있으면 큰따옴표로 묶어야 합니다.
  2. 매개변수 순서는 수정할 수 없습니다.
  3. 다음으로 데이터를 가져오십시오. NEW EMPTY 데이터베이스. 데이터베이스는 데이터를 가져오기 전에 테이블, 인덱스, 저장 프로시저 등을 포함해서는 안 됩니다.
  4. 만약 install.bat 파일은 매개변수 없이 실행되며 이 파일을 실행하는 방법에 대한 간략한 안내를 볼 수 있습니다.

4. InstallTrusted.bat

Windows 계정을 통해 Microsoft SQL Server에 로그인하려면 InstallTrusted.bat 파일을 사용하세요. InstallTrusted.bat 파일에는 서버 이름, 데이터베이스 이름이라는 두 가지 매개변수가 있습니다.

사용 예: installtrusted.bat SQLServer SQLDatabase Windows 계정을 통한 로그인에 대한 자세한 내용은 여기를 참조하십시오. https://docs.microsoft.com/en-us/sql/relational-databases/security/authentication-access/principals-database-engine?view=sql-server-2017

답변:

여러 소스 파일에서 MS SQL Server 형식의 데이터베이스 복구

MS SQL Server 형식의 데이터베이스에는 하나 이상의 파일이 포함되어 있습니다. 기본 데이터 파일(*.mdf 기본 확장자), 보조 데이터 파일(*.ndf 기본 확장자) 및 트랜잭션 로그 파일(*.ldf 기본 확장자)과 같은 여러 유형의 파일이 있습니다. 다음을 사용하여 데이터를 복구하려면 Recovery Toolbox for SQL Server에서는 모든 보조 데이터 파일과 기본 데이터 파일의 경로를 지정해야 합니다. 파일 열기 대화 상자로 만들 수 있습니다.

무화과.1

손상된 데이터베이스에 기본 데이터 파일, 보조 데이터 파일 및 트랜잭션 로그 파일이 포함된 경우 *.mdf 형식의 기본 데이터 파일과 *.ndf 형식의 모든 보조 데이터 파일을 선택해야 합니다(그림 참조). 2.

무화과.2

답변:

Recovery Toolbox for SQL Server는 랜섬웨어 바이러스에 의해 암호화된 Microsoft SQL Server 데이터베이스 파일의 .MDF/.NDF 파일에서 정보를 부분적으로 또는 완전히 복구할 수 있습니다.

Recovery Toolbox for SQL Server는 데이터를 해독하지 않습니다.

일반적으로 이러한 경우에는 데이터 암호 해독이 적용되지 않습니다.

그러나 SQL Server용 복구 도구 상자는 MDF 파일이 부분적으로 암호화된 경우에 유용할 수 있습니다. 일반적으로 바이러스는 크기가 크기 때문에 파일의 헤더 및/또는 시작 부분만 암호화합니다. 이러한 경우 MDF 파일의 헤더 또는 일부만 암호화된 경우 Recovery Toolbox for SQL Server가 도움이 될 수 있습니다. 프로그램은 파일의 모든 데이터 블록과 수집된 데이터 구조를 분석합니다. 그런 다음 가능한 경우 원래 데이터 구조와 데이터 자체를 다시 만듭니다.

Microsoft SQL Server MDF 파일 구조

랜섬웨어 바이러스의 공격을 받은 후 MDF 파일에서 데이터를 복구할 수 있습니까?

프로그램을 사용하여 데이터의 100% 또는 일부를 복구할 수 있다는 보장은 없습니다. 이 질문에 대한 명확한 답을 얻으려면 Recovery Toolbox for SQL Server의 데모 버전을 다운로드하고 암호화된 MDF 파일을 지정하고 파일 분석이 완료될 때까지 기다려야 합니다.

DEMO 버전의 프로그램에서 .mdf 파일 분석이 완료되면 파일에서 추출할 수 있는 데이터의 전체 미리 보기를 사용할 수 있습니다.

메모:

Recovery Toolbox의 고객 지원 부서는 일반적으로 랜섬웨어 프로그램은 데이터베이스 파일의 크기가 크기 때문에 헤더만 암호화한다고 알려줍니다. 결과적으로 소스 파일에서 거의 전체 데이터 구조와 거의 모든 정보를 복구할 수 있는 경우가 많습니다.

스크립트를 실행한 후 다음 오류가 표시되는 경우:

서버: 메시지 242, 수준 16, 상태 3, 줄 1

[Microsoft][ODBC SQL Server Driver][SQL Server] char 데이터 유형을 datetime 데이터 유형으로 변환하면 datetime 값이 범위를 벗어납니다.

문이 종료되었습니다.

답변:

다음을 수행하여 서버 언어 설정을 변경해야 함을 의미합니다.

  1. Enterprise Manager를 시작합니다.
  2. 필요한 서버를 선택하고 연결하십시오.
  3. 마우스 오른쪽 버튼을 클릭하고 속성을 선택하여 속성 창을 엽니다.
  4. 서버 설정 탭을 엽니다.
  5. 사용자 기본 언어 드롭다운 목록에서 영어를 선택하고 확인을 누릅니다.
  6. SQL 서버를 중지합니다. 이렇게 하려면 상황에 맞는 메뉴에서 중지를 선택하고 SQL Server 서비스를 중지하시겠습니까?라는 질문에 라고 대답합니다. 확인 창.
  7. SQL 서버를 시작합니다. 그렇게 하려면 컨텍스트 메뉴에서 시작을 선택합니다.
  8. 이제 Recovery Toolbox for SQL Server로 하드 드라이브에 저장된 스크립트를 실행할 수 있습니다. 데이터베이스 스크립트 실행 모드에서 프로그램을 실행할 수도 있습니다.
  9. 이제 설정을 복원해야 합니다. 그렇게 하려면 Enterprise Manager에서 필요한 서버의 속성 창을 엽니다.
  10. 사용자 기본 언어 목록에서 기본 언어를 선택하고 확인을 누릅니다.
  11. SQL 서버를 중지합니다. 이렇게 하려면 상황에 맞는 메뉴에서 중지를 선택하고 SQL Server 서비스를 중지하시겠습니까?라는 질문에 라고 대답합니다. 확인 창.
  12. SQL 서버를 시작합니다. 그렇게 하려면 컨텍스트 메뉴에서 시작을 선택합니다.

스크립트를 실행한 후 다음 오류가 표시되는 경우:

서버: 메시지 242, 수준 16, 상태 3, 줄 1

[Microsoft][ODBC SQL Server Driver][SQL Server] char 데이터 유형을 datetime 데이터 유형으로 변환하면 datetime 값이 범위를 벗어납니다.

문이 종료되었습니다.

답변:

다음을 수행하여 서버 언어 설정을 변경해야 함을 의미합니다.

  1. Management Studio를 시작합니다.
  2. 필요한 서버를 선택하십시오.
  3. Security\Logins로 이동합니다.
  4. 데이터베이스를 사용할 사용자를 선택하고 사용자 속성 창을 엽니다.
  5. 사용자 기본 언어 드롭다운 목록에서 영어를 선택하고 확인을 누릅니다.
  6. 이제 Recovery Toolbox for SQL Server로 하드 드라이브에 저장된 스크립트를 실행할 수 있습니다. 또는 데이터베이스 스크립트 실행 모드에서 프로그램을 시작할 수 있습니다.
  7. 이제 설정을 복원해야 합니다. 그러려면 필요한 사용자 Management Studio의 속성 창을 엽니다.
  8. 사용자 기본 언어 목록에서 기본 언어를 선택하고 확인을 누릅니다.

답변:

  1. SQL Server Management Studio 시작
  2. 개체 탐색기에서 데이터베이스를 마우스 오른쪽 버튼으로 클릭합니다.
  3. 첨부
  4. 를 클릭합니다.
  5. 추가 버튼을 클릭
  6. mdf 파일을 선택하고 확인 버튼을 클릭합니다
  7. 확인 버튼을 클릭
  8. 작업이 완료될 때까지 기다립니다.

답변:

이 문제를 해결하려면 다음을 수행해야 합니다:

  1. 데이터를 스크립트로 저장
  2. 명령줄에서 필요한 모든 매개변수와 함께 install.bat 파일을 실행합니다.
  3. 성공적으로 실행되지 않은 스크립트를 찾으려면 응답 파일(*????.sql.txt)을 참조하십시오.
  4. 오류와 함께 실행된 스크립트를 Microsoft SQL Server에서 쿼리 분석기로 로드하고 그곳에서 실행을 시도합니다. 오류 메시지를 받은 후 어떤 명령이 오류를 일으키는지 감지해야 합니다. 이 명령이 값이 없는 데이터를 쓰면 파일에서 간단히 제거할 수 있습니다. 그렇지 않으면 오류와 함께 실행된 스크립트와 쿼리 분석기의 스크린샷을 개발자에게 보내야 합니다. 게다가 나중에 개발자가 문제를 연구할 수 있도록 소스 *.mdf 파일을 개발자에게 보내야 할 수도 있습니다.

답변:

새 서버의 MSDB 데이터베이스에서 데이터 테이블을 복사하거나 복원하는 것만으로는 DTS 패키지를 복원할 수 없습니다. 마이그레이션 전에 패키지가 생성되고 사용된 서버의 실행 컨텍스트에 대한 내부 연결이 있기 때문입니다. 서버 간에 DTS 패키지를 복사하려면 VB 스크립트를 사용해야 합니다. 따라서 SQL Server용 Recovery Toolbox 프로그램은 DTS 패키지 복원에 적합하지 않습니다.

답변:

isqlw.exe 도구는 MS SQL Server 패키지의 구성 요소입니다. 언제든지 Microsoft 사이트에서 최신 버전의 MS SQL Server를 다운로드하고 필요한 구성 요소를 컴퓨터에 설치할 수 있습니다. Microsoft 사이트에서 다운로드한 MS SQL Server의 데모 버전을 통해 EULA에 지정된 기간 내에 구성 요소를 사용할 수 있습니다.

Microsoft.com에서 적절한 도구를 찾을 수 있으면 Query Analyzer를 다운로드하여 설치할 수 있습니다. 우리 웹사이트에서. 다운로드 링크는 다음과 같습니다: https://recoverytoolbox-kr.com/download/isqlwInstall.exe

답변:

대용량 MS SQL Server 데이터베이스를 복구하려면 많은 RAM이 필요합니다. 프로그램 개발자는 여유 물리적 메모리가 충분한 컴퓨터에서 대용량 데이터베이스를 복구할 것을 권장합니다. 프로그램에서 사용하는 물리적 메모리는 복구 중인 파일 크기를 500으로 나눈 값보다 작아서는 안 되며 프로그램 실행을 위해 20-100MB를 추가해야 합니다. 즉, 크기가 100GB인 .mdf 파일을 복구하려는 경우 컴퓨터에 최소한 (100GB / 500) + 120MB = 320MB의 여유 물리적 메모리가 있어야 합니다.

답변:

  • 기본 키 필드의 값이 잘못된 경우(예: 음수이거나 다른 모든 값보다 수십 배 큰 경우) 소스 데이터가 심각하게 손상되었으며 완전히 복구하는 것은 불가능합니다.
  • 기본 키 필드에 중복 값이 표시되면 프로그램이 데이터베이스에서 삭제 표시되어야 하는 데이터(mdf, ndf 파일)가 포함된 시트를 복구했음을 의미합니다. 그러나 실제로 데이터가 있는 시트를 삭제해야 한다는 표시는 없습니다. 따라서 프로그램은 모든 시트에서 데이터를 복구합니다. 이로 인해 데이터가 과도하게 복구되고 Recovery Toolbox for SQL Server 개발자는 과도한 항목을 필터링하기 위한 기준을 찾을 수 없습니다. 이 경우 데이터베이스 관리자 및/또는 소프트웨어 개발자는 삭제해야 하는 복구된 데이터베이스의 과도한 항목에 대한 최종 결정을 내립니다.

답변:

시험판과 등록 사이에 MDF에 추가로 문제가 발생할 수 있습니다(다른 소프트웨어나 다른 것에 의해 복구됨). 다른 컴퓨터에서 이 파일에 대해 데모 버전을 실행하여 확인할 수 있습니다.

답변:

Recovery Toolbox for SQL Server 데이터베이스가 사용된 서버 버전을 자동으로 감지합니다. 따라서 데이터베이스가 MS SQL Server 2000에서 사용된 경우 프로그램은 새 데이터베이스로 가져오기 위해 저장된 스크립트에 isqlw 도구를 작성합니다. 데이터베이스가 MS SQL Server 2005 이상에서 사용된 경우 스크립트에서 sqlcmd 도구가 사용됩니다. 원본 버전과 다른 버전의 서버에 있는 데이터베이스로 데이터를 가져오려면 해당 서버용 도구를 사용해야 합니다:

  • Isqlw - MS SQL 서버 2000용
  • Sqlcmd - MS SQL Server 2005 이상