SQL Server Reporting Services(SSRS)

Cloud SQL에서는 페이지로 나눈 보고서를 생성, 배포, 관리하는 데 도움이 되는 SQL Server Reporting Services(SSRS)를 지원합니다.

이 페이지에서는 Cloud SQL에서 SSRS를 사용하기 위한 기본 요건, 설정 절차, 제한사항을 제공합니다.

시작하기 전에

Cloud SQL에서 SSRS를 사용하려면 다음 요건을 충족해야 합니다.

  • 보고서 서버 데이터베이스를 호스팅할 Cloud SQL 인스턴스
  • SSRS를 설치하고 실행하는 호스트. Compute Engine VM 또는 Compute Engine을 사용하지 않는 호스트일 수 있습니다. 설치 안내는 SQL Server Reporting Services 설치를 참조하세요.
  • Cloud SQL 인스턴스의 호스트 이름을 할당하는 Cloud DNS 레코드 다음 옵션 중 하나를 사용하여 호스트 이름을 만들 수 있습니다.

    • Cloud DNS: Cloud DNS를 사용하여 인스턴스를 가리키는 호스트 이름을 만듭니다.
    • 커스텀 DNS 영역: 자체 DNS 영역을 관리하는 경우 원하는 호스트 이름을 인스턴스의 IP 주소에 매핑하는 A 레코드를 만듭니다.
    • 로컬 호스트 이름 매핑: 시스템의 hosts 파일을 수정하여 인스턴스의 커스텀 별칭을 만듭니다.
  • 두 개의 기존 Cloud SQL 로그인, 설정 로그인 및 서비스 로그인. 로그인을 만들려면 gcloud sql users create를 참조하세요.

    Windows 인증을 사용하려면 관리형 Active Directory를 사용하여 SQL Server 인스턴스와 SSRS를 실행하는 호스트를 조인해야 합니다. 자세한 내용은 Cloud SQL에 관리형 Microsoft AD 사용을 참조하세요.

절차

Cloud SQL에서 SSRS를 설정하려면 다음 단계를 수행합니다.

  1. SSRS 임대를 획득합니다.
  2. SSRS를 설정합니다.
  3. SSRS 임대를 해제합니다.

SSRS 임대 획득

SSRS를 사용하려면 설정 중 승격된 권한이 필요합니다. 인스턴스에 대해 SSRS 임대를 획득하려면 다음 명령어를 사용합니다.

gcloud

다음 명령어를 사용하여 임대를 획득합니다.

gcloud sql instances acquire-ssrs-lease INSTANCE_NAME \
--project=PROJECT_NAME \
--setup-login=SETUP_LOGIN \
--service-login=SERVICE_LOGIN \
--report-database=REPORT_DATABASE \
--duration=DURATION \

다음 표에서는 이 작업의 gcloud 매개변수를 설명합니다.

매개변수 설명 허용되는 값 기본값
--setup-login 필수 항목입니다. SSRS 설정 중에 인스턴스에 연결하는 데 사용되는 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청하는 첫 번째 로그인입니다. sqlserver와 같은 기존 SQL Server 로그인이어야 합니다. 없음
--service-login 필수 항목입니다. SSRS 설정 중 보고서 서버 데이터베이스에 연결하는 데 사용하는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청되는 두 번째 로그인입니다. 기존 SQL Server 로그인이어야 하며 설치 로그인과 달라야 합니다. 없음
--report-database 필수 항목입니다. 인스턴스의 기존 또는 새 보고서 데이터베이스 이름입니다. 보고서 데이터베이스 이름에 공백, 괄호, 영어 이외의 문자와 같은 특정 특수문자는 허용되지 않습니다. 없음
--duration 선택사항입니다. SSRS 설정을 수행할 수 있는 SSRS 임대가 활성화된 시간입니다. 1~12시간 사이입니다. 예를 들면 4h입니다. 5시간

REST v1

