다음을 통해 공유


스크립트 생성 마법사

적용 대상: SQL Server Azure SQL 데이터베이스 Azure SQL Managed Instance Azure Synapse Analytics Analytics Platform System(PDW)

스크립트 생성 마법사를 사용하여 SQL Server 데이터베이스 엔진, Azure SQL 데이터베이스 또는 Azure SQL 관리형 인스턴스 간에 데이터베이스를 전송하기 위한 스크립트를 만들 수 있습니다. 스크립트는 로컬 네트워크의 데이터베이스 인스턴스에 있는 데이터베이스나 Azure SQL에서 생성할 수 있습니다. 생성된 스크립트는 데이터베이스 엔진의 다른 인스턴스 또는 Azure SQL에서 실행할 수 있습니다. 전체 데이터베이스에 대한 스크립트를 만들거나 특정 개체로 제한할 수 있습니다.

스크립트 생성 마법사 사용에 대한 자세한 자습서는 자습서: 스크립트 생성 마법사를 참조하세요.

필수 조건

원본 및 대상 데이터베이스는 Azure SQL 데이터베이스 또는 Azure SQL 관리형 인스턴스 또는 SQL Server 2005(9.x) 이상 버전을 실행하는 데이터베이스 엔진의 인스턴스에 있을 수 있습니다.

사용 권한

스크립트를 생성할 수 있는 최소 권한은 원본 데이터베이스에서 db_ddladmin 고정 데이터베이스 역할의 멤버 자격입니다.

스크립트 생성 마법사 사용

  1. 개체 탐색기에서 스크립팅할 데이터베이스가 포함된 인스턴스에 대한 노드를 확장합니다.

  2. 스크립트할 데이터베이스를 마우스 오른쪽 단추로 클릭하고 작업>스크립트 생성을 선택합니다.

    스크립트 생성 마법사의 스크린샷.

  3. 마법사 대화 상자를 완료합니다.

소개 페이지

이 페이지에서는 스크립트를 생성하는 단계를 설명합니다.

이 페이지를 다시 표시 안 함 - 다음에 스크립트 생성 마법사를 시작할 때 이 페이지를 표시하지 않습니다.

소개 페이지의 스크린샷.

개체 선택 페이지

이 페이지를 사용하여 이 마법사에서 생성된 스크립트에 포함할 개체를 선택할 수 있습니다.

전체 데이터베이스 스크립팅 옵션 - 데이터베이스의 모든 개체에 대한 스크립트를 생성하고 데이터베이스 자체에 대한 스크립트를 포함하려면 선택합니다.

전체 데이터베이스 스크립트의 스크린샷.

특정 데이터베이스 개체 선택 - 데이터베이스에서 선택한 특정 개체에 대해서만 스크립트를 생성하도록 마법사를 제한하려면 선택합니다.

  • 데이터베이스 개체 - 스크립트에 포함할 개체를 하나 이상 선택합니다.

  • 모두 선택 - 사용 가능한 모든 확인란을 선택합니다.

  • 모두 선택 취소 - 모든 확인란을 선택 취소합니다. 계속하려면 하나 이상의 데이터베이스 개체를 선택해야 합니다.

    특정 스크립트의 스크린샷.

스크립팅 옵션 설정 페이지

이 페이지를 사용하여 마법사가 선택한 위치에 스크립트를 저장할지 여부를 지정할 수 있습니다.

옵션 - 마법사에서 사용자가 선택한 위치에 스크립트를 저장하려면 특정 위치에 스크립트 저장을 선택합니다. 나중에 데이터베이스 엔진 인스턴스 또는 SQL Database에 대해 스크립트를 실행할 수 있습니다.

특정 위치에 스크립트 저장 - 하나 이상의 Transact-SQL 스크립트 파일을 지정한 위치에 저장합니다.

Notebook으로 저장 스크린샷

  • Notebook으로 저장 - 스크립트를 하나 이상의 .sql 파일에 저장합니다. 파일의 이름과 위치를 지정하려면 찾아보기 단추()를 선택합니다.

  • 스크립트 파일로 저장 - 스크립트를 하나 이상의 .sql 파일에 저장합니다. 파일의 이름과 위치를 지정하려면 찾아보기 단추(...)를 선택합니다. 이름이 같은 파일이 이미 있을 경우 해당 파일을 바꾸려면 기존 파일 덮어쓰기 확인란을 선택합니다. 스크립트 생성 방식을 지정하려면 단일 스크립트 파일 또는 개체당 하나의 스크립트 파일을 선택합니다. 유니코드 텍스트 또는 ANSI 텍스트를 선택하여 스크립트에서 사용해야 하는 텍스트 종류를 지정합니다.

  • 클립보드에 저장 - Transact-SQL 스크립트를 클립보드에 저장합니다.

  • 새 쿼리 창에서 열기 - 데이터베이스 엔진 쿼리 편집기 창에 스크립트를 생성합니다. 편집기 창이 열려 있지 않으면 스크립트 대상으로 사용할 새 편집기 창이 열립니다.

  • 고급 - 고급 스크립팅 옵션을 선택할 수 있는 고급 옵션 대화 상자를 표시합니다.

