Gunakan mode agen GitHub Copilot (pratinjau) di SQL Server Management Studio

GitHub Copilot mode agen (pratinjau) di SQL Server Management Studio (SSMS) memungkinkan Anda menentukan tujuan umum dalam bahasa alami dan membiarkan Copilot menanganinya dengan menjalankan kueri, membaca file, dan melakukan iterasi atas hasilnya sendiri hingga tugas selesai atau masukan Anda diperlukan.

Note

Mode Agen GitHub Copilot di SQL Server Management Studio (SSMS) saat ini masih dalam pratinjau.

Tidak seperti mode Tanya, yang berhenti setelah satu respons, mode Agen terus menjalankan langkah-langkah, memanggil alat, dan menyempurnakan pendekatannya sampai mencapai tujuan Anda. Semua kueri dan perintah dijalankan di bawah konteks login dan izin pengguna, kecuali pengguna database kustom atau login SQL ditentukan di front matter database CONSTITUTION.md. Untuk informasi selengkapnya, lihat Konteks eksekusi untuk GitHub Copilot di SQL Server Management Studio.

Important

Mode agen dapat menjalankan kueri dan membuat perubahan database atas nama Anda. Copilot meminta persetujuan Anda sebelum menjalankan setiap kueri atau perintah. Tinjau tindakan yang diusulkan dengan hati-hati sebelum menyetujuinya. Terapkan kontrol akses menggunakan izin SQL Server dengan hak istimewa minimum. Batas keamanan adalah penegakan izin SQL Server, bukan sistem persetujuan Copilot.

Mode Tanya vs. Mode Agen

Gunakan tabel berikut untuk memutuskan mode mana yang sesuai dengan tugas Anda:

Mode tanyakan Mode agen
Cara kerjanya Satu respons untuk setiap prompt; Anda menerapkan kode secara manual Eksekusi multi-langkah; iterasi sampai tujuan tercapai
Eksekusi Kueri baca-saja Kueri dan perintah dijalankan dengan persetujuan Anda
Perubahan skema Menghasilkan T-SQL untuk Anda jalankan Dapat menjalankan perubahan skema jika Anda menyetujuinya dan login Anda memiliki izin
Terbaik untuk Menjelajahi ide, meninjau kode yang dihasilkan sebelum menerapkan Tugas multi-langkah yang kompleks, investigasi, analisis, dan pengembangan berulang
Gangguan Respons tunggal, Anda dapat membatalkan kapan saja Anda dapat membatalkan kapan saja

Prasyarat

Menggunakan mode Agen

Dalam mode Agen, Copilot beroperasi secara otonom dan menentukan konteks yang relevan untuk permintaan Anda. Mode Agen untuk GitHub Copilot di SSMS menggunakan server MCP lokal, sql-tools untuk integrasinya, dan disertai sekumpulan alat yang telah ditentukan sebelumnya.

  1. Di SSMS, pilih View>GitHub Copilot Chat untuk membuka jendela obrolan.
  2. Di bagian bawah jendela obrolan, perluas daftar dropdown mode dan pilih Agen.
  3. Di kanan bawah jendela obrolan, pilih ikon Alat untuk melihat alat yang tersedia.
  4. Perluas sql-tools untuk melihat alat yang telah ditentukan sebelumnya. Arahkan mouse ke atas nama alat untuk mempelajari lebih lanjut tentang apa yang dilakukannya. Jika Anda menghapus centang semua alat, Mode Agen tidak akan berfungsi sebagaimana mestinya.
  5. Anda tidak dapat menonaktifkan SSMS daftar alat.
  6. Masukkan permintaan Anda yang menjelaskan tujuan tingkat tinggi, dan sertakan nama database atau server yang sedang Anda kerjakan. Mode agen tidak mewarisi konteks dari editor kueri aktif.

Important

