Prosedur tersimpan Cloud SQL

Bagian ini menjelaskan prosedur yang tersimpan untuk instance Cloud SQL.

Prosedur tersimpan berisi kode SQL yang dapat Anda gunakan kembali.

Untuk menjalankan prosedur yang tersimpan, gunakan perintah EXEC dan ganti variabel berikut:

  • procedure_name adalah nama prosedur yang disimpan.
  • database_name adalah nama database tempat Anda ingin menjalankan prosedurnya.
  • schema_name adalah nama skema tempat Anda ingin menjalankan prosedurnya.
EXEC database_name.schema_name.procedure_name @param1, @param2;
Untuk mengetahui informasi selengkapnya, lihat halaman referensi EXECUTE (Transact-SQL).

Untuk membuat prosedur tersimpan Anda sendiri, lihat Membuat Prosedur Tersimpan.

Prosedur tersimpan Cloud SQL untuk SQL Server

Prosedur tersimpan untuk menggunakan penyisipan massal

Untuk informasi tentang penyisipan massal, lihat Menggunakan penyisipan massal untuk mengimpor data.

msdb.dbo.gcloudsql_bulk_insert

Sintaks

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

Deskripsi

Prosedur tersimpan ini memiliki parameter dan perilaku yang mirip dengan perintah BULK INSERT.

Prosedur tersimpan mengimpor data ke instance Cloud SQL dari file yang disimpan di bucket Cloud Storage. API ini menggunakan API interoperabilitas Cloud Storage dan kunci HMAC untuk mengautentikasi akses ke bucket Cloud Storage.

Prosedur tersimpan ini memiliki parameter berikut:

Parameter Jenis Deskripsi
@database SYSNAME Menentukan nama database target tempat data akan diimpor.
@schema SYSNAME Menentukan nama skema tempat tabel berada.
@object NVARCHAR Menentukan nama tabel tempat data akan disisipkan.
@file NVARCHAR Menentukan jalur ke file impor di bucket Cloud Storage.

Jalur harus memiliki format berikut:

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

Ganti kode berikut:

  • BUCKET_NAME: menentukan nama bucket Cloud Storage.
  • FILE_PATH: menentukan jalur ke file yang disimpan di bucket Cloud Storage.
@batchsize INT Menentukan jumlah baris dalam batch.
@checkconstraints BIT Menentukan bahwa semua batasan pada tabel target harus diperiksa.
@codepage NVARCHAR Menentukan halaman kode data dalam file. RAW adalah opsi default dan satu-satunya.
@datafiletype NVARCHAR Menentukan jenis file penyisipan massal.
@datasource NVARCHAR Menentukan nama sumber data eksternal tempat Anda ingin mengimpor data.
@errorfile NVARCHAR Menentukan jalur ke file yang digunakan untuk mengumpulkan baris yang memiliki error pemformatan.

Jalur harus memiliki format berikut:

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

Ganti kode berikut:

  • BUCKET_NAME: menentukan nama bucket Cloud Storage.
  • FILE_PATH: menentukan jalur ke file yang disimpan di bucket Cloud Storage.

Selain itu, Cloud SQL membuat file dengan ekstensi .ERROR.txt. File ini berisi referensi ke setiap baris dalam file error dan memberikan diagnostik error.

@errorfiledatasource NVARCHAR Menentukan nama sumber data eksternal tempat Anda ingin membuat file error.
@firstrow INT Menentukan ID numerik baris pertama yang akan dimuat.
@firetriggers BIT Menunjukkan bahwa setiap pemicu penyisipan yang ditentukan pada tabel target akan dieksekusi selama operasi penyisipan massal.
@formatfiledatasource NVARCHAR Menentukan nama sumber data eksternal tempat Anda harus memuat file format.
@keepidentity BIT Menentukan penggunaan data identitas dari file impor untuk kolom identitas. Nilainya adalah 0, yang berarti salah, dan 1, yang berarti benar.
@keepnulls BIT Menentukan apakah kolom kosong harus mempertahankan nilai null selama operasi impor massal, bukan memiliki nilai default untuk kolom yang disisipkan. Nilainya adalah 0, yang berarti salah, dan 1, yang berarti benar.
@kilobytesperbatch INT Menentukan jumlah data per batch, dalam KB.
@lastrow INT Menentukan ID numerik baris terakhir yang akan dimuat.
@maxerrors INT Menentukan jumlah error yang diizinkan, sebelum Cloud SQL membatalkan operasi.
@ordercolumnsjson NVARCHAR Menentukan urutan pengurutan dan kolom, dalam format JSON. Contoh:
[{"name": "COLUMN_NAME","order": "ORDER"},{"name": "COLUMN_NAME","order": "ORDER"}]

