Cloud SQL 저장 프로시져

이 섹션에서는 Cloud SQL 인스턴스의 저장 프로시저에 대해 설명합니다.

저장 프로시져에는 재사용할 수 있는 SQL 코드가 포함되어 있습니다.

저장 프로시져를 실행하려면 EXEC 명령어를 사용하고 다음 변수를 바꿉니다.

  • procedure_name은 저장 프로시져 이름입니다.
  • database_name은 프로시져를 실행할 데이터베이스의 이름입니다.
  • schema_name은 프로시져를 실행할 스키마의 이름입니다.
EXEC database_name.schema_name.procedure_name @param1, @param2;
자세한 내용은 실행(Transact-SQL) 참조 페이지를 확인하세요.

저장 프로시저를 자체적으로 만들려면 저장 프로시져 만들기를 참조하세요.

SQL Server용 Cloud SQL 저장 프러시저

일괄 삽입을 위한 저장 프러시저

일괄 삽입에 대한 자세한 내용은 데이터 가져오기를 위한 일괄 삽입 사용을 참조하세요.

msdb.dbo.gcloudsql_bulk_insert

구문

EXEC msdb.dbo.gcloudsql_bulk_insert @database @schema @object @file ...

설명

이 저장 프러시저는 BULK INSERT 명령어와 매개변수 및 동작이 비슷합니다.

저장 프러시저는 Cloud Storage 버킷에 저장된 파일에서 Cloud SQL 인스턴스로 데이터를 가져옵니다. Cloud Storage 상호 운용 APIHMAC 키를 사용해서 Cloud Storage 버킷에 대한 액세스를 인증합니다.

이 저장 프러시저에는 다음 매개변수가 있습니다.

매개변수 유형 설명
@database SYSNAME 데이터를 가져올 대상 데이터베이스의 이름을 지정합니다.
@schema SYSNAME 테이블이 속한 스키마의 이름을 지정합니다.
@object NVARCHAR 데이터를 삽입할 테이블의 이름을 지정합니다.
@file NVARCHAR Cloud Storage 버킷의 가져오기 파일 경로를 지정합니다.

경로는 다음과 같은 형식이어야 합니다.


 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

다음을 바꿉니다.

  • BUCKET_NAME: Cloud Storage 버킷 이름을 지정합니다.
  • FILE_PATH: Cloud Storage 버킷에 저장된 파일의 경로를 지정합니다.
@batchsize INT 배치의 행 수를 지정합니다.
@checkconstraints BIT 대상 테이블의 모든 제약조건을 선택하도록 지정합니다.
@codepage NVARCHAR 파일에 있는 데이터의 코드 페이지를 지정합니다. RAW가 기본값이고 유일한 옵션입니다.
@datafiletype NVARCHAR 일괄 삽입 파일 유형을 지정합니다.
@datasource NVARCHAR 데이터를 가져오려는 외부 데이터 소스의 이름을 지정합니다.
@errorfile NVARCHAR 형식 오류가 있는 행을 수집하는 데 사용되는 파일의 경로를 지정합니다.

경로는 다음과 같은 형식이어야 합니다.


 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

다음을 바꿉니다.

  • BUCKET_NAME: Cloud Storage 버킷 이름을 지정합니다.
  • FILE_PATH: Cloud Storage 버킷에 저장된 파일의 경로를 지정합니다.

또한 Cloud SQL은 확장자가 .ERROR.txt인 파일을 만듭니다. 이 파일은 오류 파일의 각 행에 대한 참조를 포함하며 오류 진단을 제공합니다.

@errorfiledatasource NVARCHAR 오류 파일을 만들려는 외부 데이터 소스의 이름을 지정합니다.
@firstrow INT 로드할 첫 번째 행의 숫자 식별자를 지정합니다.
@firetriggers BIT 대상 테이블에 정의된 삽입 트리거가 대량 삽입 작업 중 실행되도록 지정합니다.
@formatfiledatasource NVARCHAR 형식 파일을 로드할 외부 데이터 소스의 이름을 지정합니다.
@keepidentity BIT ID 열에 대해 가져오기 파일의 ID 데이터를 사용하도록 지정합니다. 값은 false를 의미하는 0과 true를 의미하는 1입니다.
@keepnulls BIT 대량 가져오기 작업 중 열의 기본값을 삽입하는 대신 빈 열에 null 값이 유지되도록 지정합니다. 값은 false를 의미하는 0과 true를 의미하는 1입니다.
@kilobytesperbatch INT 배치당 데이터 양(KB)을 지정합니다.
@lastrow INT 로드할 마지막 행의 숫자 식별자를 지정합니다.
@maxerrors INT Cloud SQL이 작업을 취소하기 전까지 허용되는 오류 수를 지정합니다.
@ordercolumnsjson NVARCHAR 정렬 순서와 열을 JSON 형식으로 지정합니다. 예를 들면 다음과 같습니다.