Untuk hasil terbaik, sertakan database atau server dalam perintah Anda. Penyertaan ini mengurangi ambiguitas dan jumlah panggilan alat. Jika Anda tidak menyertakan informasi koneksi, Copilot membaca daftar koneksi Anda untuk mengidentifikasi koneksi yang akan digunakan atau meminta klarifikasi tentang database atau server mana yang akan digunakan.

  1. Untuk mengirimkan perintah Anda, pilih Kirim atau tekan Enter.

    Contoh perintah untuk memulai:

    - In the WideWorldImporters database on the SalesPRD server, analyze the `Sales.usp_QuarterlySalesSummary` stored procedure and its execution plan and tell me how to improve it
    - The AdventureWorks database on the SalesPRD server had high CPU between 1PM and 2PM today, investigate what caused it
    - Find the SQL Agent jobs on the SalesPRD server that failed in the last 24 hours, analyze the history and explain what happened and how to fix the jobs
    
  2. Mode agen mungkin memanggil beberapa alat untuk menyelesaikan permintaan Anda. Misalnya, saat membaca informasi skema, menghasilkan Transact-SQL, dan menganalisis hasil. Alat yang aktif muncul di percakapan seiring tiap langkah dijalankan.

  3. Saat Copilot siap menjalankan kueri atau perintah, Copilot akan berhenti sejenak dan meminta persetujuan Anda. Tinjau tindakan yang diusulkan, lalu pilih Izinkan untuk melanjutkan, atau Tutup untuk melewati langkah tersebut.

    Anda dapat mengonfigurasi cakupan persetujuan dengan menggunakan daftar dropdown Izinkan :

    Option Efek
    Izinkan sekali Menyetujui pemanggilan tunggal ini
    Perbolehkan sesi ini Menyetujui alat ini untuk sisa sesi obrolan saat ini
    Perbolehkan selalu Setujui alat ini untuk semua pemanggilan selanjutnya

    Untuk mengatur ulang pengaturan persetujuan alat, buka Tools>Options>GitHub>Copilot>Tools.

  4. Copilot memantau hasil setiap langkah. Jika kueri mengembalikan kesalahan atau hasil yang tidak memenuhi tujuan Anda, Copilot merevisi pendekatannya dan mencoba lagi secara otomatis.

  5. Ketika tugas selesai, Copilot meringkas apa yang dilakukannya. Tinjau perubahan apa pun yang diterapkan pada database atau editor kueri Anda.

Pahami alat mode Agen

Dalam mode Agen, Copilot dapat menggunakan alat berikut untuk menyelesaikan permintaan Anda:

  • Alat bawaan
  • Alat Protokol Konteks Model (MCP)
  • Keterampilan agen yang memberikan instruksi khusus tugas

Note

Mode agen hanya berfungsi dengan database dan objek yang dapat Anda akses atau sambungkan, atau dengan menggunakan kredensial dalam file database CONSTITUTION.md . Ini tidak memiliki izin akses yang lebih tinggi daripada yang sudah dimiliki kredensial Anda.

Untuk melihat dan mengelola alat yang tersedia dalam mode Agen, pilih ikon Alat di jendela obrolan. Berdasarkan hasil alat, Copilot mungkin memanggil alat lain untuk mencapai permintaan keseluruhan. Misalnya, jika pengeditan kode T-SQL menghasilkan kesalahan sintaksis, Copilot mungkin menjelajahi pendekatan lain dan menyarankan perubahan yang berbeda.

Anda juga dapat memperluas mode Agen dengan server MCP untuk menyambungkan Copilot ke alat dan layanan eksternal. Alat yang tersedia untuk server MCP tidak diaktifkan secara otomatis. Kotak centangnya dikosongkan secara default, dan Anda harus memilihnya untuk mengaktifkan alat.

Mengelola persetujuan alat

Copilot meminta konfirmasi sebelum menjalankan kueri apa pun atau memanggil alat eksternal. Langkah ini melindungi Anda dari perubahan yang tidak diinginkan. Secara default, setiap tindakan memerlukan persetujuan eksplisit.

Saat menyetujui alat, gunakan daftar dropdown Izinkan untuk mengatur persistensi:

  • Izinkan untuk sesi ini: tidak ada permintaan lebih lanjut untuk alat tersebut dalam sesi obrolan saat ini
  • Izinkan selalu: bertahan di seluruh sesi untuk alat tersebut

