Hızlı Başlangıç: GitHub Copilot aracısı modunu kullanma

Aracı modu, GitHub Copilot'un Visual Studio Code için MSSQL uzantısı tarafından sağlanan araçları eşgüdüm içinde çalıştırmasına olanak tanır. Uzantı yüklendiğinde ve etkin olduğunda, GitHub Copilot Microsoft SQL Server bağlantıları listeleyebilir, bir sunucuya ve veritabanına bağlanabilir, şema meta verilerini alabilir ve her eylemde onayınızla doğal dil istemlerinden sorgular yürütebilir.

Tüm eylemler MSSQL uzantısıyla aynı bağlantı bağlamını ve kimlik bilgilerini kullanır. Aracı modu başka bir kimlik doğrulaması veya izin değişikliğine neden olmaz.

Tip

Çok adımlı iş akışları, büyük ölçekte araştırma ve temsilci değişiklikleri için aracı modunu kullanın. Tek bir yanıta veya tek seferlik sorguya ihtiyacınız olduğunda sor modunu kullanın. Transact-SQL (T-SQL) veri tanımı dili (DDL) yazmadan önce bir tasarım hakkında düşünmeniz gerektiğinde plan modunu kullanın.

Önemli çıkarımlar

  • Aracı modu MSSQL uzantı araçlarını otomatik olarak alır. @mssql bahsetmeye gerek yok.
  • Her araç çağrısı yürütmeden önce onayınızı gerektirir.
  • Aracı modu, araçları aracılığıyla şemaya duyarlıdır : her araç çağrısı, bağlı veritabanınızdan gerçek verileri döndürür.
  • Tüm yüzeyler genelinde mimari bağlam için bkz. GitHub Copilot’un MSSQL uzantısıyla nasıl çalıştığı.

Aracı modu ne zaman kullanılır?

Ajan modu şunlar için en uygunudur:

  • Çok adımlı iş akışları. "LocalDev'e bağlanın, AdventureWorks'e geçin, ardından customer'ya yabancı anahtar içeren her tabloyu göster."
  • Büyük ölçekte keşif. "SalesOrderHeader'a başvuran saklı yordamları bulun ve her birinin ne yaptığını özetleyin."
  • Temsilci değişiklikleri. "Sales şemasındaki her tabloya denetim sütunları ekleyin ve ilgili saklı yordamları yeniden oluşturun."

Tek bir soru veya tek seferlik bir sorgu ihtiyacınıza yanıt veriyorsa soru modunu kullanın. İstediğiniz eylemi zaten biliyorsanız eğik çizgi komutlarını kullanın. Herhangi bir değişiklik yapmadan önce yazılı bir plan istediğinizde plan modunu kullanın.

Aracı modunun araçları seçme ve yürütme hakkında ayrıntılı bilgi için aracı moduyla ilgili Visual Studio Code belgelerine bakın.

Ajan modu nedir?

Aracı Modu, GitHub Copilot'un MSSQL uzantısını kullanarak SQL ile ilgili eylemler gerçekleştirmesini sağlar ve yürütmeden önce kullanıcı onayı gerekir.

gibi #mssql_connectsohbet değişkenlerini kullanarak veya eşdeğer doğal dil istekleri vererek bu eylemleri çağırabilirsiniz, örneğin:

Connect to my Library database using my LocalDev profile

GitHub Copilot Aracı Modu sohbet arabiriminin ekran görüntüsü.

MSSQL Agent Mode aracı referansı

Bu bölümde GitHub Copilot Aracı Modu'nda bulunan SQL'e özgü araçlar için ayrıntılı bir başvuru sağlanır. MSSQL uzantısı bu araçlara katkıda bulunarak GitHub Copilot'un sohbet değişkenleri veya doğal dil istemleri aracılığıyla eylemler yürütmesini sağlar. Tüm araçlar, yürütmeden önce kullanıcı onayı gerektirir.

Copilot Aracı Modu'nda MSSQL uzantısının katkıda bulunduğu SQL'e özgü araçların listesinin ekran görüntüsü.

Tip

Bu araçları doğrudan çağırmak veya aşağıdakiler gibi doğal dilde istemler yazmak için #mssql_connect sohbet değişkenlerini de kullanabilirsiniz:

