

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

# 를 사용하여 Microsoft SQL Server 연결 AWS Schema Conversion Tool
<a name="CHAP_Source.SQLServer"></a>

 AWS SCT 를 사용하여 스키마, 데이터베이스 코드 객체 및 애플리케이션 코드를 SQL Server에서 다음 대상으로 변환할 수 있습니다.
+ Amazon RDS for MySQL
+ Amazon Aurora MySQL 호환 버전
+ Amazon RDS for PostgreSQL
+ Amazon Aurora PostgreSQL 호환 에디션
+ Amazon RDS for SQL Server
+ Amazon RDS for MariaDB

**참고**  
AWS SCT 는 Amazon RDS for SQL 서버를 소스로 사용하는 것을 지원하지 않습니다.

 AWS SCT 를 사용하여 다음에 설명된 대로 SQL Server에서 Babelfish for Aurora PostgreSQL로 스키마, 데이터베이스 코드 객체 및 애플리케이션 코드를 마이그레이션하기 위한 평가 보고서를 생성할 수 있습니다.

**Topics**
+ [Microsoft SQL Server를 소스로 사용하기 위한 권한](#CHAP_Source.SQLServer.Permissions)
+ [Microsoft SQL Server를 소스로 사용할 때 Windows 인증 사용](#CHAP_Source.SQLServer.Permissions.WinAuth)
+ [SQL Server에 소스 연결](#CHAP_Source.SQLServer.Connecting)
+ [SQL Server를 MySQL로 변환](CHAP_Source.SQLServer.ToMySQL.md)
+ [를 사용하여 SQL Server에서 PostgreSQL로 마이그레이션 AWS Schema Conversion Tool](CHAP_Source.SQLServer.ToPostgreSQL.md)
+ [를 사용하여 SQL Server에서 Amazon RDS for SQL Server로 마이그레이션 AWS Schema Conversion Tool](CHAP_Source.SQLServer.ToRDSSQLServer.md)

## Microsoft SQL Server를 소스로 사용하기 위한 권한
<a name="CHAP_Source.SQLServer.Permissions"></a>

Microsoft SQL Server를 소스로 사용하기 위해 필요한 권한은 다음과 같습니다.
+ VIEW DEFINITION
+ VIEW DATABASE STATE

권한을 사용하면 퍼블릭 액세스 권한이 있는 사용자가 객체 `VIEW DEFINITION` 정의를 볼 수 있습니다. `VIEW DATABASE STATE`는 권한을 AWS SCT 사용하여 SQL Server Enterprise 에디션의 기능을 확인할 수 있습니다.

변환하려는 스키마의 각 데이터베이스에 대해 권한 부여를 반복합니다.

또한 `master` 데이터베이스에 다음 권한을 부여합니다.
+ VIEW SERVER STATE
+ VIEW ANY DEFINITION

AWS SCT 는 `VIEW SERVER STATE` 권한을 사용하여 서버 설정 및 구성을 수집합니다. 엔드포인트를 보려면 `VIEW ANY DEFINITION` 권한을 부여해야 합니다.

Microsoft Analysis Services에 관한 정보를 읽으려면 `master` 데이터베이스에서 다음 명령을 실행합니다.

```
EXEC master..sp_addsrvrolemember @loginame = N'<user_name>', @rolename = N'sysadmin'
```

이전 예제에서 `<user_name>` 자리 표시자를 이전에 권한을 부여한 사용자의 이름으로 바꿉니다.

SQL Server 에이전트에 관한 정보를 읽으려면 사용자를 `SQLAgentUser` 역할에 추가합니다. `msdb` 데이터베이스에서 다음 명령을 실행합니다.

```
EXEC sp_addrolemember <SQLAgentRole>, <user_name>;
```

앞의 예제에서 `<SQLAgentRole>` 자리 표시자를 SQL Server 에이전트 역할의 이름으로 바꿉니다. 그런 다음, `<user_name>` 자리 표시자를 이전에 권한을 부여한 사용자의 이름으로 바꿉니다. 자세한 내용은 *Amazon RDS 사용 설명서*의 [SQLAgentUser 역할에 사용자 추가](https://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.SQLServer.CommonDBATasks.Agent.html#SQLServerAgent.AddUser)를 참조하세요.

로그 전달을 감지하려면 `msdb` 데이터베이스에 대한 `SELECT on dbo.log_shipping_primary_databases` 권한을 부여합니다.

DDL 복제의 알림 방식을 사용하려면 소스 데이터베이스에 대해 `RECEIVE ON <schema_name>.<queue_name>` 권한을 부여합니다. 이 예제에서는 `<schema_name>` 자리 표시자를 데이터베이스의 스키마 이름으로 바꿉니다. 그런 다음, `<queue_name>` 자리 표시자를 대기열 테이블 이름으로 바꿉니다.

## Microsoft SQL Server를 소스로 사용할 때 Windows 인증 사용
<a name="CHAP_Source.SQLServer.Permissions.WinAuth"></a>

Windows 기반 인트라넷에서 애플리케이션을 실행하는 경우 데이터베이스 액세스에 Windows 인증을 사용할 수 있습니다. Windows 인증은 운영 체제 스레드에 설정된 현재 Windows ID를 사용하여 SQL Server 데이터베이스에 액세스합니다. 그런 다음 Windows ID를 SQL Server 데이터베이스 및 권한에 매핑할 수 있습니다. Windows 인증을 사용하여 SQL Server에 연결하려면 애플리케이션에서 사용하는 Windows ID를 지정해야 합니다. 또한 SQL Server 데이터베이스에 대한 Windows ID 액세스 권한을 부여해야 합니다.

SQL Server에는 Windows 인증 모드와 혼합 모드의 두 가지 액세스 모드가 있습니다. Windows 인증 모드에서는 Windows 인증을 활성화하고 SQL Server 인증을 비활성화합니다. 혼합 모드에서는 Windows 인증과 SQL Server 인증을 모두 사용할 수 있습니다. Windows 인증은 항상 사용할 수 있으며 비활성화할 수 없습니다. Windows 인증에 대한 자세한 내용은 Microsoft Windows 설명서를 참조하세요.

다음은 TEST\$1DB에 사용자를 생성하는 것을 보여주는 예입니다.

```
USE [TEST_DB]
CREATE USER [TestUser] FOR LOGIN [TestDomain\TestUser]
GRANT VIEW DEFINITION TO [TestUser]
GRANT VIEW DATABASE STATE TO [TestUser]
```

### JDBC 연결에서 Windows 인증 사용
<a name="CHAP_Source.SQLServer.Permissions.WinAuth.JDBC"></a>

JDBC 드라이버는 Windows 이외의 운영 체제에서 사용되는 경우 Windows 인증을 지원하지 않습니다. Windows 이외의 운영 체제에서 SQL Server에 연결할 때는 사용자 이름 및 암호와 같은 Windows 인증 보안 인증 정보가 자동으로 지정되지 않습니다. 이 경우 애플리케이션은 SQL Server 인증을 대신 사용해야 합니다.

JDBC 연결 문자열에서 Windows 인증을 사용하여 연결하려면 `integratedSecurity` 파라미터를 지정해야 합니다. JDBC 드라이버는 `integratedSecurity` 연결 문자열 파라미터를 통해 Windows 운영 체제에서 Windows 통합 인증을 지원합니다.

통합 인증을 사용하려면

1. JDBC 드라이버를 설치합니다.

1. JDBC 드라이버가 설치된 컴퓨터의 Windows 시스템 경로에 있는 디렉터리에 `sqljdbc_auth.dll` 파일을 복사합니다.

   `sqljdbc_auth.dll` 파일은 다음 위치에 설치됩니다.

   <installation directory>\$1sqljdbc\$1<version>\$1<language>\$1auth\$1******

Windows 인증을 사용하여 SQL Server 데이터베이스에 연결을 시도하는 경우 "이 드라이버는 통합 인증에 맞게 구성되지 않았습니다"라는 오류가 발생할 수 있습니다. 이 문제는 다음 작업을 수행하여 해결할 수 있습니다.
+ 다음과 같이 JDBC 설치 경로를 가리키는 두 가지 변수를 선언합니다.

   `variable name: SQLJDBC_HOME; variable value: D:\lib\JDBC4.1\enu`(sqljdbc4.jar이 있는 위치);

  `variable name: SQLJDBC_AUTH_HOME; variable value: D\lib\JDBC4.1\enu\auth\x86`(32비트 OS를 실행하는 경우) 또는 `D\lib\JDBC4.1\enu\auth\x64`(64비트 OS를 실행하는 경우). `sqljdbc_auth.dll`이 있는 위치입니다.
+ JDK/JRE가 실행 중인 폴더에 `sqljdbc_auth.dll`을 복사합니다. lib 폴더, bin 폴더 등에 복사할 수 있습니다. 예를 들어 다음 폴더에 복사할 수 있습니다.

  ```
  [JDK_INSTALLED_PATH]\bin;
  [JDK_INSTALLED_PATH]\jre\bin;
  [JDK_INSTALLED_PATH]\jre\lib;
  [JDK_INSTALLED_PATH]\lib;
  ```
+ JDBC 라이브러리 폴더에는 SQLJDBC4.jar 파일만 있어야 합니다. 이 폴더에서 다른 sqljdbc\$1.jar 파일을 모두 제거(또는 다른 폴더로 복사)합니다. 드라이버를 프로그램의 일부로 추가하는 경우 사용할 드라이버로 SQLJDBC4.jar만 추가해야 합니다.
+ 애플리케이션의 해당 폴더에 sqljdbc\$1auth.dll 파일을 복사합니다.

**참고**  
32비트 Java Virtual Machine(JVM)을 실행 중인 경우 x86 폴더에 있는 sqljdbc\$1auth.dll 파일을 사용합니다. 이는 운영 체제가 x64 버전인 경우에도 마찬가지입니다. x64 프로세서에서 64비트 JVM을 실행하는 경우에 x64 폴더의 sqljdbc\$1auth.dll 파일을 사용합니다.

SQL Server 데이터베이스에 연결할 때 **인증** 옵션으로 **Windows 인증** 또는 **SQL Server 인증**을 선택할 수 있습니다.

## SQL Server에 소스 연결
<a name="CHAP_Source.SQLServer.Connecting"></a>

다음 절차에 따라 AWS Schema Conversion Tool을 사용하여 Microsoft SQL Server 소스 데이터베이스에 연결합니다.

**Microsoft SQL Server 소스 데이터베이스에 연결하려면**

1. 에서 **소스 추가**를 AWS Schema Conversion Tool선택합니다.

1. **Microsoft SQL Server**를 선택한 후 **다음**을 선택합니다.

   **소스 추가** 대화 상자가 나타납니다.

1. **연결 이름**에 데이터베이스의 이름을 입력합니다. AWS SCT 는 왼쪽 패널의 트리에 이 이름을 표시합니다.

1. 에서 데이터베이스 자격 증명을 사용하거나 수동으로 AWS Secrets Manager 입력합니다.
   + Secrets Manager의 데이터베이스 보안 인증 정보를 사용하려면 다음 지침을 따릅니다.

     1. **AWS Secret**에서 보안 암호의 이름을 선택합니다.

     1. **Populate**를 선택하여 Secrets Manager에서 데이터베이스 연결 대화 상자에 있는 모든 값을 자동으로 채웁니다.

     Secrets Manager의 데이터베이스 보안 인증 사용에 대한 자세한 내용은 [AWS Secrets Manager 에서 구성 AWS Schema Conversion Tool](CHAP_UserInterface.SecretsManager.md) 섹션을 참조하세요.
   + Microsoft SQL Server 소스 데이터베이스 연결 정보를 수동으로 입력하려면 다음 지침을 사용합니다.  
****    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/ko_kr/SchemaConversionTool/latest/userguide/CHAP_Source.SQLServer.html)

1. **연결 테스트를** 선택하여가 소스 데이터베이스에 연결할 AWS SCT 수 있는지 확인합니다.

1. **연결**을 선택하여 소스 데이터베이스에 연결합니다.