SnowConvert AI - SQL Server¶
마이그레이션을 위한 첫 번째 단계는 마이그레이션에 필요한 코드를 가져오는 것입니다. 데이터베이스에서 코드를 추출하는 방법에는 여러 가지가 있습니다. 그러나 SQL Server Management Studio (SSMS)를 사용하는 것이 적극 권장되지만, MacOS 및 Linux 환경을 위한 대안이 제공됩니다.
전제 조건¶
SQLServer 데이터베이스가 있는 서버에 액세스합니다.
SQL Server Management Studio(SSMS)를 통한 추출¶
SQL Server Management Studio(SSMS)는 Windows에서만 사용할 수 있습니다. Mac OS 및 Linux의 경우 다음 섹션으로 이동하세요.
SSMS 를 엽니다.
원하는 데이터베이스의 가시성을 허용하는 자격 증명을 사용하여 원하는 서버 및 서버 인스턴스에 연결합니다.
기본 SSMS 창에서 Object Explorer가 아직 열려 있지 않은 경우 엽니다.
오브젝트 탐색기 창에서 Databases를 아직 확장하지 않은 경우 확장합니다.
원하는 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 Tasks -> Generate Scripts…을 선택합니다.

Generate Scripts 대화 상자의 소개 페이지가 표시되면 Next를 클릭합니다. 그렇지 않으면 다음 단계로 진행합니다.

Generate Scripts 대화 상자의 Choose Objects 페이지에서 다음을 수행합니다.
Select specific database objects 라디오 버튼을 선택하고 Users를 EXCEPT하고 표시된 모든 데이터베이스 오브젝트 유형 확인란을 선택합니다. (NOTE: 표시되는 데이터베이스 오브젝트 유형 목록은 선택한 데이터베이스에 데이터베이스 오브젝트가 있는지 여부에 따라 다릅니다. 따라서 데이터베이스 오브젝트 유형 목록이 다르게 보일 수 있습니다. Users를 EXCEPT한 모든 데이터베이스 오브젝트 유형을 선택하기만 하면 됩니다.)
Next를 클릭합니다.

Generate Scripts 대화 상자의 Set Scripting Options 페이지에서 다음을 수행합니다.
Save as script file 버튼과 One script file per object를 클릭합니다.

Advanced 버튼을 클릭합니다.
Advanced Scripting Options 대화 상자에서 다음 옵션이 표시된 대로 설정되어 있는지 확인하고 다른 모든 옵션의 기본값을 유지합니다.

섹션 |
설정 |
값 |
|---|---|---|
일반 |
시스템 제약 조건 이름 포함 |
True |
비어 있음 |
스크립트 확장 속성 |
True |
테이블/뷰 옵션 |
스크립트 인덱스 |
True |
- |
스크립트 트리거 |
True |
완료되면 OK를 클릭하여 Generate Scripts 대화 상자의 Set Scripting Options 창으로 돌아갑니다.
Save as script file 라디오 버튼을 선택합니다.
파일 이름: 필드 오른쪽에 있는 말줄임표(…)를 클릭합니다.
적절한 위치로 이동하여 File Name: 필드에 설명 값(예: <server_name>_<instance_name>_<database_name>)을 입력하고 Save를 클릭합니다.
ANSI text 라디오 버튼을 선택합니다.
Next를 클릭합니다.
Generate Scripts 대화 상자의 Summary 페이지에서 설정이 올바른지 확인하고 추출을 시작할 준비가 되면 **Next >**를 클릭합니다(즉, **Next >**를 클릭하면 추출이 시작됨). Save Scripts 페이지가 나타나고 추출 진행률이 표시됩니다.

Generate Scripts 대화 상자의 Save Scripts 페이지(참조 이미지 없음)에서 모든 결과가 성공인지 확인하고 Finish를 클릭합니다.
원하는 각 데이터베이스에 대해 5~10단계를 반복합니다(각각 다른 파일 이름 사용). 모든 데이터베이스가 성공적으로 추출되면 다음 단계로 진행합니다.
추가 분석을 위해 결과 파일을 Snowflake로 전송합니다.
결과 패키지화¶
추출 프로세스가 완료되면 결과를 압축하여 전송합니다.
테이블 크기 조정 보고서¶
옵션 A: 범위 내의 모든 데이터베이스에 대해 데이터베이스를 마우스 오른쪽 버튼으로 클릭하고 Reports > Standard Reports > Disk Usage By Table을 클릭합니다. 보고서가 생성되면 보고서를 마우스 오른쪽 버튼으로 클릭하고 Excel로 내보냅니다.

옵션 B: 다음 스크립트를 실행합니다.
USE <DB_NAME>;
SELECT
t.NAME AS TableName,
s.NAME AS SchemaName,
SUM(a.total_pages) * 8 / 1024 AS TotalSpaceMB,
SUM(a.used_pages) * 8 / 1024 AS UsedSpaceMB,
(SUM(a.total_pages) - SUM(a.used_pages)) * 8 / 1024 AS
UnusedSpaceMB
FROM
sys.tables t
INNER JOIN
sys.indexes i ON t.OBJECT_ID = i.object_id
INNER JOIN
sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id =
p.index_id
INNER JOIN
sys.allocation_units a ON p.partition_id = a.container_id
LEFT OUTER JOIN
sys.schemas s ON t.schema_id = s.schema_id
GROUP BY
t.NAME, s.NAME, p.Rows
ORDER BY
TotalSpaceMB DESC;