Bagikan melalui


Memindahkan indeks yang ada ke grup file lain

Berlaku untuk: SQL Server Azure SQL Managed Instance

Topik ini menjelaskan cara memindahkan indeks yang ada dari grup file saat ini ke grup file yang berbeda di SQL Server dengan menggunakan SQL Server Management Studio atau Transact-SQL.

Untuk pertimbangan desain termasuk mengapa Anda mungkin ingin menempatkan indeks nonclustered pada grup file yang berbeda, lihat Penempatan Indeks pada Filegroups atau Skema Partisi.

Sebelum Anda mulai

Pembatasan dan batasan

  • Jika tabel memiliki indeks berkluster, memindahkan indeks berkluster ke grup file baru memindahkan tabel ke grup file tersebut.

  • Anda tidak dapat memindahkan indeks yang dibuat menggunakan batasan UNIQUE atau PRIMARY KEY menggunakan Management Studio. Untuk memindahkan indeks ini, gunakan pernyataan CREATE INDEX dengan opsi (DROP_EXISTING=ON) di Transact-SQL.

Keamanan

Izin

Memerlukan izin ALTER pada tabel atau tampilan. Pengguna harus menjadi anggota peran server tetap sysadmin atau peran database tetap db_ddladmin dan db_owner .

Menggunakan SQL Server Management Studio

Untuk memindahkan indeks yang sudah ada ke grup file lain menggunakan Table Designer

  1. Di Object Explorer, klik tanda plus untuk memperluas database yang berisi tabel yang berisi indeks yang ingin Anda pindahkan.

  2. Klik tanda plus untuk memperluas folder Tabel .

  3. Klik kanan tabel yang berisi indeks yang ingin Anda pindahkan dan pilih Desain.

  4. Pada menu Desainer Tabel, klik Indeks/Kunci.

  5. Pilih indeks yang ingin Anda pindahkan.

  6. Di kisi utama, perluas Spesifikasi Ruang Data.

  7. Pilih Grup File atau Nama Skema Partisi dan pilih dari daftar grup file atau skema partisi ke tempat Anda ingin memindahkan indeks.

  8. Klik Tutup.

  9. Pada menu File , pilih Simpantable_name.

Untuk memindahkan indeks yang ada ke grup file lain di Object Explorer

  1. Di Object Explorer, klik tanda plus untuk memperluas database yang berisi tabel yang berisi indeks yang ingin Anda pindahkan.

  2. Klik tanda plus untuk memperluas folder Tabel .

  3. Klik tanda plus untuk memperluas tabel yang berisi indeks yang ingin Anda pindahkan.

  4. Klik tanda plus untuk memperluas folder Indeks .

  5. Klik kanan indeks yang ingin Anda pindahkan dan pilih Properti.

  6. Di bawah Pilih halaman, pilih Penyimpanan.

  7. Pilih grup file untuk memindahkan indeks.

    Jika tabel atau indeks dipartisi, pilih skema partisi untuk memindahkan indeks. Untuk informasi selengkapnya tentang indeks yang dipartisi, lihat Tabel dan Indeks Yang Dipartisi.

    Jika Anda memindahkan indeks berkluster, Anda dapat menggunakan pemrosesan online. Pemrosesan online memungkinkan akses pengguna bersamaan ke data yang mendasar dan ke indeks non-klusifikasi selama operasi indeks. Untuk informasi selengkapnya, lihat Melakukan Operasi Indeks Online.

    Pada komputer multiprosesor menggunakan SQL Server, Anda dapat mengonfigurasi jumlah prosesor yang digunakan untuk menjalankan pernyataan indeks dengan menentukan tingkat maksimum nilai paralelisme. Fitur operasi indeks paralel tidak tersedia di setiap edisi SQL Server. Untuk daftar fitur yang didukung oleh edisi SQL Server, lihat Fitur yang Didukung oleh Edisi SQL Server 2016. Untuk informasi selengkapnya tentang operasi indeks paralel, lihat Mengonfigurasi Operasi Indeks Paralel.

  8. Klik OK.

Informasi berikut ini tersedia di halaman Penyimpanan dari kotak dialog Properti Indeks - index_name :

Grup file
Menyimpan indeks dalam grup file yang ditentukan. Daftar hanya menampilkan grup file standar (baris). Pilihan daftar default adalah grup file UTAMA database.