Untuk meninjau dan mengatur ulang persetujuan, buka ToolsOptions< >GitHubCopilotTools.

Menerima atau membuang pengeditan

Saat mode Agen menerapkan perubahan pada file terbuka, ringkasan Total perubahan muncul di jendela obrolan. Pilih setiap file untuk meninjau perubahan satu per satu. Anda dapat menyimpan atau membatalkan pengeditan yang dilakukan pada setiap bagian kode menggunakan tombol Simpan dan Batalkan . Atau, dalam daftar Total perubahan, pilih Simpan atau Urungkan untuk semua pengeditan yang dilakukan sejak terakhir kali Anda memilih Simpan atau Batalkan.

Tampilan ringkasan beberapa file

Mulai dari SQL Server Management Directory 22.6, saat Copilot mengedit beberapa file, Anda dapat meninjau semua perubahan dalam satu tampilan ringkasan alih-alih beralih antar file satu per satu.

  1. Setelah Copilot selesai mengedit, pilih tombol Buka tampilan ringkasan perubahan di set kerja Copilot Chat.
  2. Satu tab terbuka yang memperlihatkan semua file yang diubah dengan perbedaan yang tercantum.
  3. Anda dapat menerima atau membatalkan perubahan pada tingkat granularitas yang berbeda:
  • Untuk semua file sekaligus, menggunakan tombol global Pertahankan file dan Urungkan file.
  • Untuk setiap file menggunakan tombol Pertahankan Semua Perubahan dan Batalkan Semua .
  • Untuk setiap perubahan kode individual, gunakan Keep (Ctrl + Y) dan Batalkan (Ctrl + N).
  1. Gunakan kontrol di sudut kiri atas jendela untuk:
  • Ciutkan semua konten file agar hanya melihat tajuk file untuk ikhtisar singkat
  • Navigasikan antara potongan diff menggunakan tombol berikutnya dan sebelumnya untuk melompati perubahan dengan cepat Anda juga dapat memilih file apa pun untuk membukanya secara terpisah dan melihat konteks lengkapnya.

Hentikan permintaan Mode Agen

Untuk menghentikan permintaan mode Agen yang sedang berlangsung kapan saja, pilih Batal di jendela obrolan. Pembatalan akan menghentikan semua tool yang sedang berjalan dan kueri yang masih tertunda. Setiap kueri yang sudah dijalankan dan disetujui tidak digulung balik secara otomatis. Verifikasi status database Anda setelah membatalkan operasi multi-langkah jika diperlukan.

Scenarios

Contoh berikut menunjukkan bagaimana mode Agen menangani tugas SQL Server umum. Contoh ini adalah prompt yang representatif. Sesuaikan dengan database dan tujuan Anda.

Membuat dan menguji prosedur tersimpan

Within the WideWorldImporters database on the PRD-Sales server, create a stored procedure named Sales.GetTopCustomers that accepts a date range and a row count, and returns the top N customers by total order value in that date range. Include error handling and test it with sample parameters.

Mode agen membaca skema database Anda untuk mengidentifikasi tabel yang sesuai, menyusun prosedur tersimpan, menjalankan CREATE PROCEDURE pernyataan, lalu menjalankan eksekusi pengujian dengan parameter sampel untuk memvalidasi output.

Mengoptimalkan performa kueri

The query in the active editor, connected to AdventureWorks on the TEST-AW server is running slowly. Analyze its execution plan and suggest options to improve performance.

Mode Agen dapat menghasilkan estimasi rencana eksekusi untuk kueri Anda, menggunakan Query Store untuk menemukan rencana tersebut, atau menggunakan rencana aktual jika Anda menyertakannya sebagai referensi. Ini mengidentifikasi antipola pada kueri dan rencana eksekusi, termasuk indeks yang belum ada. Ini mengusulkan perubahan kode dan skema tertentu, termasuk CREATE INDEX pernyataan, dan dapat menerapkan perubahan jika Anda menyetujui. Selalu terapkan perubahan dalam lingkungan pengujian atau pengembangan sebelum menerapkannya ke database produksi.

Menyelidiki log

