Limitazioni e problemi noti

Questo articolo descrive le limitazioni e i vincoli noti dell'integrazione di GitHub Copilot con l'estensione MSSQL per Visual Studio Code. Questa esperienza è progettata per gli sviluppatori di applicazioni che creano con database SQL, non per gli amministratori di database che gestiscono l'infrastruttura o gli ambienti di produzione. La comprensione di questi limiti garantisce aspettative appropriate e supporta un flusso di lavoro di sviluppo produttivo.

Limitazioni funzionali

  • GitHub Copilot non dispone dell'autorizzazione per scrivere dati. Gli sviluppatori devono esaminare ed eseguire manualmente tutto il codice ORM (Object-Relational Mapping) o SQL generato.

  • Il @mssql partecipante della chat necessita di una connessione di database attiva tramite l'editor per fornire suggerimenti consapevoli dello schema.

  • Esaminare sempre le risposte generate dall'intelligenza artificiale prima dell'uso. GitHub Copilot potrebbe produrre raccomandazioni non corrette o non ottimali.

  • Questa esperienza è progettata per gli sviluppatori, non per gli amministratori di database o di sistema. Sebbene possa generare script SQL per attività amministrative, GitHub Copilot non supporta operazioni di gestione del server, ad esempio la configurazione di backup/ripristino, la gestione delle autorizzazioni utente o la gestione dei processi di SQL Agent.

  • Le sessioni di GitHub Copilot non mantengono la cronologia quando si cambia contesto (ad esempio, cambiando file o database). Il nuovo contesto reimposta la memoria della chat.

  • Il partecipante alla chat funziona nell'ambito del database attualmente connesso. Le operazioni tra database non sono supportate.

  • L'integrazione è ottimizzata per il database SQL moderno in Fabric, database SQL di Azure e SQL Server 2017 (14.x) e versioni successive. Le funzionalità legacy o deprecate potrebbero non essere supportate e il servizio di linguaggio non supporta ufficialmente SQL Server 2016 (13.x) e versioni precedenti.

  • Azure Synapse Analytics e le funzionalità del pool SQL dedicato (in precedenza Azure SQL DW) non sono supportate da questa integrazione GitHub Copilot. Non viene pubblicata alcuna sequenza temporale per l'aggiunta del supporto di Synapse.

  • I completamenti inline non visualizzano lo schema del database. L'API di completamento inline di Visual Studio Code supporta di fatto un solo provider: quando GitHub Copilot è abilitato, le estensioni di terze parti (inclusa l'estensione MSSQL) non possono fornire ghost text sensibile allo schema. Per i suggerimenti SQL con riconoscimento dello schema, usare invece il partecipante alla@mssql chat. Per il motivo dell'architettura, vedere Funzionamento GitHub Copilot con l'estensione MSSQL.

  • GitHub Copilot offre i suggerimenti migliori quando ha accesso a un contesto avanzato. Mantieni attiva la connessione al database e apri codici o query pertinenti nell'editor. Più contesto ha GitHub Copilot, più accurato e pertinente sono i suoi suggerimenti.

Vincoli tecnici

  • È necessaria la connettività Internet. GitHub Copilot deve accedere al servizio cloud GitHub Copilot per fornire suggerimenti.

  • GitHub Copilot accede solo ai file aperti e alla connessione al database attiva. Non può esplorare cartelle o repository, a meno che non vengano aperti in modo esplicito nell'editor.

  • GitHub Copilot non supporta l'utilizzo offline o lo sviluppo disconnesso.

  • L'ottimizzazione avanzata delle prestazioni (ad esempio, l'analisi completa dei dati di telemetria, le informazioni dettagliate sul carico di lavoro) non rientra nell'ambito. L'assistente potrebbe suggerire ottimizzazioni per le singole query, ma non sostituisce gli strumenti di ottimizzazione professionali.

  • GitHub Copilot potrebbe avere difficoltà con query annidate profondamente o con più join, soprattutto quando si lavora con set di dati molto grandi o con un contesto di schema poco specificato.

Privacy e raccolta di log generati dal sistema

  • GitHub Copilot non rende persistenti le interazioni di chat. Le richieste e le risposte vengono instradate tramite il servizio proxy con mantenimento della privacy di GitHub senza essere archiviati.

  • Le richieste e i completamenti degli utenti non vengono usati per eseguire il training dei modelli di GitHub Copilot.

  • Nessun contenuto di chat viene archiviato dall'estensione MSSQL o da GitHub Copilot.

  • Il log generato dal sistema raccolto dall'estensione è limitato all'analisi dell'utilizzo per migliorare il prodotto e non include dati personali.

Per comprendere in che modo GitHub Copilot protegge i dati e mantiene la trasparenza in relazione alle procedure di training e dati dei modelli di intelligenza artificiale, visitare il Centro protezione di GitHub Copilot o esplorare l'approccio di GitHub alla gestione dei dati con Copilot.

Limitazioni note di GitHub Copilot

Queste limitazioni si applicano a GitHub Copilot in modo più ampio e potrebbero influire sull'esperienza nell'estensione MSSQL:

  • GitHub Copilot potrebbe immaginare le API o gli elementi della struttura che non esistono, soprattutto se il contesto è limitato.
  • GitHub Copilot non ha conoscenze in tempo reale dei file remoti, a meno che non vengano aperti nell'editor.
  • GitHub Copilot non tiene conto dei tipi delle variabili o dello stato nel corso di conversazioni lunghe; i risultati potrebbero perdere pertinenza.

Per altre informazioni, vedere:

Condividere la propria esperienza

Per ottimizzare e migliorare GitHub Copilot per l'estensione MSSQL, usare il modello di problema GitHub seguente per inviare commenti e suggerimenti: Commenti e suggerimenti su GitHub Copilot

Quando si inviano commenti e suggerimenti, è consigliabile includere:

  • Scenari testati: segnalare le aree su cui ci si è concentrati, ad esempio la creazione dello schema, la generazione di query, la sicurezza, la localizzazione.

  • Cosa ha funzionato bene: descrivere tutte le esperienze che si sono sentite fluide, utili o superate le aspettative.

  • Problemi o bug: includere eventuali problemi, incoerenze o comportamenti confusi. Screenshot o registrazioni dello schermo sono particolarmente utili.

  • Suggerimenti per il miglioramento: condividere idee per migliorare l'usabilità, espandere la copertura o migliorare le risposte di GitHub Copilot.