REST API를 사용하여 인스턴스에서 SSRS 임대를 획득할 수 있습니다. SSRS 임대를 획득하려면 다음을 지정합니다.
  • 서로 다른 SQL Server 로그인 두 개, 설정 로그인 및 서비스 로그인
  • 보고서 데이터베이스 이름
  • 임대 활성 기간

DURATION 필드만 선택사항입니다. 자세한 내용은 AcquireSsrsLeaseContext를 참조하세요.

  • PROJECT_ID: 프로젝트 ID입니다.
  • INSTANCE_NAME: 인스턴스 이름
  • SETUP_LOGIN: SSRS 설정 중에 SQL Server 인스턴스에 연결하는 데 사용되는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청하는 첫 번째 로그인입니다.
  • SERVICE_LOGIN: SSRS 설정 중 보고서 서버 데이터베이스에 연결하는 데 사용하는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청되는 두 번째 로그인입니다.
  • REPORT_DATABASE: 인스턴스의 기존 또는 새 보고서 데이터베이스 이름입니다. Microsoft에서는 보고서 데이터베이스 이름에 공백, 괄호, 영어 이외의 문자와 같은 특정 특수문자를 허용하지 않습니다.
  • DURATION: (선택사항) SSRS 설정을 수행할 수 있는 SSRS 임대가 활성화된 시간입니다. 1~12시간 사이입니다(예: 4h).

HTTP 메서드 및 URL:

POST http://sqladmin.googleapis.com/sql/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLease

JSON 요청 본문:

{
  "acquireSsrsLeaseContext": {
    "setupLogin": SETUP_LOGIN,
    "serviceLogin": SERVICE_LOGIN,
    "reportDatabase": REPORT_DATABASE,
    "duration": DURATION,
  }
}

REST v1beta4

REST API를 사용하여 인스턴스에서 SSRS 임대를 획득할 수 있습니다. SSRS 임대를 획득하려면 다음을 지정합니다.
  • 서로 다른 SQL Server 로그인 두 개, 설정 로그인 및 서비스 로그인
  • 보고서 데이터베이스 이름
  • 임대 활성 기간

DURATION 필드만 선택사항입니다. 자세한 내용은 AcquireSsrsLeaseContext를 참조하세요.

  • PROJECT_ID: 프로젝트 ID입니다.
  • INSTANCE_NAME: 인스턴스 이름
  • SETUP_LOGIN: SSRS 설정 중에 SQL Server 인스턴스에 연결하는 데 사용되는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청하는 첫 번째 로그인입니다.
  • SERVICE_LOGIN: SSRS 설정 중 보고서 서버 데이터베이스에 연결하는 데 사용하는 SQL Server 로그인입니다. 이는 보고서 서버 데이터베이스를 설정할 때 보고서 서버 구성 관리자에서 요청되는 두 번째 로그인입니다.
  • REPORT_DATABASE: 인스턴스의 기존 또는 새 보고서 데이터베이스 이름입니다. Microsoft에서는 보고서 데이터베이스 이름에 공백, 괄호, 영어 이외의 문자와 같은 특정 특수문자를 허용하지 않습니다.
  • DURATION: (선택사항) SSRS 설정을 수행할 수 있는 SSRS 임대가 활성화된 시간입니다. 1~12시간 사이입니다(예: 4h).

HTTP 메서드 및 URL:

POST http://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/acquireSsrsLease

JSON 요청 본문:

{
  "acquireSsrsLeaseContext": {
    "setupLogin": SETUP_LOGIN,
    "serviceLogin": SERVICE_LOGIN,
    "reportDatabase": REPORT_DATABASE,
    "duration": DURATION,
  }
}

SSRS 설정

