내보내기(0) 인쇄
모두 확장

Azure SQL 데이터베이스 일반 지침 및 제한 사항

업데이트 날짜: 2015년 1월

이 항목에서는 Microsoft Azure SQL 데이터베이스에 대한 일반적인 지침과 제한 사항에 대해 설명합니다. 다음과 같은 일반적인 지침과 제한 사항을 다룹니다.

보안 관련 지침 및 제한 사항에 대한 자세한 내용은 Azure SQL 데이터베이스 보안 지침 및 제한 사항를 참조하세요.

DTU를 통해 CPU, 메모리 및 읽기/쓰기의 혼합 측정치를 기반으로 성능 수준의 상대적 용량을 설명할 수 있습니다. 각 서버에는 서버당 데이터베이스에 대한 전체 제한 및 데이터베이스당 최대 크기뿐만 아니라 Basic, Standard 및 Premium 데이터베이스에 대해 최대 2000개의 DTU가 있습니다. DTU는 해당 성능 수준에 대한 DTU 등급에 따라 사용됩니다. 예를 들어 Basic 데이터베이스 5개, Standard S1 데이터베이스 2개, Premium P1 데이터베이스 3개가 있는 서버는 365개 DTU를 사용합니다. 각 성능 수준과 연결된 DTU 등급에 대한 자세한 내용은 Azure SQL 데이터베이스 서비스 계층 및 성능 수준을 참조하세요. Azure SQL 데이터베이스 서버에 대해 이 DTU 할당량을 확장할 수 있습니다. 자세한 내용은 Azure 지원에 문의하세요.

각 서버는 master 데이터베이스를 포함하여 최대 150개의 데이터베이스를 지원합니다. 이 제한은 모든 서비스 계층에 적용됩니다. Azure SQL 데이터베이스 서버에 대해 이 제한을 확장할 수 있습니다. 자세한 내용은 Azure 지원에 문의하세요.

서버당 데이터베이스 수를 제한할 뿐만 아니라 각 서비스 계층(버전)은 각 데이터베이스의 최대 크기도 제한합니다. 데이터베이스 크기가 해당 MAXSIZE에 도달하면 40544 오류 코드가 수신됩니다. 이 경우 데이터를 삽입 또는 업데이트하거나 테이블, 저장 프로시저, 뷰, 함수 등의 새 개체를 만들 수 없습니다. 그러나 데이터 읽기 및 삭제, 테이블 자르기, 테이블 및 인덱스 삭제, 인덱스 다시 작성 등의 작업은 계속 수행할 수 있습니다. 저장 공간을 확보하기 위해 일부 데이터를 제거할 경우 15분 동안 기다린 다음 새 데이터를 삽입할 수 있습니다.

데이터베이스 만들기에 대한 자세한 내용은 CREATE DATABASE(Azure SQL 데이터베이스)(영문)를 참조하세요.

Microsoft Azure SQL 데이터베이스용 응용 프로그램을 작성할 때 다음 드라이버와 라이브러리를 사용할 수 있습니다.

  • .NET Framework 3.5 서비스 팩 1 이상의 SQL Server용 .NET Framework 데이터 공급자(System.Data.SqlClient)

  • .NET Framework 3.5 서비스 팩 1 이상의 Entity Framework

  • SQL Server 2008 R2 이상 Native Client ODBC 드라이버. SQL Server 2008 Native Client ODBC 드라이버도 지원되지만 일부 기능이 제공되지 않습니다.

  • PHP용 SQL Server 2008 드라이버 버전 1.1 이상

  • SQL 데이터베이스를 지원하는 업데이트된 버전의 SQL Server JDBC 드라이버 3.0

Microsoft Azure SQL 데이터베이스는 TDS(Tabular Data Stream) 프로토콜 클라이언트 버전 7.3 이상을 지원합니다. 이전 버전의 TDS 프로토콜은 지원되지 않습니다.

OLE DB 또는 ADO를 사용하여 Microsoft Azure SQL 데이터베이스에 연결할 수는 없습니다.