고급 스크립팅 옵션 페이지

이 페이지를 사용하여 이 마법사에서 스크립트를 생성하는 방법을 지정할 수 있습니다. 다양한 옵션을 사용할 수 있습니다. 데이터베이스 엔진 유형에 지정된 SQL Server 또는 SQL Database 버전에서 지원되지 않는 옵션은 회색으로 표시됩니다.

고급 옵션의 스크린샷.

옵션 - 각 옵션의 오른쪽에 있는 사용 가능한 설정 목록에서 값을 선택하여 고급 옵션을 지정합니다.

일반 - 다음 옵션이 전체 스크립트에 적용됩니다.

  • ANSI 안쪽 여백 - 스크립트에 ANSI PADDING ON이 포함됩니다. 기본값은 False입니다.

  • 파일에 추가 또한 True이면 웹 서비스에 게시 페이지로 진행합니다. False이면 새 스크립트가 이전 스크립트를 덮어씁니다. 기본값은 False입니다.

  • 개체 존재 확인 - True이면 SQL 개체에 대한 create 문을 생성하기 전에 존재 여부 확인을 추가합니다. 예를 들어 테이블, 보기, 함수 또는 저장 프로시저가 있습니다. CREATE 문은 IF 문으로 래핑됩니다. 대상이 클린하다는 것을 알고 있는 경우 스크립트는 훨씬 클린합니다. 대상에 개체가 존재할 것이라고 예상하지 않으면 오류가 발생합니다. 기본값은 False입니다.

  • 오류 발생 시 스크립팅 계속 - False이면 오류 발생 시 스크립팅이 중지됩니다. True이면 스크립팅이 계속됩니다. 기본값은 False입니다.

  • UDDT를 기본 형식으로 변환 - True이면 UDDT(사용자 정의 데이터 형식)가 이 형식을 만드는 데 사용된 기본 데이터 형식으로 변환됩니다. 스크립트가 실행되는 데이터베이스에 UDDT가 존재하지 않을 경우 True를 사용합니다. False이면 UDDT가 사용됩니다. 기본값은 False입니다.

  • 종속 개체에 대한 스크립트 생성 - 선택한 개체에 대한 스크립트가 실행될 때 있어야 하는 모든 개체에 대한 스크립트를 생성합니다. 기본값은 스크립트 전체 데이터베이스 옵션의 경우 True이고, 특정 데이터베이스 개체 선택의 경우 False입니다.

  • 설명 머리글 포함 - True이면 스크립트를 각 개체별 섹션으로 구분하는 스크립트에 주석이 추가됩니다. 기본값은 False입니다.

  • NOT EXISTS 경우 포함 - True이면 데이터베이스에 개체가 이미 있는지 여부를 확인하는 문이 스크립트에 포함되어 개체가 있을 경우 새 개체를 생성하려고 하지 않습니다. 기본값은 False입니다.

  • 시스템 제약 조건 이름 포함 - False이면 원본 데이터베이스에 자동으로 명명된 제약 조건의 기본값이 대상 데이터베이스에서 자동으로 이름이 바뀝니다. True이면 제약 조건은 원본 및 대상 데이터베이스에서 동일한 이름을 갖습니다.

  • 지원되지 않는 문 포함 - False이면 선택한 서버 버전 또는 엔진 유형에서 지원되지 않는 개체에 대한 문이 스크립트에 포함되지 않습니다. True이면 스크립트에 지원되지 않는 개체가 포함됩니다. 지원되지 않는 개체의 각 문에는 선택된 SQL Server 버전이나 엔진 유형에 대해 스크립트를 실행하려면 먼저 문을 편집해야 한다는 주석이 포함됩니다. 기본값은 False입니다.

  • 개체 이름 스키마 한정 - 만들어지는 개체 이름에 스키마 이름을 포함합니다. 기본값은 True입니다.

  • 바인딩 스크립팅 - 기본 개체와 규칙 개체를 바인딩하기 위한 스크립트를 생성합니다. 기본값은 False입니다. 자세한 내용은 CREATE DEFAULT(Transact-SQL)CREATE RULE(Transact-SQL)을 참조하세요.

  • 데이터 정렬 스크립팅 - 스크립트에 데이터 정렬 정보를 포함합니다. 기본값은 False입니다. 자세한 내용은 데이터 정렬 및 유니코드 지원을 참조하십시오.

  • 기본값 스크립팅 - 테이블 열에 기본값을 설정하는 데 사용되는 기본 개체를 포함합니다. 기본값은 True입니다. 자세한 내용은 CREATE DEFAULT(Transact-SQL)를 참조하세요.

  • drop 및 create 스크립팅 - CREATE 스크립팅이면 개체를 만드는 Transact-SQL 문이 포함되고, DROP 스크립팅이면 개체를 삭제하는 Transact-SQL 문이 포함됩니다. 또한 DROP 및 CREATE 스크립팅이면 스크립팅된 각 개체에 대해 Transact-SQL DROP 문이 스크립트에 포함되고 그 다음에 CREATE 문이 포함됩니다. 기본값은 CREATE 스크립팅입니다.

  • 확장 속성 스크립팅 - 개체에 확장 속성이 있을 경우 스크립트에 확장 속성을 포함합니다. 기본값은 True입니다.

  • 엔진 유형에 대한 스크립팅 - 선택한 유형의 SQL Database 또는 SQL Server 데이터베이스 엔진 인스턴스에서 실행할 수 있는 스크립트를 만듭니다. 지정된 유형에서 지원되지 않는 개체는 스크립트에 포함되지 않습니다. 기본값은 원본 서버의 유형입니다.

  • 서버 버전에 대한 스크립팅 - 선택한 SQL Server 버전에서 실행할 수 있는 스크립트를 만듭니다. 버전의 새 기능은 이전 버전에 대해 스크립팅할 수 없습니다. 기본값은 원본 서버의 버전입니다.

  • 로그인 스크립팅 - 스크립팅할 개체가 데이터베이스 사용자인 경우 이 옵션은 사용자가 의존하는 로그인을 만듭니다. 기본값은 False입니다.

  • 개체 수준 권한 스크립팅 - 데이터베이스의 개체에 대한 사용 권한을 설정하는 스크립트가 포함되어 있습니다. 기본값은 False입니다.

  • 통계 스크립팅 - 통계 스크립팅으로 설정된 경우 이 옵션에는 개체에 대한 통계를 다시 만드는 CREATE STATISTICS 문이 포함됩니다. 통계 및 히스토그램 스크립팅 옵션은 히스토그램 정보도 만듭니다. 기본값은 통계 스크립팅하지 않음입니다. 자세한 내용은 CREATE STATISTICS(Transact-SQL)를 참조하세요.

  • USE DATABASE 스크립팅 - USE DATABASE 문을 스크립트에 추가합니다. 데이터베이스 개체가 올바른 데이터베이스에 생성되었는지 확인하려면 USE DATABASE 문을 포함합니다. 다른 데이터베이스에서 스크립트를 사용할 것으로 예상되는 경우 False를 선택하여 USE DATABASE 문을 생략합니다. 기본값은 True입니다. 자세한 내용은 USE(Transact-SQL)를 참조하세요.

  • 스크립트할 데이터 형식 - 스크립트해야 하는 대상을 선택합니다(데이터만, 스키마만 또는 둘 다). 기본값은 스키마만입니다.