[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}]

다음을 바꿉니다.

  • COLUMN_NAME: 열 이름입니다.
  • ORDER: 정렬 순서입니다. 이 매개변수의 값은 오름차순의 경우 asc이고 내림차순의 경우 desc입니다.
@rowsperbatch INT 배치당 행 수를 지정합니다.

배치 크기 선택에 대한 자세한 내용은 성능 고려사항을 참조하세요.

@tablock BIT 일괄 삽입 작업의 기간에 테이블 잠금이 사용되도록 지정합니다.
@format NVARCHAR 파일 형식을 지정합니다. 이 매개변수 값으로 CSV를 사용합니다.
@fieldquote NVARCHAR CSV 파일에서 따옴표 문자로 사용할 문자를 지정합니다.

값을 지정하지 않으면 Cloud SQL에서 "가 기본값으로 사용됩니다.

@formatfile NVARCHAR Cloud Storage에서 가져올 데이터 형식을 기술하는 파일 경로를 지정합니다.

경로는 다음과 같은 형식이어야 합니다.


 s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH
 

다음을 바꿉니다.

  • BUCKET_NAME: Cloud Storage 버킷 이름을 지정합니다.
  • FILE_PATH: Cloud Storage 버킷에 저장된 파일의 경로를 지정합니다.
@fieldterminator NVARCHAR char 및 widechar 데이터 파일의 필드 종료자를 지정합니다.
@rowterminator NVARCHAR char 및 widechar 데이터 파일의 행 종료자를 지정합니다.

SQL Server 감사 기능용 저장 프러시저

SQL Server 감사 기능 사용에 대한 자세한 내용은 SQL Server 데이터베이스 감사를 참조하세요.

msdb.dbo.gcloudsql_fn_get_audit_file

구문

msdb.dbo.gcloudsql_fn_get_audit_file

설명

SQL Server 감사 기능으로 생성된 감사 파일에서 데이터를 검색합니다.

이 저장 프로시져는 sys.fn_get_audit_file 함수와 동일한 매개변수를 수락합니다 msdb.dbo.gcloudsql_fn_get_audit_file과 관련된 자세한 내용은 해당 함수에 대한 문서를 참조하세요.

변경 데이터 캡처(CDC)를 위한 저장 프로시저

CDC에 대한 자세한 내용은 변경 데이터 캡처 사용 설정을 참조하세요.

msdb.dbo.gcloudsql_cdc_enable_db

구문

exec msdb.dbo.gcloudsql_cdc_enable_db databaseName

설명

데이터베이스의 변경 데이터 캡처를 사용 설정합니다.

  • databaseName - 이 저장 프로시져를 실행할 데이터베이스의 이름입니다.

msdb.dbo.gcloudsql_cdc_disable_db

구문

exec msdb.dbo.gcloudsql_cdc_disable_db databaseName

설명

데이터베이스의 CDC를 중지합니다.

  • databaseName - 이 저장 프로시져를 실행할 데이터베이스의 이름입니다.

Cloud SQL을 게시자로 사용하는 외부 복제를 위한 저장 프로시저

외부 구독자 또는 다른 Cloud SQL 인스턴스에 게시에 대한 자세한 내용은 외부 복제본 구성을 참조하세요.

msdb.dbo.gcloudsql_transrepl_setup_distribution

구문

    exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password

설명

배포 데이터베이스를 설정하는 래퍼 저장 프로시져입니다. 래퍼는 sp_adddistributor, sp_adddistributiondb, sp_adddistpublisher를 호출합니다.

  • 로그인 - 배포 데이터베이스를 연결하고 만드는 데 사용되는 기존 로그인입니다.
  • 비밀번호 - 배포자에 연결할 때 사용되는 비밀번호입니다.

msdb.dbo.gcloudsql_transrepl_replicationdboption

구문

    exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value

설명