Connect to my development database

GitHub Copilot, araç seçimini otomatik olarak işler.

Bağlantı yönetimi

Araç adı Description
connect Kaydedilmiş bir bağlantı profili veya belirtilen bir sunucu ve veritabanı kullanarak bir veritabanına bağlanır.
disconnect Geçerli etkin bağlantı oturumunu sonlandırır.
change_database Var olan bir bağlantı oturumu için veritabanını değiştirir.
get_connection_details Belirli bir MSSQL bağlantısı için bağlantı ayrıntılarını alır.
list_servers Ortamınızdaki tüm kaydedilmiş SQL Server bağlantı profillerini listeler.
list_databases Bağlı bir MSSQL sunucusu için tüm kullanılabilir veritabanlarını listeler.

Examples

GitHub Copilot ile etkileşime geçmek için aşağıdaki tümcecikleri kullanın.

- Connect to my LocalDev environment
- Disconnect from my current database
- List my available connection profiles
- List all databases in the localhost server
- Set the active connection to localhost
- Set AdventureWorks as the active database
- Get the connection string for AdventureWorks on localhost

GitHub Copilot sohbetindeki bir veritabanına bağlanmak için aracı aracının kullanıldığı örneğin ekran görüntüsü.

Bağlantı mantığı nasıl çalışır?

GitHub Copilot Aracı Modu, kaydedilmiş profillere başvurarak veya doğrudan bir sunucu ve veritabanı belirterek SQL veritabanınıza bağlanmanın esnek yollarını destekler. Bağlantı mantığı şu şekilde çalışır.

Kaydedilmiş bir profille bağlandığınızda:

  1. Kaydedilmiş bir bağlantı profilinin adına başvurarak bağlanırsınız.
  2. GitHub Copilot, profilin mssql_list_servers mevcut olduğunu doğrulamak için aracı kullanır.
  3. mssql_connect aracı, daha sonra kaydedilen profileId ve parametrelerini kullanarak bağlantıyı kurar.

Bir sunucu ve veritabanı belirterek bağlandığınızda:

  • Kaydedilen profil hem belirtilen sunucu hem de veritabanıyla eşleşiyorsa:

    1. GitHub Copilot, eşleşmeyi bulmak için kullanır mssql_list_servers .
    2. Sonra mssql_connect'yi tam profili kullanarak çağırır.
  • Kaydedilen profil yalnızca sunucuyla eşleşiyorsa:

    1. GitHub Copilot eşleşen sunucu profilini bulur.
    2. Kullanıcı tarafından istenen veritabanını o profile yerleştirerek bağlanmaya çalışır.
    3. Bağlantı başarısız olursa bir hata gösterilir.
  • Belirtilen sunucuyla eşleşen profil yoksa:

    • GitHub Copilot bir hata bildirir.

Bu esnek eşleştirme sistemi, GitHub Copilot çeşitli bağlantı senaryolarını işlemesini sağlar. Güvenli ve doğrulanabilir eylemler sağlarken kullanıcı çabasını en aza indirir.

Veri Yapısı Keşfi

Araç adı Description
show_schema Tablolar ve ilişkiler de dahil olmak üzere bağlı veritabanı şemanızın üst düzey bir diyagramını görüntüler.
list_schemas Bağlı bir MSSQL sunucusu için veritabanındaki tüm şemaları listeler.
list_tables Bağlı bir MSSQL sunucusu için veritabanındaki tüm tabloları listeler.
list_views Bağlı bir MSSQL sunucusu için veritabanındaki tüm görünümleri listeler.
list_functions Bağlı bir MSSQL sunucusu için veritabanındaki tüm işlevleri listeler.

Examples

GitHub Copilot ile etkileşime geçmek için aşağıdaki tümcecikleri kullanın.

- Show me the schema for this database
- Show me all tables in the current database
- List all views from this MSSQL database
- Give me a list of all the functions available in this schema
- What schemas are available in this database?

Copilot Aracı Modu'nda veritabanı şeması görselleştirici aracını gösteren animasyonun ekran görüntüsü.

