IntelliSense tidak berfungsi tetapi diaktifkan

30

Masalah ini benar-benar terbukti rumit (dan cukup menjengkelkan).

Di SQL Server Management Studio 2008, hingga beberapa hari yang lalu IntelliSense saya berfungsi dengan baik. Lalu tiba-tiba berhenti. Ikon yang diaktifkan pada menu bilah alat, dan di bawah Alat -> Opsi -> Editor Teks -> T-SQL -> IntelliSense dikatakan telah diaktifkan di sana.

Saya telah mencoba mengubah cache IntelliSense dengan Ctrl-Shft-R tetapi itu tidak berhasil.

Adakah ide apa yang terjadi pada IntelliSense saya dan apa yang harus saya lakukan untuk mendapatkannya kembali?

Thomas Stringer
sumber

Jawaban:

31

Ada beberapa kemungkinan di mana IntelliSense tidak berfungsi:

Ada kasus di mana cache lokal yang digunakan oleh IntelliSense menjadi basi. Menyegarkan cache itu mudah tetapi belum tentu jelas.

Ada dua cara untuk menyegarkan cache:

  1. Memukul Ctrl+Shift+R
  2. Pergi ke Edit -> IntelliSense -> Refresh Cache Lokal

Jika IntelliSense masih tidak berfungsi, maka pastikan Anda mengaktifkan IntelliSense. Untuk memeriksa ini dari jendela editor T-SQL Query dari database saat ini:

  1. Pergi ke Alat -> Pilihan -> Editor Teks -> Transact-SQL -> Umum -> IntelliSense
  2. Buka Kueri -> IntelliSense harus dipilih
  3. Juga verifikasi bahwa T-SQL Editor tidak diluncurkan dalam Mode SQLCMD. Untuk memeriksa:

    • Pergi ke Alat -> Opsi -> Eksekusi Kueri -> SQL Server -> Umum
    • Pastikan "Secara default, buka kueri baru dalam mode SQLCMD" tidak dicentang.
    • atau Buka Kueri -> SQLCMD Mode tidak boleh dipilih

Baca lebih lajut

Ritesh D
sumber
16

Saya punya masalah ini, jadi saya mengikuti saran Ritesh D dan pergi ke Tools -> Options -> Text Editor -> Transact-SQL -> General . Saya memeriksa IntelliSense, dan ternyata sudah diaktifkan.

Namun, saya menemukan bahwa "Anggota daftar otomatis" dan "Informasi parameter" tidak dicentang. Jadi saya memeriksanya. Ini menyelesaikan masalah saya.

masukkan deskripsi gambar di sini

Dua fitur ini adalah apa yang saya anggap "intellisense", dan Microsoft tidak setuju :

IntelliSense adalah istilah umum untuk sejumlah fitur: Daftar Anggota, Info Parameter, Info Cepat, dan Kata Lengkap. Fitur-fitur ini membantu Anda mempelajari lebih lanjut tentang kode yang Anda gunakan, melacak parameter yang Anda ketikkan, dan menambahkan panggilan ke properti dan metode hanya dengan beberapa penekanan tombol.

Michael Currie
sumber
9

Harap periksa bahwa ukuran skrip Maksimum diatur ke "Tidak terbatas" di bawah pilihan menu Alat -> Opsi -> Editor Teks -> Transact-SQL -> Umum -> IntelliSense. Saya melakukan ini dan kecerdasan mulai bekerja

RT0205
sumber
5

Ketika Anda menggunakan basis data jauh dengan koneksi transfer rendah (misalnya saya terhubung dari Eropa ke server kantor jauh Asia) dan ketika struktur basis data tidak kecil (misalnya banyak tabel) maka SSMS membutuhkan lebih banyak waktu bagi SSMS untuk menyelesaikan semua data IntelliSense.

Dalam kasus saya, saya harus menunggu lebih dari 1 menit agar IntelliSense dapat diakses (koneksi lambat dan db dengan sekitar 1000 tabel). (SSMS tidak menampilkan indikator progres atau info apa pun yang terkait dengan proses pemuatan IntelliSense)

Bronek
sumber
1

Basis data OFFLINE dapat menyebabkan intelissense berhenti bekerja. Anda dapat mengujinya dengan meletakkan basis data di server Anda yang terhubung ke OFFLINE dan mengembalikannya.

Saya dapat mengkonfirmasinya sebagai bug SQL 2016

jean
sumber
1

Saya perhatikan masalah ini ketika saya mencabut beberapa izin untuk pengguna publik, seperti yang disarankan oleh Azure. Ini membantu menyelesaikan masalah saya:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]
Michael Capobianco
sumber
-3

Saya memiliki masalah yang sama dengan SQL Server 2008 R2. Itu diselesaikan hanya setelah menerapkan SQL Server 2008R2 Paket Layanan 1.

Geeta
sumber
SQL Server 2008 dan SQL Server 2008 R2 adalah versi yang berbeda. Pertanyaannya adalah tentang yang pertama, dan jawaban Anda, tentang yang terakhir.
Andriy M