sp_replicationdboption을 사용하는 게시자에 대해 데이터베이스의 게시 옵션을 사용 설정 또는 중지합니다.

  • db - 복제 옵션이 설정되는 데이터베이스입니다.
  • - 게시 옵션을 사용 설정하려면 True를 지정하고 게시 옵션을 사용 중지하려면 False를 지정할 수 있습니다.

msdb.dbo.gcloudsql_transrepl_addlogreader_agent

구문

    exec msdb.dbo.gcloudsql_transrepl_addlogreader_agent @db,@login,@password

설명

sp_addlogreader_agent를 사용하는 데이터베이스의 로그 리더 에이전트를 설정합니다.

  • db - 게시할 데이터베이스입니다.
  • 로그인 - 게시자에 연결할 때 사용되는 로그인입니다.
  • 비밀번호 - 연결 시 사용되는 비밀번호입니다.

msdb.dbo.gcloudsql_transrepl_addpublication

구문

    exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication

설명

트랜잭션 게시를 만들고 sp_addpublication의 래퍼 저장 프로시저 역할을 합니다.

  • db - 게시 중인 데이터베이스입니다.
  • 게시 - 새로 만든 게시의 이름입니다.

msdb.dbo.gcloudsql_transrepl_droppublication

구문

    exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication

설명

트랜잭션 게시를 삭제하고 sp_droppublication의 래퍼 저장 프로시저 역할을 합니다.

  • db - 게시를 삭제할 데이터베이스입니다.
  • 게시 - 삭제된 게시의 이름입니다.

msdb.dbo.gcloudsql_transrepl_addpublication_snapshot

구문

    exec msdb.dbo.gcloudsql_transrepl_addpublication_snapshot  @db,@publication,@login,@password

설명

게시 중인 데이터베이스의 스냅샷 에이전트를 만들고 sp_addpublication_snapshot의 래퍼 저장 프로시저로 작동합니다.

  • db - 게시를 삭제할 데이터베이스입니다.
  • 게시 - 삭제된 게시의 이름입니다.
  • 로그인 - 게시자에 연결할 때 사용되는 로그인입니다.
  • 비밀번호 - 연결 시 사용되는 비밀번호입니다.

msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent

구문

    exec msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent
      @db,@publication,@subscriber_db,@subscriber_login,
        @subscriber_password,@subscriber

설명

sp_addpushsubscription_agent의 래퍼 저장 프로시저로 작동하는 푸시 구독을 동기화하는 예약된 새 에이전트 작업을 생성합니다.

  • db - 게시된 데이터베이스입니다.
  • 게시 - 푸시 구독 에이전트를 추가할 게시의 이름입니다.
  • subscriber_db - 구독자의 데이터베이스입니다.
  • subscriber_login - 구독자에 연결할 때 사용된 로그인입니다.
  • subscriber_password - 구독자에 연결할 때 사용되는 비밀번호입니다.
  • subscriber - 구독자 인스턴스의 IP 이름입니다. 이 값은 <Hostname>,<PortNumber>로 지정할 수 있습니다.

msdb.dbo.gcloudsql_transrepl_addmonitoraccess

구문

    exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login

설명

배포 데이터베이스에서 복제 관련 테이블에 대해 복제 모니터 및 SELECT 문에 대한 액세스를 제공합니다.

  • 로그인 - 복제 모니터에 액세스하는 데 사용되는 로그인입니다.

msdb.dbo.gcloudsql_transrepl_changedistributor_property

구문

    exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value

설명

이 저장 프로시져는 heartbeat_interval을 변경하고 sp_changedistributor_property를 래핑합니다. 자세한 내용은 sp_changedistributor_property 문서를 참조하세요. heartbeat_interval 값에 대한 자세한 내용은 해당 문서도 참조하세요.

  • property - 배포 데이터베이스의 속성입니다.
  • value - 지정된 속성에 제공할 값입니다.

msdb.dbo.gcloudsql_transrepl_dropsubscriber

구문

    exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber

설명

구독자를 삭제하고 sp_dropsubscriber의 래퍼 저장 프로시저로 작동합니다.

  • subscriber - 삭제할 구독자의 IP 이름입니다. 이 값은 <Hostname>,<PortNumber>로 지정할 수 있습니다.

msdb.dbo.gcloudsql_transrepl_remove_distribution

구문

     exec msdb.dbo.gcloudsql_transrepl_remove_distribution

설명

다음의 래퍼 저장 프로시저 역할을 하는 배포 설정을 삭제합니다. sp_dropdistpublisher ,sp_dropdistributiondb, sp_dropdisdistributionor

다음 단계