Sorgu çalıştırma

Araç adı Description
run_query Bağlı veritabanına karşı bir SQL sorgusu çalıştırır.

Examples

GitHub Copilot ile etkileşime geçmek için aşağıdaki tümcecikleri kullanın.

- Give me the top five posts published this week
- Execute the current file to find how many comments each post has
- Get all categories along with the number of posts in each

Veritabanına bağlanmak ve verileri almak için aracı aracının kullanıldığı örneğin ekran görüntüsü.

Veritabanına bağlanmak ve veri almak için aracı aracını kullanan başka bir örneğin ekran görüntüsü.

Araçlar Aracı Modunda nasıl yönetilir?

GitHub Copilot, isteğinizi işlerken MSSQL'e özgü araçları ve uzantıyla katkıda bulunan diğer araçları kullanabilir. Bu araçları Araçlar menüsünün altındaki Aracı Modu arabiriminde görebilirsiniz; burada belirli araçları da açabilir veya kapatabilirsiniz.

Özellikle makinenizle veya veritabanınızla etkileşimde bulunan bir aracı çağırdığınızda, GitHub Copilot güvenli yürütmeyi sağlamak için onay ister. Yalnızca bu oturum için, çalışma alanı için veya kalıcı olarak aracın kullanılmasına izin verebilirsiniz.

Araç görünürlüğü ve onayları hakkında daha fazla bilgi için bkz. Araç onaylarını yönetme.

Aracı Modu onay iş akışı

GitHub Copilot bir araç seçtiğinde, istenen eylemle ilgili ayrıntıları gösteren bir onay iletişim kutusuyla sizi uyarır. Makinenizle veya veritabanınızla etkileşim kuran komutları yürütebilmesi için önce isteği açıkça onaylamanız gerekir:

  • Bu oturumda izin ver
  • Bu çalışma alanına izin ver
  • Her zaman izin ver

Bu onay adımı, geliştirme ortamınızla güvenli ve kasıtlı etkileşimler sağlamaya yardımcı olur.

Note

Aracı Modu'ndaki tüm araçlarda onayın nasıl çalıştığı hakkında daha fazla bilgi için , araç onaylarıyla ilgili Visual Studio Code belgelerine bakın.

Aracı Modu Komut Kataloğu

Aracı modu aracılığıyla MSSQL uzantı araçlarını çağırmak için bu doğal dil istemlerini kullanın. Her kategori için eşdeğer bir eğik çizgi komutuna veya sorma modu istemine çapraz referans verilir.

Bağlantı yönetimi

Connect to my LocalDev profile and set AdventureWorks as the active database.
List all my saved connection profiles and tell me which one I'm currently connected to.
Disconnect from my current database.

Eşdeğer eğik çizgi komutları: /connect, /listServers, /changeDatabase, /disconnect.

Veri Yapısı Keşfi

Show me every table in the SalesLT schema, grouped by whether they're
referenced by a foreign key from another table.
Find all stored procedures that reference SalesLT.SalesOrderHeader and
summarize what each one does in one sentence.
Which tables in the current database have no primary key?

Eşdeğer istemler sorar: bkz. Katılımcıyla @mssql sohbet edin.

Sorgu çalıştırma

Run a query to count the number of active customers in SalesLT.Customer,
then show me the top 10 by order total.
Show me the execution plan for this query: SELECT ... FROM ...
Execute the last query I ran against my Dev database instead.

Çok adımlı iş akışları

Connect to LocalDev, switch to AdventureWorks, list all tables with a
foreign key to SalesLT.Customer, and save the list to a file called
customer-dependents.md.
Find every stored procedure that uses dynamic SQL and open each one
in a new editor tab so I can review them.

Devredilmiş şema değişiklikleri

Note

Şema değişikliklerini önce plan modunda çalıştırmak iyi bir seçenektir. Değişiklikleri planlayın, gözden geçirin ve yürütme için planı aracı moduna geçirin.

Add createdAt and updatedAt audit columns to every table in the Sales
schema that doesn't already have them. Use DATETIME2(7) with a default
of GETUTCDATE().
Regenerate every stored procedure that inserts into SalesLT.Customer
to include the new email column.