Ganti kode berikut:

  • COLUMN_NAME: nama kolom.
  • ORDER: urutan pengurutan. Nilai parameter ini dapat berupa asc untuk menaik atau desc untuk menurun.
@rowsperbatch INT Menentukan jumlah baris per batch.

Untuk informasi selengkapnya tentang cara memilih ukuran batch, lihat Pertimbangan performa

@tablock BIT Menentukan bahwa kunci tabel diambil selama durasi operasi penyisipan massal.
@format NVARCHAR Menentukan format file. Gunakan CSV sebagai nilai parameter ini.
@fieldquote NVARCHAR Menentukan karakter yang akan digunakan sebagai karakter kutip dalam file CSV.

Jika Anda tidak menentukan nilai, Cloud SQL akan menggunakan " sebagai nilai default.

@formatfile NVARCHAR Menentukan jalur file di Cloud Storage yang menjelaskan format data yang akan diimpor.

Jalur harus memiliki format berikut:

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

Ganti kode berikut:

  • BUCKET_NAME: menentukan nama bucket Cloud Storage.
  • FILE_PATH: menentukan jalur ke file yang disimpan di bucket Cloud Storage.
@fieldterminator NVARCHAR Menentukan terminator kolom untuk file data char dan widechar.
@rowterminator NVARCHAR Menentukan terminator baris untuk file data char dan widechar.

Prosedur tersimpan untuk fungsi Audit Server SQL

Untuk mengetahui informasi tentang penggunaan fungsi Audit SQL Server, lihat Audit database SQL Server.

msdb.dbo.gcloudsql_fn_get_audit_file

Sintaks

msdb.dbo.gcloudsql_fn_get_audit_file

Deskripsi

Mengambil data dari file audit yang dibuat oleh fungsi Audit SQL Server.

Prosedur tersimpan ini menerima parameter yang sama dengan fungsi sys.fn_get_audit_file. Lihat dokumentasi fungsi tersebut untuk informasi selengkapnya terkait msdb.dbo.gcloudsql_fn_get_audit_file.

Prosedur tersimpan untuk pengambilan data perubahan (CDC)

Untuk informasi selengkapnya tentang CDC, lihat Mengaktifkan perubahan pengambilan data.

msdb.dbo.gcloudsql_cdc_enable_db

Sintaks

exec msdb.dbo.gcloudsql_cdc_enable_db databaseName

Deskripsi

Mengaktifkan pengambilan data perubahan untuk database.

  • databaseName - Nama database untuk menjalankan prosedur tersimpan ini.

msdb.dbo.gcloudsql_cdc_disable_db

Sintaks

exec msdb.dbo.gcloudsql_cdc_disable_db databaseName

Deskripsi

Menonaktifkan CDC untuk database.

  • databaseName - Nama database untuk menjalankan prosedur tersimpan ini.

Prosedur tersimpan untuk replikasi eksternal dengan Cloud SQL sebagai penayang

Untuk mengetahui informasi selengkapnya tentang cara memublikasikan ke subscriber eksternal, atau ke instance Cloud SQL lainnya, lihat Mengonfigurasi replika eksternal.

msdb.dbo.gcloudsql_transrepl_setup_distribution

Sintaks

    exec msdb.dbo.gcloudsql_transrepl_setup_distribution @login,@password

Deskripsi

Prosedur tersimpan wrapper yang menyiapkan database distribusi. Wrapper akan memanggil hal berikut: sp_adddistributor, sp_adddistributiondb, dan sp_adddistpublisher.

  • login - Login yang ada yang digunakan untuk menghubungkan dan membuat database distribusi.
  • sandi - Sandi yang digunakan saat menghubungkan ke distributor.

msdb.dbo.gcloudsql_transrepl_replicationdoption

Sintaks

    exec msdb.dbo.gcloudsql_transrepl_replicationdboption @db,@value

Deskripsi

Mengaktifkan atau menonaktifkan opsi publikasi database untuk penayang yang menggunakan sp_replicationdboption.

  • db - Database yang opsi replikasinya sedang ditetapkan.
  • value - Memungkinkan Anda menentukan True untuk mengaktifkan opsi publikasi, atau False untuk menonaktifkan opsi publikasi.

