Aktifkan Stretch Database untuk tabel

Berlaku untuk: SQL Server 2016 (13.x) dan yang lebih baru - Hanya Windows

Penting

Stretch Database tidak digunakan lagi di SQL Server 2022 (16.x) dan Azure SQL Database. Fitur ini akan dihapus dalam versi Mesin Database di masa mendatang. Hindari menggunakan fitur ini dalam pekerjaan pengembangan baru, dan rencanakan untuk memodifikasi aplikasi yang saat ini menggunakan fitur ini.

Untuk mengonfigurasi tabel untuk Stretch Database, pilih Stretch > Enable untuk tabel di SQL Server Management Studio untuk membuka wizard Aktifkan Tabel untuk Stretch . Anda juga dapat menggunakan Transact-SQL untuk mengaktifkan Stretch Database pada tabel yang sudah ada, atau untuk membuat tabel baru dengan Stretch Database diaktifkan.

Penting

Dukungan Stretch Database dihapus di SQL Server Management Studio v19. Untuk mengelola Stretch Database, Anda dapat menggunakan SQL Server Management Studio v18.9.1 atau yang lebih rendah.

  • Jika Anda menyimpan data dingin dalam tabel terpisah, Anda dapat memigrasikan seluruh tabel.

  • Jika tabel Anda berisi data panas dan dingin, Anda dapat menentukan fungsi filter untuk memilih baris yang akan dimigrasikan.

Prasyarat. Jika Anda memilih Stretch > Enable untuk tabel, dan Anda belum mengaktifkan Stretch Database untuk database, wizard pertama-tama mengonfigurasi database untuk Stretch Database. Ikuti langkah-langkah dalam Memulai dengan menjalankan Panduan Aktifkan Database untuk Stretch alih-alih langkah-langkah dalam artikel ini.

Izin. Mengaktifkan Stretch Database pada database atau tabel memerlukan izin db_owner. Mengaktifkan Stretch Database pada tabel juga memerlukan izin UBAH pada tabel.

Catatan

Nantinya, jika Anda menonaktifkan Stretch Database, ingatlah bahwa menonaktifkan Stretch Database untuk tabel atau untuk database tidak menghapus objek jarak jauh. Jika Anda ingin menghapus tabel jarak jauh atau database jarak jauh, Anda harus menghilangkannya dengan menggunakan portal manajemen Azure. Objek jarak jauh terus dikenakan biaya Azure hingga Anda menghapusnya secara manual.

Menggunakan wizard

1. Luncurkan wizard

  1. Di SQL Server Management Studio, di Object Explorer, pilih tabel tempat Anda ingin mengaktifkan Stretch.

  2. Klik kanan dan pilih Aktifkan Stretch > untuk meluncurkan wizard.

2. Pendahuluan

Tinjau tujuan wizard dan prasyarat.

3. Pilih tabel database

Konfirmasikan bahwa tabel yang ingin Anda aktifkan ditampilkan dan dipilih.

Anda bisa memigrasikan seluruh tabel atau Anda bisa menentukan fungsi filter dalam wizard. Jika Anda ingin menggunakan jenis fungsi filter yang berbeda untuk memilih baris yang akan dimigrasikan, lakukan salah satu hal berikut ini.

  • Keluar dari wizard dan jalankan pernyataan ALTER TABLE untuk mengaktifkan Stretch untuk tabel dan untuk menentukan fungsi filter.

  • Jalankan pernyataan ALTER TABLE untuk menentukan fungsi filter setelah Anda keluar dari wizard. Untuk langkah-langkah yang diperlukan, lihat Menambahkan fungsi filter setelah menjalankan Wizard.

Sintaks ALTER TABLE dijelaskan nanti dalam artikel ini.

4. Ringkasan

Tinjau nilai yang Anda masukkan dan opsi yang Anda pilih di wizard. Lalu pilih Selesai untuk mengaktifkan Stretch.

5. Hasil