테이블/보기 옵션 - 다음 옵션은 테이블 또는 보기에 대한 스크립트에만 적용됩니다.

  • 변경 내용 추적 스크립팅 - 원본 데이터베이스 또는 원본 데이터베이스의 테이블에서 사용하도록 설정된 경우 변경 내용 추적을 스크립팅합니다. 기본값은 False입니다. 자세한 내용은 변경 내용 추적 정보(SQL Server)를 참조하세요.

  • CHECK 제약 조건 스크립팅CHECK 제약 조건을 스크립트에 추가합니다. 기본값은 True입니다. CHECK 제약 조건에서는 테이블에 입력한 데이터가 일부 지정된 조건에 맞아야 합니다. 자세한 내용은 고유성 제약 조건 및 CHECK 제약 조건을 참조하세요.

  • 데이터 압축 옵션 스크립팅 - 원본 데이터베이스 또는 원본 데이터베이스의 테이블에 구성된 경우 데이터 압축 옵션을 스크립팅합니다. 자세한 내용은 Data Compression을 참조하세요. 기본값은 False입니다.

  • 외래 키 스크립팅 - 스크립트에 외래 키를 추가합니다. 기본값은 True입니다. 외래 키는 테이블 간의 관계를 나타내고 적용합니다.

  • 전체 텍스트 인덱스 스크립팅 - 전체 텍스트 인덱스 만들기를 스크립팅합니다. 기본값은 False입니다.

  • 인덱스 스크립팅 - 인덱스 만들기를 스크립팅합니다. 기본값은 스크립트 전체 데이터베이스 옵션의 경우 True이고, 특정 데이터베이스 개체 선택의 경우 False입니다. 인덱스는 데이터를 신속하게 찾는 데 도움이 됩니다.

  • 기본 키 스크립팅 - 테이블에 대한 기본 키 생성을 스크립팅합니다. 기본값은 True입니다. 기본 키는 테이블의 각 행을 고유하게 식별합니다.

  • 트리거 스크립팅 - 테이블에 대한 DML 트리거 생성을 스크립팅합니다. 기본값은 False입니다. DML 트리거는 데이터베이스 서버에서 DML(데이터 조작 언어) 이벤트가 발생하면 실행하도록 프로그래밍된 동작입니다. 자세한 내용은 DML Triggers을 참조하세요.

  • 고유 키 스크립팅 - 테이블에 대한 고유 키 생성을 스크립팅합니다. 고유 키는 중복 데이터가 입력되는 것을 방지합니다. 기본값은 True입니다. 자세한 내용은 고유성 제약 조건 및 CHECK 제약 조건을 참조하세요.