msdb.dbo.gcloudsql_transrepl_addlogreader_agent

Sintaks

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

Deskripsi

Menyiapkan agen pembaca log untuk database yang menggunakan sp_addlogreader_agent.

  • db - Database yang akan dipublikasikan.
  • login - Login yang digunakan saat terhubung ke penayang.
  • sandi - Sandi yang digunakan saat terhubung.

msdb.dbo.gcloudsql_transrepl_addpublication

Sintaks

    exec msdb.dbo.gcloudsql_transrepl_addpublication @db,@publication

Deskripsi

Membuat publikasi transaksional, dan bertindak sebagai prosedur yang disimpan oleh wrapper untuk sp_addpublication.

  • db - Database yang sedang dipublikasikan.
  • publikasi - Nama publikasi baru yang dibuat.

msdb.dbo.gcloudsql_transrepl_droppublications

Sintaks

    exec msdb.dbo.gcloudsql_transrepl_droppublication @db,@publication

Deskripsi

Menghapus publikasi transaksional, dan bertindak sebagai prosedur yang disimpan oleh wrapper untuk sp_droppublication.

  • db - Database yang publikasinya dihapus.
  • publikasi - Nama publikasi dihapus.

msdb.dbo.gcloudsql_transrepl_addpublication_snapshot

Sintaks

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

Deskripsi

Membuat agen snapshot untuk database yang sedang dipublikasikan, yang bertindak sebagai prosedur tersimpan wrapper untuk sp_addpublication_snapshot.

  • db - Database yang publikasinya dihapus.
  • publikasi - Nama publikasi dihapus.
  • login - Login yang digunakan saat terhubung ke penayang.
  • sandi - Sandi yang digunakan saat terhubung.

msdb.dbo.gcloudsql_transrepl_addpushsubscription_agent

Sintaks

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

Deskripsi

Membuat tugas agen terjadwal yang baru untuk menyinkronkan langganan push, yang bertindak sebagai prosedur tersimpan wrapper untuk sp_addpushsubscription_agent.

  • db - Database yang dipublikasikan.
  • publikasi - Nama publikasi yang akan ditambahi agen langganan push.
  • subscriber_db - Database di pelanggan.
  • subscriber_login - Login yang digunakan saat terhubung ke pelanggan.
  • subscriber_password - Sandi yang digunakan saat terhubung ke pelanggan.
  • subscriber - Nama IP instance pelanggan. Nilai ini dapat ditentukan sebagai: <Hostname>,<PortNumber>

msdb.dbo.gcloudsql_transrepl_addmonitoraccess

Sintaks

    exec msdb.dbo.gcloudsql_transrepl_addmonitoraccess @login

Deskripsi

Memberikan akses ke Monitor Replikasi dan pernyataan SELECT pada tabel terkait replikasi di database distribusi.

  • login - Login yang digunakan untuk mengakses pemantauan replikasi.

msdb.dbo.gcloudsql_transrepl_changesistributor_property

Sintaks

    exec msdb.dbo.gcloudsql_transrepl_changedistributor_property @property,@value

Deskripsi

Prosedur tersimpan ini mengubah heartbeat_interval, dan menggabungkan sp_changedistributor_property. Untuk mengetahui informasi selengkapnya, baca dokumentasi untuk sp_changedistributor_property. Lihat juga dokumentasi tersebut untuk mengetahui informasi selengkapnya tentang nilai heartbeat_interval.

  • properti - Properti untuk database distribusi.
  • nilai - Nilai yang akan diberikan untuk properti yang ditentukan.

msdb.dbo.gcloudsql_transrepl_dropsubscriber

Sintaks

    exec msdb.dbo.gcloudsql_transrepl_dropsubscriber @subscriber

Deskripsi

Menghapus subscriber, yang bertindak sebagai prosedur penyimpanan wrapper untuk sp_dropsubscriber.

  • subscriber - Nama IP pelanggan yang akan dihapus. Nilai ini dapat ditentukan sebagai: <Hostname>,<PortNumber>

msdb.dbo.gcloudsql_transrepl_remove_distribution

Sintaks

     exec msdb.dbo.gcloudsql_transrepl_remove_distribution

Deskripsi

Menghapus pengaturan distribusi, yang bertindak sebagai prosedur yang disimpan wrapper untuk hal berikut: sp_dropdistpublisher, sp_dropdistributiondb, dan sp_dropdistributor.

Langkah berikutnya