Microsoft Azure SQL 데이터베이스용 응용 프로그램을 작성하는 경우 Visual Studio와 함께 제공되는 .NET Framework 프로그래밍 언어, 즉 Microsoft Visual Basic, Microsoft Visual C#, Microsoft Visual C++ 중 하나를 사용할 수 있습니다. Visual Studio는 데이터 연결을 열고 서버에 로그온하여 데이터베이스를 탐색할 수 있도록 서버 탐색기라는 서버 관리 콘솔을 제공합니다. Visual Studio 2010 이상에서는 서버 탐색기를 통해 Azure SQL 데이터베이스의 데이터베이스에 연결하여 탐색할 수 있습니다. 이전 버전의 서버 탐색기는 지원되지 않습니다. 자세한 내용은 MSDN의 Visual Studio 설명서를 참조하세요.

도구를 사용하여 Microsoft Azure SQL 데이터베이스에 연결할 경우 다음 사항을 고려하세요.

  • TCP/IP 연결만 허용됩니다.

  • MARS(Multiple Active Result Sets)가 지원됩니다.

  • 일부 도구는 TDS를 다르게 구현하기 때문에 <login>@<server> 표기법을 사용하여 연결 문자열의 로그인 부분에 Azure SQL 데이터베이스 서버 이름을 추가해야 합니다. 자세한 내용은 Azure SQL 데이터베이스에서 데이터베이스 및 로그인 관리을 참조하십시오.

  • SQL Server 2008에서는 동적 포트를 사용하지 않고 포트 1433만 사용하므로 SQL Server Microsoft Azure SQL 데이터베이스 브라우저는 지원되지 않습니다.

도구 지원에 대한 자세한 내용은 Azure SQL 데이터베이스 도구 및 유틸리티 지원를 참조하세요.

ODBC 데이터 원본 구성을 사용하여 Microsoft Azure SQL 데이터베이스에 대한 사용자 및 시스템 데이터 원본을 정의할 수 있습니다. 사용자 및 시스템 데이터 원본 목록은 ODBC 데이터 원본 관리자 대화 상자의 User DSN 또는 System DSN 탭을 참조하세요.

DSN(데이터 원본 이름) 마법사를 사용하여 Microsoft Azure SQL 데이터베이스에 대한 데이터 원본을 정의할 경우 사용자가 입력한 로그인 ID 및 암호를 사용하는 SQL Server 인증 사용 옵션을 클릭하고 추가 구성 옵션의 기본 설정을 얻기 위해 SQL Server에 연결을 선택합니다. Azure SQL 데이터베이스 서버에 연결할 사용자 이름과 암호를 Login IDPassword로 입력합니다. SQL Server 2008 Native Client를 사용하는 경우 추가 구성 옵션의 기본 설정을 얻기 위해 SQL Server에 연결 확인란의 선택을 취소합니다. SQL Server 2008 R2 Native Client ODBC 드라이버 이상의 경우 기본 설정을 얻기 위해 SQL Server에 연결 확인란의 선택을 취소할 필요가 없습니다. 기본 데이터베이스를 다음으로 변경:을 클릭하고 Azure SQL 데이터베이스의 이름을 입력합니다. 이 이름이 목록에는 표시되지 않습니다. 마법사의 SQL Server 시스템 메시지 언어를 다음으로 변경: 목록에 여러 언어가 나열됩니다.

이 릴리스의 Microsoft Azure SQL 데이터베이스는 영어만 지원하므로 영어를 언어로 선택합니다. Microsoft Azure SQL 데이터베이스는 미러 서버 또는 데이터베이스 연결을 지원하지 않으므로 해당 항목을 비워 두세요. 연결 테스트를 클릭합니다.

  • SQL Server 2008 Native Client ODBC 드라이버를 사용하는 경우 연결 테스트 단추를 클릭하면 master.dbo.syscharsets가 지원되지 않는다는 오류 메시지가 표시될 수 있습니다. 이 오류를 무시하고 DSN을 저장한 다음 사용합니다. 또한 DSN을 구성하는 중에 master 데이터베이스가 아닌 다른 데이터베이스에 연결하도록 선택하면 오류가 없는 경우에도 테스트를 성공적으로 완료했습니다.라는 메시지가 표시되지 않을 수 있습니다.

  • SQL Server 2008 R2 Native Client ODBC 드라이버를 사용하면 다른 데이터베이스에 연결된 경우에도 master.dbo.syscharsets가 지원되지 않는다는 오류 메시지가 표시되지 않습니다.

