이 섹션에서는 Cloud SQL 인스턴스의 저장 프로시저에 대해 설명합니다.
저장 프로시져에는 재사용할 수 있는 SQL 코드가 포함되어 있습니다.
저장 프로시져를 실행하려면 EXEC
명령어를 사용하고 다음 변수를 바꿉니다.
- procedure_name은 저장 프로시져 이름입니다.
- database_name은 프로시져를 실행할 데이터베이스의 이름입니다.
- schema_name은 프로시져를 실행할 스키마의 이름입니다.
EXEC database_name.schema_name.procedure_name @param1, @param2;
저장 프로시저를 자체적으로 만들려면 저장 프로시져 만들기를 참조하세요.
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 상호 운용 API 및 HMAC 키를 사용해서 Cloud Storage 버킷에 대한 액세스를 인증합니다.
이 저장 프러시저에는 다음 매개변수가 있습니다.
매개변수 | 유형 | 설명 |
---|---|---|
@database |
SYSNAME |
데이터를 가져올 대상 데이터베이스의 이름을 지정합니다. |
@schema |
SYSNAME |
테이블이 속한 스키마의 이름을 지정합니다. |
@object |
NVARCHAR |
데이터를 삽입할 테이블의 이름을 지정합니다. |
@file |
NVARCHAR |
Cloud Storage 버킷의 가져오기 파일 경로를 지정합니다.
경로는 다음과 같은 형식이어야 합니다. s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH 다음을 바꿉니다.
|
@batchsize |
INT |
배치의 행 수를 지정합니다. |
@checkconstraints |
BIT |
대상 테이블의 모든 제약조건을 선택하도록 지정합니다. |
@codepage |
NVARCHAR |
파일에 있는 데이터의 코드 페이지를 지정합니다.
RAW 가 기본값이고 유일한 옵션입니다. |
@datafiletype |
NVARCHAR |
일괄 삽입 파일 유형을 지정합니다. |
@datasource |
NVARCHAR |
데이터를 가져오려는 외부 데이터 소스의 이름을 지정합니다. |
@errorfile |
NVARCHAR |
형식 오류가 있는 행을 수집하는 데 사용되는 파일의 경로를 지정합니다.
경로는 다음과 같은 형식이어야 합니다. s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH 다음을 바꿉니다.
또한 Cloud SQL은 확장자가 |
@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"}] 다음을 바꿉니다.
|
@rowsperbatch |
INT |
배치당 행 수를 지정합니다.
배치 크기 선택에 대한 자세한 내용은 성능 고려사항을 참조하세요. |
@tablock |
BIT |
일괄 삽입 작업의 기간에 테이블 잠금이 사용되도록 지정합니다. |
@format |
NVARCHAR |
파일 형식을 지정합니다. 이 매개변수 값으로 CSV 를 사용합니다. |
@fieldquote |
NVARCHAR |
CSV 파일에서 따옴표 문자로 사용할 문자를 지정합니다.
값을 지정하지 않으면 Cloud SQL에서 |
@formatfile |
NVARCHAR |
Cloud Storage에서 가져올 데이터 형식을 기술하는 파일 경로를 지정합니다.
경로는 다음과 같은 형식이어야 합니다. s3://storage.googleapis.com/BUCKET_NAME/FILE_PATH 다음을 바꿉니다.
|
@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
다음 단계
- 변경 데이터 캡처(CDC) 사용 설정 방법 알아보기
- 외부 복제본 구성 방법 알아보기