SSRS 설정을 수행하려면 다음 단계를 따르세요.

  1. SSRS가 설치된 호스트에서 Reporting Services 구성 관리자를 엽니다.
  2. 로컬 보고서 서버 인스턴스에 연결합니다.
  3. 데이터베이스 변경을 클릭합니다.
    1. Cloud DNS에 생성된 SQL Server 호스트 이름과 SSRS 임대에 사용된 설정 로그인의 SQL Server 로그인 사용자 인증 정보를 입력합니다.
    2. 새 보고서 서버 데이터베이스 또는 SSRS 임대에 사용된 기존 보고서 데이터베이스의 이름을 입력합니다.
    3. SSRS 임대에 사용된 서비스 로그인의 SQL Server 로그인 사용자 인증 정보를 입력합니다.
    4. 다음을 클릭하고 마지막 단계를 완료합니다.
  4. 아직 설정하지 않았으면 웹 서비스 URL웹 포털 URL을 구성합니다. 웹 포털이 몇 초 내에 성공적으로 로드됩니다.

SSRS 임대 해제

임대를 수동으로 해제하거나 임대가 자동으로 만료될 때까지 기다릴 수 있습니다. 설정에 필요한 승격된 권한을 되돌리고 서비스 로그인이 보고서 데이터베이스에 연결하도록 허용하려면 임대를 해제해야 합니다. 임대가 만료되거나 수동으로 해제될 때까지 서비스 로그인은 보고서 데이터베이스에 액세스할 수 없습니다. 다음 명령어는 SSRS 임대를 해제합니다.

gcloud

다음 명령어를 사용하여 임대를 해제합니다.

gcloud sql instances release-ssrs-lease INSTANCE_NAME \
--project=PROJECT_NAME

REST v1

REST API를 사용하여 인스턴스의 SSRS 임대를 해제할 수 있습니다. 다음 요청 예시에서 볼 수 있듯이 인스턴스 이름과 프로젝트 ID만 제공하면 됩니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • INSTANCE_NAME: 인스턴스 이름

HTTP 메서드 및 URL:

POST http://sqladmin.googleapis.com/v1/projects/PROJECT_ID/instances/INSTANCE_NAME/releaseSsrsLease

REST v1beta4

REST API를 사용하여 인스턴스의 SSRS 임대를 해제할 수 있습니다. 다음 요청 예시에서 볼 수 있듯이 인스턴스 이름과 프로젝트 ID만 제공하면 됩니다.

  • PROJECT_ID: 프로젝트 ID입니다.
  • INSTANCE_NAME: 인스턴스 이름

HTTP 메서드 및 URL:

POST http://sqladmin.googleapis.com/sql/v1beta4/projects/PROJECT_ID/instances/INSTANCE_NAME/releaseSsrsLease

제한사항

  • 보고서 데이터베이스 설정에는 Active Directory 로그인이 지원되지 않습니다.
  • 보고서 데이터베이스 이름에는 영숫자 문자와 하이픈만 포함할 수 있습니다.
  • 보고서 서버 구성 관리자를 통해 보고서 데이터베이스에 연결하는 데 사용되는 로그인을 변경하려면 임대를 획득해야 합니다.
  • 서비스 로그인으로 처리되는 데이터베이스의 경우 SSRS 설정 완료와 임대 해제 사이에 sql 파일 가져오기 및 복제된 데이터베이스 삭제 작업이 실패할 수 있습니다.
  • 가져온 보고서 데이터베이스에서 서비스 로그인을 위한 데이터베이스 사용자를 삭제하고 다시 만들어야 합니다. 이는 가져온 데이터베이스의 기존 사용자가 새 인스턴스에 속하지 않기 때문입니다.
  • SSRS에서 수평 확장 배포를 위해 새 보고서 서버를 추가할 때는 보고서 서버를 호스팅하는 모든 새 Windows VM에 대해 SSRS 임대를 획득하고 해제해야 합니다. 각 Cloud SQL 인스턴스에서 기존 보고서 데이터베이스를 사용하여 새 보고서 데이터베이스를 구성해야 합니다.
  • 보고서 서버 구성 관리자에서 보고서 서버 데이터베이스의 로그인 사용자 인증 정보를 변경할 때마다 새 임대를 생성해야 합니다.