Tinjau hasilnya.

Menggunakan Transact-SQL

Anda dapat mengaktifkan Stretch Database untuk tabel yang sudah ada atau membuat tabel baru dengan Stretch Database diaktifkan dengan menggunakan Transact-SQL.

Opsi

Gunakan opsi berikut saat Anda menjalankan CREATE TABLE atau ALTER TABLE untuk mengaktifkan Stretch Database pada tabel.

  • Secara opsional, gunakan FILTER_PREDICATE = <function> klausul untuk menentukan fungsi untuk memilih baris yang akan dimigrasikan jika tabel berisi data panas dan dingin. Predikat harus memanggil fungsi bernilai tabel sebaris. Untuk informasi selengkapnya, lihat Memilih baris untuk dimigrasikan dengan menggunakan fungsi filter. Jika Anda tidak menentukan fungsi filter, seluruh tabel akan dimigrasikan.

    Penting

    Jika Anda menyediakan fungsi filter yang berkinerja buruk, migrasi data juga berkinerja buruk. Stretch Database menerapkan fungsi filter ke tabel dengan menggunakan operator CROSS APPLY.

  • Tentukan MIGRATION_STATE = OUTBOUND untuk segera memulai migrasi data atau MIGRATION_STATE = PAUSED untuk menunda awal migrasi data.

Mengaktifkan Stretch Database untuk tabel yang sudah ada

Untuk mengonfigurasi tabel yang sudah ada untuk Stretch Database, jalankan perintah ALTER TABLE.

Contoh berikut memigrasikan seluruh tabel dan segera memulai migrasi data.

USE [<Stretch-enabled database name>];
GO
ALTER TABLE [<table name>]
    SET ( REMOTE_DATA_ARCHIVE = ON ( MIGRATION_STATE = OUTBOUND ) );
GO

Contoh berikut hanya memigrasikan baris yang diidentifikasi oleh dbo.fn_stretchpredicate fungsi bernilai tabel sebaris dan menunda migrasi data. Untuk informasi selengkapnya tentang fungsi filter, lihat Memilih baris untuk dimigrasikan dengan menggunakan fungsi filter.

USE [<Stretch-enabled database name>];
GO
ALTER TABLE [<table name>]
    SET ( REMOTE_DATA_ARCHIVE = ON (
        FILTER_PREDICATE = dbo.fn_stretchpredicate(),
        MIGRATION_STATE = PAUSED ) );
GO

Untuk informasi selengkapnya, lihat ALTER TABLE (Transact-SQL).

Membuat tabel baru dengan Stretch Database diaktifkan

Untuk membuat tabel baru dengan Stretch Database diaktifkan, jalankan perintah CREATE TABLE.

Contoh berikut memigrasikan seluruh tabel dan segera memulai migrasi data.

USE [<Stretch-enabled database name>];
GO
CREATE TABLE [<table name>]
    (
        col1 int
        /* replace the sample "col1" column shown above, with the actual list of columns */
    )
    WITH ( REMOTE_DATA_ARCHIVE = ON ( MIGRATION_STATE = OUTBOUND ) );
GO

Contoh berikut hanya memigrasikan baris yang diidentifikasi oleh dbo.fn_stretchpredicate fungsi bernilai tabel sebaris dan menunda migrasi data. Untuk informasi selengkapnya tentang fungsi filter, lihat Memilih baris untuk dimigrasikan dengan menggunakan fungsi filter.

USE [<Stretch-enabled database name>];
GO
CREATE TABLE [<table name>]
    (
        col1 int
        /* replace the sample "col1" column shown above, with the actual list of columns */
    )
    WITH ( REMOTE_DATA_ARCHIVE = ON (
        FILTER_PREDICATE = dbo.fn_stretchpredicate(),
        MIGRATION_STATE = PAUSED ) );
GO

Untuk informasi selengkapnya, lihat CREATE TABLE (Transact-SQL).

Baca juga