Analyze the SQL ERRORLOG for the PRD-HR server for the last month and give me a list of errors and problems and solutions for fixing them.

Mode agen meninjau file ERRORLOG untuk instans, membuat daftar masalah yang diidentifikasi, dan menghasilkan saran untuk resolusi.

Audit dan perbaiki celah izin

Review the permissions for the Reporting role in the CustomerSales database on the PRD-Sales server and identify any tables in the Sales schema that it can't access. Add the missing SELECT permissions.

Mode agen mengkueri tampilan katalog izin, mengidentifikasi celah, menghasilkan GRANT pernyataan, dan menjalankannya jika Anda menyetujuinya.

Konteks dan izin eksekusi

Semua kueri dan perintah yang dijalankan mode Agen berjalan dalam konteks akun terautentikasi Anda, kecuali Anda menunjuk pengguna database atau login SQL untuk GitHub Copilot dalam CONSTITUTION.md database sebagai agentExecuteAsUser.

  • Jika login Anda tidak memiliki izin untuk mengubah tabel, mode Agen juga tidak dapat mengubahnya, meskipun Anda menyetujui kueri yang diusulkan.
  • sistem persetujuan Copilot bukan batas keamanan. Terapkan prinsip hak istimewa paling sedikit dalam database Anda: berikan pengguna hanya izin yang mereka butuhkan pada objek tertentu.
  • Untuk database tempat Anda ingin menentukan pengguna database atau login SQL, lihat konteks Execution untuk GitHub Copilot di SQL Server Management Studio.
  • Jika pengguna database atau login SQL ditunjuk untuk database, dan pengguna GitHub Copilot tidak memiliki izin IMPERSONATE, mereka tidak dapat menggunakan GitHub Copilot untuk database tersebut.

Secara default, mode Agen dikonfigurasi sebagai READ_ONLY. Jika login Anda, atau akun agentExecuteAsUser, memiliki izin untuk mengubah data atau skema database, GitHub Copilot tidak menjalankan kueri tersebut secara default.

Anda dapat mengubah mode Agen ke READ_WRITE dalam file mcp.json. Namun, jika login atau agentExecuteAsUser akun Anda tidak memiliki izin untuk mengubah data atau skema database, kueri tersebut gagal karena izin keamanan SQL.

Tanya jawab umum

Apakah mode Agen menjalankan kueri secara otomatis tanpa meminta saya?

No. Mode agen meminta persetujuan Anda sebelum menjalankan setiap kueri atau perintah. Anda dapat memilih untuk mengizinkan alat untuk sesi saat ini atau selalu mengurangi permintaan persetujuan.

Apa yang terjadi jika kueri gagal?

Mode agen mendeteksi kesalahan, menganalisisnya, dan merevisi pendekatannya secara otomatis. Sistem akan mencoba menyelesaikan masalah tersebut tanpa masukan lebih lanjut dari Anda. Jika tidak dapat mengatasi kesalahan setelah beberapa kali mencoba, sistem akan melaporkan kegagalan tersebut dan meminta arahan Anda.

Bagaimana mode Agen berbeda dari mode Tanyakan?

Mode Tanya mengembalikan satu respons dan berhenti. Anda memutuskan apakah akan menerapkan kode yang dihasilkan. Mode agen berjalan beberapa langkah secara otonom, menjalankan kueri dengan persetujuan Anda, memantau hasil, dan melakukan iterasi. Gunakan mode Tanya saat Anda ingin kontrol penuh atas setiap langkah; gunakan mode Agen untuk tugas multi-langkah yang kompleks di mana Anda hanya memberikan panduan.

Dapatkah saya menggunakan mode Agen dengan server MCP?

Ya. Anda harus berada dalam mode Agen untuk menggunakan alat MCP. Lihat Menggunakan server MCP dengan GitHub Copilot di SQL Server Management Studio.

Sebagai administrator, bagaimana cara mengontrol mode Agen untuk organisasi saya?

Administrator mengontrol mode Agen melalui dasbor GitHub Copilot. Untuk informasi selengkapnya, lihat kontrol Admin untuk GitHub Copilot di SQL Server Management Studio.