다음을 사용하여 데이터를 Microsoft Azure SQL 데이터베이스에 전송할 수 있습니다.

  • SQL Server 2008 Integration Services(SSIS)

  • 대량 복사 유틸리티(BCP.exe)

  • System.Data.SqlClient.SqlBulkCopy 클래스

  • INSERT 문을 사용하여 데이터를 데이터베이스로 로드하는 스크립트

Microsoft Azure SQL 데이터베이스 는 다음을 지원하지 않습니다.

  • RESTORE

  • Azure SQL 데이터베이스 서버에 데이터베이스 연결

SSIS에 대한 자세한 내용은 SQL Server Integration Services를 참조하세요.

Microsoft Azure SQL 데이터베이스는 SQL Server 에이전트 또는 작업을 지원하지 않습니다. 그러나 온-프레미스 SQL Server에서 SQL Server 에이전트를 실행하고 Microsoft Azure SQL 데이터베이스에 연결할 수 있습니다.

Microsoft Azure SQL 데이터베이스는 여러 리소스에 영향을 주는 트랜잭션인 분산 트랜잭션을 지원하지 않습니다. 자세한 내용은 분산 트랜잭션(ADO.NET)을 참조하세요.

버전 2.0 이상에서는 응용 프로그램 트랜잭션이 분산 트랜잭션으로 자동으로 승격될 수 있습니다. 이 내용은 System.Data.SqlClient 클래스를 사용하여 System.Transactions 트랜잭션의 컨텍스트에서 데이터베이스 작업을 수행하는 응용 프로그램에 적용됩니다.

TransactionScope 내의 여러 서버 또는 데이터베이스에 대해 여러 연결을 열거나 EnlistTransaction 메서드를 사용하여 System.Transactions 개체 내의 여러 연결에 참여할 경우 트랜잭션 승격이 발생합니다. 동일한 TransactionScope 내에서 또는 EnlistTransaction 메서드를 사용하여 동일한 서버 및 데이터베이스에 대해 동시에 여러 연결을 여는 경우에도 트랜잭션 승격이 발생합니다.

버전 3.5 이상에서는 동시 연결의 연결 문자열이 정확하게 일치하는 경우 트랜잭션이 승격되지 않습니다. 트랜잭션 및 트랜잭션 승격 방지에 대한 자세한 내용은 System.Transactions 및 SQL Server 통합(ADO.NET)을 참조하세요.

note참고
Microsoft Azure SQL 데이터베이스에서는 장애 조치 중에 현재 데이터베이스(DBTS)의 커밋되지 않은 타임스탬프 값을 보존하지 않습니다.

Microsoft Azure SQL 데이터베이스에서 READ_COMMITTED_SNAPSHOT 및 ALLOW_SNAPSHOT_ISOLATION 데이터베이스 옵션이 모두 ON으로 설정됩니다. Transact-SQL 문에서 SET <snapshot_option>이 지원되지 않으므로 이러한 데이터베이스 옵션을 변경할 수 없습니다. 행 버전 관리 기반 격리 수준에 대한 자세한 내용은 행 버전 관리 기반 격리 수준 이해를 참조하세요.

Microsoft Azure SQL 데이터베이스에서 사용되는 기본 데이터베이스 데이터 정렬은 SQL_LATIN1_GENERAL_CP1_CI_AS입니다. 여기서 LATIN1_GENERAL은 영어(미국)이고, CP1은 코드 페이지 1252이고, CI은 대/소문자 구분을 나타내고, AS는 악센트 구분을 나타냅니다.