요약 페이지

GS 요약의 스크린샷.

이 페이지에는 이 마법사에서 선택한 옵션이 요약되어 있습니다. 옵션을 변경하려면 이전을 선택하세요. 스크립트 생성을 시작하려면 다음을 선택합니다.

선택 항목 검토 - 마법사의 각 페이지에서 사용자가 선택한 항목을 표시합니다. 해당 페이지에 대해 선택한 옵션을 확인하려면 노드를 확장하세요.

스크립트 저장 페이지

이 페이지를 사용하여 마법사의 진행 상황을 모니터링할 수 있습니다.

세부 정보 - 마법사의 진행률을 확인하려면 작업 열을 확인하세요. 마법사가 스크립트를 생성하면 스크립트가 파일에 저장됩니다. 이러한 각 단계가 모두 완료되면 결과 열의 값을 선택하여 해당 단계의 결과를 확인할 수 있습니다.

보고서 저장 - 마법사 진행률 결과를 파일에 저장하려면 선택합니다.

취소 - 처리가 완료되기 전이나 오류가 발생한 경우 마법사를 닫으려면 선택합니다.

마침 - 처리가 완료된 후 또는 오류가 발생한 경우 마법사를 닫으려면 선택합니다.

스크립트 저장

마침의 스크린샷.

모든 설정이 올바른 경우 구성이 성공적으로 완료됩니다.

Azure Synapse Analytics에서 스크립트 생성

"다음으로 스크립팅..."을 사용할 때 생성된 구문이 Azure Synapse Analytics 구문과 같지 않거나 오류 메시지가 표시되는 경우 SQL Server Management Studio에서 스크립팅 옵션을 Azure Synapse Analytics로 설정해야 할 수 있습니다.

SQL Data Warehouse에 기본 스크립팅 옵션을 설정하는 방법

Azure Synapse Analytics 구문을 사용하여 개체를 스크립팅하려면 다음과 같이 기본 스크립팅 옵션을 Azure Synapse Analytics로 설정합니다.

  1. 도구를 선택한 다음 옵션을 선택합니다.
  2. SQL Server 개체 탐색기스크립팅을 선택합니다.
  3. 버전 옵션에서 스크립트 설정을 원본과 일치False로 설정합니다.
    1. 데이터베이스 엔진 유형에 대한 스크립트Microsoft Azure SQL 데이터베이스 버전으로 설정합니다.
    2. Azure Synapse Analytics의 전용 SQL 풀의 경우 데이터베이스 엔진 버전에 대한 스크립트Microsoft Azure SQL Data Warehouse Edition으로 설정합니다.
  4. 확인을 선택합니다.

기본 스크립팅 옵션이 아닌 경우 SQL 데이터 웨어하우스에 대한 스크립트를 생성하는 방법

앞에서 설명한 대로 기본 스크립팅 옵션으로 Azure Synapse Analytics를 설정하면 이러한 지침은 무시될 수 있습니다. 그러나 다른 기본 스크립팅 옵션을 사용하도록 선택하면 오류가 발생할 수 있습니다. 오류를 방지하려면 다음 단계를 수행하여 Azure Synapse Analytics에 대한 스크립트를 생성합니다.

  1. 개체 탐색기에서 데이터베이스의 전용 SQL 풀을 오른쪽 마우스로 클릭합니다.
  2. 스크립트 생성을 선택합니다.
  3. 스크립팅하려는 개체를 선택합니다.
  4. 스크립팅 옵션에서 고급을 선택합니다. 일반 설정에서
    1. 데이터베이스 엔진 유형에 대한 스크립트를 Microsoft Azure SQL 데이터베이스로 설정합니다.
    2. 데이터베이스 엔진 버전에 대한 스크립트: Microsoft Azure SQL 데이터 웨어하우스 버전
  5. 스크립트 저장을 클릭한 다음 마침을 선택합니다.

4단계에서 설정된 옵션은 저장되지 않습니다. 이러한 옵션을 저장하려면 SQL 데이터 웨어하우스에 기본 스크립팅 옵션을 설정하는 방법의 지침을 따릅니다.