Grup file aliran file
Menentukan grup file untuk data FILESTREAM. Daftar ini hanya menampilkan grup file FILESTREAM. Pilihan daftar default adalah grup file PRIMARY FILESTREAM.

Skema partisi
Menyimpan indeks dalam skema partisi. Mengklik Skema Partisi memungkinkan kisi di bawah ini. Pilihan daftar default adalah skema partisi yang digunakan untuk menyimpan data tabel. Saat Anda memilih skema partisi yang berbeda dalam daftar, informasi dalam kisi diperbarui.

Opsi skema partisi tidak tersedia jika tidak ada skema partisi dalam database.

Skema partisi aliran file
Menentukan skema partisi untuk data FILESTREAM. Skema partisi harus simetris dengan skema yang ditentukan dalam opsi skema Partisi.

Jika tabel tidak dipartisi, bidang kosong.

Parameter Skema Partisi
Menampilkan nama kolom yang berpartisipasi dalam skema partisi.

Kolom Tabel
Pilih tabel atau tampilan untuk memetakan ke skema partisi.

Tipe Data Kolom
Menampilkan informasi tipe data tentang kolom.

Catatan

Jika kolom tabel adalah kolom komputasi, Tipe Data Kolom menampilkan "kolom komputasi."

Izinkan pemrosesan online pernyataan DML saat memindahkan indeks
Memungkinkan pengguna untuk mengakses tabel yang mendasar atau data indeks berkluster dan indeks non-kluster terkait selama operasi indeks.

Catatan

Opsi ini tidak tersedia untuk indeks XML, atau jika indeks adalah indeks berkluster yang dinonaktifkan.

Atur tingkat paralelisme maksimum
Membatasi jumlah prosesor yang akan digunakan selama eksekusi rencana paralel. Nilai default, 0, menggunakan jumlah Aktual CPU yang tersedia. Mengatur nilai ke 1 menekan pembuatan rencana paralel; mengatur nilai ke angka yang lebih besar dari 1 membatasi jumlah maksimum prosesor yang digunakan oleh satu eksekusi kueri. Opsi ini hanya tersedia jika kotak dialog berada dalam status Bangun Ulang atau Buat Ulang.

Catatan

Jika nilai yang lebih besar dari jumlah CPU yang tersedia ditentukan, jumlah Aktual CPU yang tersedia digunakan.

Menggunakan T-SQL

Untuk memindahkan indeks yang ada ke grup file lain

  1. Di Object Explorer, sambungkan ke instans Mesin Database.

  2. Pada bilah Standar, klik Kueri Baru.

  3. Salin dan tempel contoh berikut ke dalam jendela kueri dan klik Jalankan.

    USE AdventureWorks2022;  
    GO  
    -- Creates the TransactionsFG1 filegroup on the AdventureWorks2022 database  
    ALTER DATABASE AdventureWorks2022  
    ADD FILEGROUP TransactionsFG1;  
    GO  
    /* Adds the TransactionsFG1dat3 file to the TransactionsFG1 filegroup. Please note that you will have to change the filename parameter in this statement to execute it without errors.  
    */  
    ALTER DATABASE AdventureWorks2022   
    ADD FILE   
    (  
        NAME = TransactionsFG1dat3,  
        FILENAME = 'C:\Program Files\Microsoft SQL Server\MSSQL13\MSSQL\DATA\TransactionsFG1dat3.ndf',  
        SIZE = 5MB,  
        MAXSIZE = 100MB,  
        FILEGROWTH = 5MB  
    )  
    TO FILEGROUP TransactionsFG1;  
    GO  
    /*Creates the IX_Employee_OrganizationLevel_OrganizationNode index  
      on the TransactionsPS1 filegroup and drops the original IX_Employee_OrganizationLevel_OrganizationNode index.  
    */  
    CREATE NONCLUSTERED INDEX IX_Employee_OrganizationLevel_OrganizationNode  
        ON HumanResources.Employee (OrganizationLevel, OrganizationNode)  
        WITH (DROP_EXISTING = ON)  
        ON TransactionsFG1;  
    GO  
    

Langkah berikutnya

Untuk informasi selengkapnya, lihat MEMBUAT INDEKS (Transact-SQL).

Arsitektur dan Panduan Desain Indeks SQL Server