IntelliSense ไม่ทำงาน แต่เปิดใช้งานแล้ว


30

ปัญหานี้พิสูจน์ให้เห็นแล้วว่าเป็นเรื่องยุ่งยาก (และค่อนข้างน่ารำคาญ)

ใน SQL Server Management Studio 2008 จนถึงไม่กี่วันที่ผ่านมา IntelliSense ของฉันทำงานได้ดี ทันใดนั้นมันก็หยุด ไอคอนตามที่เปิดใช้งานบนเมนูแถบเครื่องมือและภายใต้เครื่องมือ -> ตัวเลือก -> ตัวแก้ไขข้อความ -> T-SQL -> IntelliSense ระบุว่ามีการเปิดใช้งานที่นั่น

ฉันลอง refeshing แคช IntelliSense ด้วย Ctrl-Shft-R แต่ก็ไม่ได้ผลเหมือนกัน

ความคิดใด ๆ ที่เกิดขึ้นกับ IntelliSense ของฉันและสิ่งที่ฉันต้องทำเพื่อให้ได้กลับมา?

คำตอบ:


11

หากคุณเพิ่งอัพเกรด VisualStudio ของคุณให้ดูที่ลิงค์นี้เพื่อแก้ไข:

คุณลักษณะ IntelliSense ใน SSMS 2008 R2 อาจหยุดทำงานหลังจากที่คุณติดตั้ง Visual Studio 2010 SP1

หรือคุณสามารถดาวน์โหลดตัวแก้ไขได้โดยตรงจากที่นี่:

วิธีขอรับ Service Pack ล่าสุดสำหรับ SQL Server 2008 R2


30

มีความเป็นไปได้หลายอย่างที่ IntelliSense ไม่ทำงาน:

มีบางกรณีที่แคชภายในเครื่องที่ใช้โดย IntelliSense กลายเป็นเก่า การรีเฟรชแคชนั้นง่าย แต่ไม่จำเป็นต้องชัดเจน

มีสองวิธีในการรีเฟรชแคช:

  1. ตี Ctrl+Shift+R
  2. ไปที่แก้ไข -> IntelliSense -> รีเฟรชแคชในเครื่อง

หาก IntelliSense ยังคงใช้งานไม่ได้ให้ตรวจสอบให้แน่ใจว่าคุณเปิดใช้งาน IntelliSense วิธีตรวจสอบจากหน้าต่าง T-SQL Query editor ของฐานข้อมูลปัจจุบัน:

  1. ไปที่เครื่องมือ -> ตัวเลือก -> ตัวแก้ไขข้อความ -> Transact-SQL -> ทั่วไป -> IntelliSense
  2. ไปที่ Query -> ควรเลือก IntelliSense
  3. ตรวจสอบด้วยว่า T-SQL Editor ไม่เปิดทำงานในโหมด SQLCMD เพื่อตรวจสอบ:

    • ไปที่เครื่องมือ -> ตัวเลือก -> การดำเนินการสืบค้น -> SQL Server -> ทั่วไป
    • ตรวจสอบให้แน่ใจว่า "โดยค่าเริ่มต้นคิวรีใหม่ที่เปิดในโหมด SQLCMD" จะถูกตรวจสอบ
    • หรือไปที่ Query -> ไม่ควรเลือกโหมด SQLCMD

อ่านเพิ่มเติม


15

ฉันมีปัญหานี้เพื่อให้ฉันทำตามคำแนะนำ Ritesh D's และเดินไปที่เครื่องมือ -> ตัวเลือก -> แก้ไขข้อความ -> Transact-SQL -> ทั่วไป ฉันตรวจสอบ IntelliSense และพบว่าเปิดใช้งานแล้ว

อย่างไรก็ตามฉันพบว่า "รายการสมาชิกอัตโนมัติ" และ "ข้อมูลพารามิเตอร์" ไม่ได้ถูกตรวจสอบ ดังนั้นฉันจึงตรวจสอบพวกเขา นี่เป็นการแก้ไขปัญหาของฉัน

ป้อนคำอธิบายรูปภาพที่นี่

คุณสมบัติทั้งสองนี้เป็นสิ่งที่ฉันคิดว่าเป็น "Intellisense" และMicrosoft ไม่เห็นด้วย :

IntelliSense เป็นคำทั่วไปสำหรับคุณสมบัติหลายประการ: แสดงรายการข้อมูลพารามิเตอร์ข้อมูลด่วนและ Word ที่สมบูรณ์ คุณสมบัติเหล่านี้ช่วยให้คุณเรียนรู้เพิ่มเติมเกี่ยวกับรหัสที่คุณใช้ติดตามพารามิเตอร์ที่คุณกำลังพิมพ์และเพิ่มการเรียกไปยังคุณสมบัติและวิธีการด้วยการกดปุ่มเพียงไม่กี่ครั้ง


9

โปรดตรวจสอบว่าขนาดสคริปต์สูงสุดถูกตั้งค่าเป็น "ไม่ จำกัด " ภายใต้เมนูตัวเลือกเครื่องมือ -> ตัวเลือก -> ตัวแก้ไขข้อความ -> Transact-SQL -> ทั่วไป -> IntelliSense ฉันทำสิ่งนี้และ IntelliSense เริ่มทำงาน


5

เมื่อคุณใช้ฐานข้อมูลระยะไกลที่มีการเชื่อมต่อการถ่ายโอนต่ำ (ตัวอย่างเช่นฉันเชื่อมต่อจากยุโรปไปยังเซิร์ฟเวอร์สำนักงานของเอเชียไกล) และเมื่อโครงสร้างของฐานข้อมูลไม่เล็ก (เช่นตารางจำนวนมาก) จากนั้น SSMS จะใช้เวลามากขึ้น

ในกรณีของฉันฉันต้องรอ 1 นาทีเพื่อให้สามารถเข้าถึง IntelliSense ได้ (การเชื่อมต่อที่ช้าและฐานข้อมูลประมาณ 1,000 ตาราง) (SSMS ไม่แสดงตัวบ่งชี้ความคืบหน้าหรือข้อมูลใด ๆ ที่เกี่ยวข้องกับกระบวนการโหลดของ IntelliSense)


1

ฐานข้อมูลออฟไลน์อาจทำให้ intelissense หยุดทำงาน คุณสามารถทดสอบได้โดยใส่ฐานข้อมูลใด ๆ ในเซิร์ฟเวอร์ที่เชื่อมต่อของคุณไปที่ออฟไลน์แล้วย้อนกลับ

ฉันสามารถยืนยันว่าเป็นข้อผิดพลาด SQL 2016


1

ฉันสังเกตเห็นปัญหานี้เมื่อฉันเพิกถอนสิทธิ์บางอย่างแก่ผู้ใช้สาธารณะตามที่ Azure แนะนำ สิ่งนี้ช่วยแก้ปัญหาของฉัน:

use master
go
GRANT EXECUTE ON [xp_instance_regread] TO [public]
GRANT EXECUTE ON [xp_regread] TO [public]

-3

ฉันมีปัญหาเดียวกันกับ SQL Server 2008 R2 ได้รับการแก้ไขหลังจากใช้ SQL Server 2008R2 Service Pack 1 แล้วเท่านั้น


SQL Server 2008 และ SQL Server 2008 R2 เป็นรุ่นที่แตกต่างกัน คำถามเกี่ยวกับอดีตและคำตอบของคุณเกี่ยวกับหลัง
Andriy M
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.