이 자습서에서는 SSMS(SQL Server Management Studio) 내에 있는 다양한 개체에 대한 T-SQL(Transact-SQL) 스크립트를 생성하는 방법을 설명합니다. 이 자습서에서는 다음 개체를 스크립깅하는 방법에 대한 예제를 찾습니다.
- GUI 내에서 작업을 수행할 때 쿼리
- 두 가지 방법으로 데이터베이스 처리 (스크립트로 저장 및 스크립트 생성)
- 테이블
- 저장된 프로시저
- 확장 이벤트
개체 탐색기에서 개체를 스크립트하려면 개체를 마우스 오른쪽 단추로 클릭하고 [개체로 스크립트] 옵션을 선택합니다. 이 자습서에서는 프로세스를 보여줍니다.
필수 조건
이 자습서를 완료하려면 SQL Server Management Studio, SQL Server를 실행하는 서버에 대한 액세스 및 AdventureWorks 데이터베이스가 필요합니다.
- SQL Server Management Studio를 설치합니다.
- SQL Server 2017 Developer Edition을 설치합니다.
- AdventureWorks 샘플 데이터베이스를 다운로드합니다.
SSMS에서 데이터베이스를 복원하기 위한 지침은 여기: 데이터베이스 복원에 있습니다.
GUI에서 쿼리된 스크립트
SSMS에서 GUI를 사용하여 완료할 때마다 태스크에 연결된 T-SQL 코드를 생성할 수 있습니다. 다음 예제에서는 데이터베이스를 백업할 때와 트랜잭션 로그를 축소할 때 이 작업을 수행하는 방법을 보여 줍니다. GUI를 통해 완료된 모든 작업에 동일한 단계를 적용할 수 있습니다.
데이터베이스를 백업할 때 T-SQL 스크립트
SQL Server를 실행하는 서버에 연결합니다.
데이터베이스 노드를 확장합니다.
데이터베이스 AdventureWorks2022를 마우스 오른쪽 버튼으로 클릭한 후 >에서 >을 선택합니다.
원하는 방식으로 백업을 구성합니다. 이 자습서에서는 모든 항목이 기본적으로 남아 있습니다. 그러나 창에서 변경된 내용도 스크립트에 반영됩니다.
새 쿼리 창에 대한 스크립트 스크립트> 작업을 선택합니다.
쿼리 창에 채워진 T-SQL을 검토합니다.
실행을 선택하여 쿼리를 실행하여 T-SQL을 통해 데이터베이스를 백업합니다.
트랜잭션 로그를 축소할 때 T-SQL 스크립트
AdventureWorks2022 데이터베이스를 마우스 오른쪽 단추로 클릭하고, > 메뉴에서 , >을 선택합니다.
파일 형식 드롭다운 목록 상자에서 로그를 선택합니다.
스크립트 및 스크립트 작업을 클립보드로 복사를 선택합니다.
새 쿼리 창을 열고 붙여넣습니다. (창에서 마우스 오른쪽 단추로 클릭합니다. 그런 다음 붙여넣기를 선택합니다.)
실행을 선택하여 쿼리를 실행하고 트랜잭션 로그를 축소합니다.
스크립트 데이터베이스
다음 섹션에서는 다음으로 스크립트 및 스크립트 생성 옵션을 사용하여 데이터베이스를 스크립트로 내보내는 방법을 설명합니다. 스크립트 As 옵션은 데이터베이스 및 해당 구성 옵션을 다시 만듭니다. 스크립트 생성 옵션을 사용하여 스키마와 데이터를 모두 스크립션할 수 있습니다. 이 섹션에서는 두 개의 새 데이터베이스를 만듭니다. 스크립트 As 옵션을 사용하여 AdventureWorks2022a를 만듭니다. 스크립트 생성 옵션을 사용하여 AdventureWorks2022b를 만듭니다.
스크립트 옵션을 사용하여 데이터베이스 스크립션
SQL Server를 실행하는 서버에 연결합니다.
데이터베이스 노드를 확장합니다.
데이터베이스 AdventureWorks2022>를 마우스 오른쪽 단추로 클릭합니다>다음으로 스크립트 데이터베이스>새 쿼리 편집기 창에 생성합니다.
창에서 데이터베이스 만들기 쿼리를 검토합니다.
이 옵션은 데이터베이스 구성 옵션만 스크립트합니다.
키보드에서 Ctrl+F를 선택하여 찾기 대화 상자를 엽니다. 아래쪽 화살표를 선택하여 바꾸기 옵션을 엽니다. 맨 위 찾기 줄에 AdventureWorks2022를 입력하고 아래쪽 바꾸기 줄에 AdventureWorks2022a를 입력합니다.
모두 바꾸기를 선택하여 AdventureWorks2022의 모든 인스턴스를 AdventureWorks2022a로 대체합니다.
실행을 선택하여 쿼리를 실행하고 새 AdventureWorks2022a 데이터베이스를 만듭니다.
스크립트 생성 옵션을 사용하여 데이터베이스 스크립션
SQL Server를 실행하는 서버에 연결합니다.
데이터베이스 노드를 확장합니다.
AdventureWorks2022>작업>스크립트 생성을 마우스 오른쪽 단추로 클릭합니다.
소개 페이지를 엽니다. [다음]을 선택하여 [개체 선택] 페이지를 엽니다. 데이터베이스에서 전체 데이터베이스 또는 특정 개체를 선택할 수 있습니다. 전체 데이터베이스 및 모든 데이터베이스 개체 스크립팅을 선택합니다.
다음 선택하여 스크립팅 옵션 설정 페이지를 엽니다. 여기서 스크립트 및 몇 가지 추가 고급 옵션을 저장할 위치를 구성할 수 있습니다.
a. 새 쿼리 창에 저장을 선택합니다.
b. 고급을 선택하고 다음 옵션이 설정되어 있는지 확인합니다.
- 스크립트 통계 로 설정된 스크립트 통계.
- 스크립트에 대한 데이터 형식은스키마로만 설정됩니다.
- 스크립트 인덱스를True로 설정합니다.
비고
스크립트할 데이터의 유형 옵션에서 스키마 및 데이터를 선택할 때 데이터베이스에 대한 데이터를 스크립트할 수 있습니다. 그러나 대용량 데이터베이스에는 적합하지 않습니다. SSMS가 할당할 수 있는 것보다 더 많은 메모리가 걸릴 수 있습니다. 이 제한은 작은 데이터베이스에 적합합니다. 더 큰 데이터베이스에 대한 데이터를 이동하려면 가져오기 및 내보내기 마법사를 사용합니다.
확인을 선택하고 다음을 선택합니다.
요약에서 다음을 선택합니다. 그런 다음 , [다음 ]을 다시 선택하여 새 쿼리 창에서 스크립트를 생성합니다.
키보드에서 찾기 대화 상자(Ctrl+F)를 엽니다. 아래쪽 화살표를 선택하여 바꾸기 옵션을 엽니다. 맨 위 찾기 줄에서 AdventureWorks2022를 입력합니다. 아래쪽 바꾸기 줄에서 AdventureWorks2022b를 입력합니다.
모두 바꾸기를 선택하여 AdventureWorks2022의 모든 인스턴스를 AdventureWorks2022b로 대체합니다.
실행을 선택하여 쿼리를 실행하고 새 AdventureWorks2022b 데이터베이스를 만듭니다.
스크립트 테이블
이 섹션에서는 데이터베이스에서 테이블을 스크립아웃하는 방법을 설명합니다. 테이블을 생성하거나 삭제 후 생성하려면 이 옵션을 사용하세요. 이 옵션을 사용하여 테이블 수정과 관련된 T-SQL을 스크립팅할 수도 있습니다. 예를 들어 그 안에 삽입하거나 그것으로 업데이트합니다. 이 섹션에서는 테이블을 삭제한 다음 다시 만듭니다.
SQL Server를 실행하는 서버에 연결합니다.
데이터베이스 노드 를 확장합니다 .
AdventureWorks2022 데이터베이스 노드를 확장합니다.
테이블 노드를 확장합니다.
마우스 오른쪽 버튼을 클릭하고 dbo.ErrorLog>스크립트 테이블로 사용>DROP 및 CREATE>새 쿼리 편집기 창으로:
실행을 선택하여 쿼리를 실행합니다. 이 작업은 Errorlog 테이블을 삭제하고 다시 만듭니다.
비고
Errorlog 테이블은 데이터베이스에서 기본적으로 비어 있습니다
AdventureWorks2022
. 따라서 테이블을 삭제하여 데이터를 잃지 않습니다. 그러나 데이터가 있는 테이블에서 이러한 단계를 수행하면 데이터가 손실됩니다.
스크립트 저장 프로시저
이 섹션에서는 저장 프로시저를 삭제하고 만드는 방법을 알아봅니다.
SQL Server를 실행하는 서버에 연결합니다.
데이터베이스 노드 를 확장합니다 .
프로그래밍 기능 노드를 확장합니다.
저장 프로시저 노드를 확장합니다.
저장 프로시저 dbo.uspGetBillOfMaterials>를 마우스 오른쪽 단추로 클릭하여 스토어드 프로시저 스크립트>DROP 및 CREATE로>새 쿼리 편집기 창에 만듭니다.
확장 이벤트 스크립트
이 섹션에서는 확장 이벤트를 스크립아웃하는 방법을 설명합니다.
SQL Server를 실행하는 서버에 연결합니다.
관리 노드를 확장합니다.
확장 이벤트 노드를 확장합니다.
세션 노드 를 확장합니다 .
새>으로스크립트> 세션에 관심이 있는 확장 세션을 마우스 오른쪽 단추> 클릭합니다.
새 쿼리 편집기 창에서 세션의 새 이름을 system_health system_health2 수정합니다. 실행을 선택하여 쿼리를 실행합니다.
개체 탐색기에서 세션을 마우스 오른쪽 단추로 클릭합니다. 새로 고침을 선택하여 새 확장 이벤트 세션을 확인합니다. 세션 옆의 녹색 아이콘은 세션이 실행 중임을 나타냅니다. 빨간색 아이콘은 세션이 중지되었음을 나타냅니다.
비고
세션을 마우스 오른쪽 단추로 클릭하고 시작을 선택하여 세션을 시작할 수 있습니다. 그러나 이미 실행 중인 system_health 세션의 복사본이므로 이 단계를 건너뛸 수 있습니다. 확장 이벤트 세션의 복사본을 삭제할 수 있습니다. 해당 세션을 마우스 오른쪽 단추로 클릭하고 삭제를 선택합니다.
다음 단계
SSMS에 익숙해지는 가장 좋은 방법은 실습을 통해서입니다. 이러한 자습서 및 사용법 문서는 SSMS 내에서 사용할 수 있는 다양한 기능을 이해하는 데 도움이 됩니다. 이 문서에서는 SSMS의 구성 요소를 관리하는 방법과 정기적으로 사용하는 기능을 찾는 방법을 설명합니다.