programing

데이터베이스 및 테이블을 생성하는 SQL 스크립트 생성

batch 2023. 4. 11. 21:51
반응형

데이터베이스 및 테이블을 생성하는 SQL 스크립트 생성

다른 SQL Server에 복제할 SQL 데이터베이스와 테이블이 있습니다.데이터베이스와 테이블을 단일 스크립트로 작성하는 SQL 스크립트를 만들고 싶습니다.

SQL Management Studio를 사용하여 각 케이스(데이터베이스 및 테이블)에 대해 "Create" 스크립트를 작성할 수 있지만, 두 "Create" 스크립트를 하나의 스크립트로 조합하면 되는지 알고 싶습니다.

감사해요.

Clayton의 답변으로 실현되겠지만 SQL 2005/2008/R2/2012에서는 훨씬 쉬운 옵션이 제공됩니다.

데이터베이스를 마우스 오른쪽 버튼으로 클릭하고Tasks그리고 나서.Generate Scripts스크립트 마법사가 실행됩니다.이를 통해 테이블/인덱스/제약/저장된 프로시저/함수/사용자 등을 포함한 전체 데이터베이스를 다시 작성할 수 있는 단일 스크립트를 생성할 수 있습니다.출력을 커스터마이즈하기 위해 설정할 수 있는 옵션은 여러 가지가 있지만, 대부분은 자체 설명입니다.

기본 옵션에 문제가 없으면 몇 초 만에 전체 작업을 수행할 수 있습니다.

데이터베이스 내의 데이터를 (일련의 INSERT로서) 재생성하는 경우는 SSMS 툴 팩(SQL 2008 버전은 무료, SQL 2012 버전은 유료)도 추천합니다.

SQL Server Management Studio에서 복제할 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 "스크립트 데이터베이스 이름"을 선택하여 해당 데이터베이스를 다른 서버에 복제하기 위한 적절한 SQL 파일을 만들 수 있습니다.생성할 각 테이블에 대해 이 프로세스를 반복한 다음 파일을 단일 SQL 파일로 병합할 수 있습니다.데이터베이스를 작성한 후 표를 작성하기 전에 반드시 사용문을 추가하십시오.

보다 최신 버전의 SQL Server에서는 SSMS의 한 파일에 이 정보를 저장할 수 있습니다.

  1. 데이터베이스를 오른쪽 클릭합니다.
  2. 임무들
  3. 스크립트 생성

그러면 전체 데이터베이스 또는 일부만 스크립팅할 수 있는 마법사가 실행됩니다.이를 위한 T-SQL 방법은 없는 것 같습니다.

SQL Server 스크립트 생성

SQL Server Management Studio에서 스크립트 생성에 대한 자세한 설명은 여기를 참조하십시오.

가이던스 알리 이사 해야 할 일은 다음과 같습니다.

  1. 데이터베이스(테이블이 아닌)를 오른쪽 클릭하여 태스크 --> 스크립트 생성을 선택합니다.
  2. 다음 --> 요청된 테이블/테이블 선택 (특정 데이터베이스 객체 선택)
  3. 다음 --> 고급 --> 스크립트화할 데이터 유형을 클릭합니다= 스키마 및 데이터

테이블(데이터 없음)만 생성하는 스크립트를 작성하려면 명령의 고급 부분을 건너뛸 수 있습니다.

SSMS가 실행 순서를 고려하지 않는 이유는 잘 모르겠지만 실제로는 고려하지 않습니다.이는 소규모 데이터베이스에서는 문제가 되지 않지만 데이터베이스에 200개의 개체가 있는 경우에는 어떻게 해야 합니까?이 경우 실행 순서는 중요합니다. 왜냐하면 이 모든 과정을 거치는 것은 쉽지 않기 때문입니다.

SSMS에서 생성된 순서가 없는 스크립트에 대해서는 다음 절차를 따릅니다.

a) 스크립트를 실행합니다(개체 중에는 삽입되지 않은 것도 있고 오류가 발생할 수도 있습니다).

b) 데이터베이스에 추가된 모든 오브젝트를 스크립트에서 삭제합니다.

c) 모든 것이 최종적으로 실행될 때까지 a)로 돌아갑니다.

대체 옵션은 ApexSQL Script와 같은 서드파티 도구 또는 이 스레드에 이미 언급된 다른 도구(SSMS 도구 팩, Red Gate 등)를 사용하는 것입니다.

이 모든 것을 통해 고객의 의존관계를 해결하고 시간을 더욱 절약할 수 있습니다.

예, SQL 문은 원하는 수만큼 단일 스크립트에 추가할 수 있습니다.한 가지 주의할 점은 순서가 중요하다는 것입니다.테이블을 작성할 때까지 삽입할 수 없습니다.프라이머리 키를 삽입할 때까지 외부 키를 설정할 수 없습니다.

언급URL : https://stackoverflow.com/questions/5771047/create-sql-script-that-create-database-and-tables

반응형