내부 SQL Server을 사용하는 경우 서버, 데이터베이스, 열 및 식 수준으로 데이터 정렬을 설정할 수 있습니다. Microsoft Azure SQL 데이터베이스에서는 서버 수준으로 데이터 정렬을 설정할 수 없습니다. Microsoft Azure SQL 데이터베이스에서 기본값이 아닌 데이터 정렬을 사용하려면 Create Database Collate 옵션을 통해서나 열 수준 또는 식 수준으로 데이터 정렬을 설정합니다. SQL 데이터베이스는 ALTER DATABASE 명령과 함께 Collate 옵션을 지원하지 않습니다. 기본적으로 SQL 데이터베이스에서 임시 데이터의 데이터 정렬은 데이터베이스의 데이터 정렬과 동일합니다. 데이터 정렬을 설정하는 방법은 SQL Server 온라인 설명서의 COLLATE(Transact-SQL)를 참조하세요.

Microsoft Azure SQL 데이터베이스는 클러스터형 인덱스가 없는 테이블을 지원하지 않기 때문에 테이블에 클러스터형 인덱스가 있어야 합니다. 테이블이 클러스터형 제약 조건 없이 만들어진 경우 클러스터형 인덱스를 만들어야 테이블에서 삽입 작업이 가능합니다.

예를 들어 다음 Transact-SQL은 새 테이블을 만들고, 테이블에서 클러스터형 인덱스를 만든 다음 테이블에 데이터를 삽입합니다. 클러스터형 인덱스를 만들지 않고 삽입 작업을 수행하면 오류가 발생합니다.

CREATE TABLE Table1 (Col1 int, Col2 char(20))
CREATE CLUSTERED INDEX Table1_Index ON Table1 (Col1)
INSERT INTO Table1 VALUES (1, 'string1')

보안상의 이유로 특정 사용자 이름을 사용할 수 없습니다. 사용할 수 없는 이름은 다음과 같습니다.

  • admin

  • administrator

  • guest

  • root

  • sa

모든 새 개체에 대한 이름은 식별자에 대한 SQL Server 규칙을 준수해야 합니다. 자세한 내용은 식별자를 참조하세요.

Windows 인증이 지원되지 않으므로 로그인 및 사용자 이름에 \ 문자를 사용할 수 없습니다.

Microsoft Azure SQL 데이터베이스은 공유 리소스에서 대규모 다중 테넌트 데이터베이스 서비스를 제공합니다. 모든 Microsoft Azure SQL 데이터베이스 고객에게 우수한 환경을 제공하기 위해 다음과 같은 경우 서비스가 종료될 수 있습니다.

  • 과도한 리소스 사용

  • 30분 이상 유휴 상태인 연결(자세한 내용은 유휴 상태 연결 복원 참조)

  • 서버 오류로 인한 장애 조치(failover)

note참고
최대 허용 기간은 리소스 사용에 따라 변경될 수 있습니다. 로그인된 세션이 30분 동안 유휴 상태이면 자동으로 종료됩니다. 연결 풀링을 사용하고 미사용 연결이 풀에 반환되도록 사용을 마친 연결을 항상 닫는 것이 좋습니다. 연결 풀링에 대한 자세한 내용은 연결 풀링을 참조하세요.

서비스 연결이 닫히면 오류가 발생합니다. 이러한 오류에 대한 자세한 내용은 Connection-Loss Errors를 참조하세요.

Azure SQL 데이터베이스 응용 프로그램에서 일시적 오류로 인해 연결이 닫힌 것인지 확인해야 합니다. 일시적 오류로 인해 연결이 닫히면 응용 프로그램에서 연결을 다시 설정한 다음 실패한 명령이나 쿼리를 실행할 수 있어야 합니다. 닫힌 연결 다시 시도에 대한 자세한 내용은 다음을 참조하세요.

참고 항목

표시:
© 2015 Microsoft