Udostępnij za pośrednictwem


Identyfikowanie problemów z IntelliSense w SQL Server Management Studio (SSMS)

Dotyczy:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceAzure Synapse AnalyticsAnalytics Platform System (PDW)

Istnieją pewne przypadki, gdy opcje funkcji IntelliSense mogą nie działać zgodnie z oczekiwaniami.

Warunki wpływające na funkcję IntelliSense

Następujące warunki mogą mieć wpływ na zachowanie funkcji IntelliSense:

  • Występuje błąd kodu powyżej kursora.

    Jeśli występuje niekompletna instrukcja lub inny błąd kodowania powyżej lokalizacji punktu wstawiania, funkcja IntelliSense może nie być w stanie przeanalizować elementów kodu i dlatego nie będzie działać. Możesz oznaczyć odpowiedni kod jako komentarz, aby ponownie włączyć funkcję IntelliSense.

  • Punkt wstawiania znajduje się wewnątrz komentarza kodu.

    Opcje funkcji IntelliSense nie są dostępne, gdy punkt wstawiania znajduje się w komentarzu w pliku źródłowym.

  • Punkt wstawiania znajduje się wewnątrz literału ciągu.

    Opcje funkcji IntelliSense nie są dostępne, gdy punkt wstawiania znajduje się wewnątrz cudzysłowu wokół literału ciągu, na przykład:

    WHERE FirstName LIKE 'Patri%|'

  • Opcje automatyczne są wyłączone.

    Wiele funkcji IntelliSense działa automatycznie domyślnie, ale można wyłączyć dowolną funkcję.

    Nawet jeśli automatyczne uzupełnianie instrukcji jest wyłączone, można użyć funkcji IntelliSense. Aby uzyskać więcej informacji, zobacz Configure IntelliSense (SQL Server Management Studio).

Kwerenda aparatu bazy danych IntelliSense

Następujące problemy dotyczą edytora zapytań aparatu bazy danych programu SQL Server:

  • Funkcjonalność IntelliSense w edytorze zapytań silnika bazy danych nie obsługuje wszystkich elementów składni Transact-SQL. Funkcje dotyczące parametrów nie obsługują parametrów w niektórych obiektach, takich jak rozszerzone procedury składowane. Aby uzyskać więcej informacji, zobacz Transact-SQL Składnia obsługiwana przez funkcję IntelliSense.

  • Funkcja IntelliSense jest dostępna tylko wtedy, gdy Edytor zapytań jest połączony z wystąpieniem silnika bazy danych z SQL Server 2008 (10.0.x) lub nowszego. Funkcja IntelliSense nie jest dostępna, gdy Edytor zapytań jest połączony z wcześniejszymi wersjami silnika bazy danych.

  • Funkcja IntelliSense jest wyłączana w Edytorze zapytań SQL Server, gdy ustawiony jest tryb SQLCMD.

  • Funkcja IntelliSense nie obejmuje obiektów bazy danych utworzonych przez inne połączenie po oknie edytora połączonym z bazą danych. Jeśli w funkcjach IntelliSense brakuje obiektów, takich jak listy uzupełniania, możesz wybrać jeden z tych trzech mechanizmów, aby odświeżyć pamięć podręczną obiektów dla okna edytora:

    • Wybierz menu Edytuj, wybierz IntelliSense, a następnie wybierz Odśwież lokalną pamięć podręczną.

    • Użyj skrótu klawiaturowego CTRL+Shift+R.

    • Odłącz okno edytora od wystąpienia silnika bazy danych i połącz się ponownie.

  • Listy uzupełniania nie zawierają obiektów bazy danych, dla których nie masz uprawnień. Funkcja IntelliSense flaguje odwołania do obiektów, dla których masz uprawnienia. Jeśli na przykład otworzysz skrypt napisany przez inną osobę, wszelkie odwołania do obiektów, do których ta osoba ma uprawnienia, a ty nie, są oznaczane jako nieprawidłowe.

  • Listy uzupełniania mogą przestać działać, jeśli utracisz połączenie z wystąpieniem silnika bazy danych. Połącz się ponownie z wystąpieniem.