IntelliSense không hoạt động nhưng nó được kích hoạt


30

Vấn đề này thực sự được chứng minh là một vấn đề khó khăn (và khá khó chịu).

Trong SQL Server Management Studio 2008, cho đến vài ngày trước, IntelliSense của tôi đã hoạt động rất tốt. Rồi đột nhiên nó dừng lại. Biểu tượng như được bật trên menu thanh công cụ và trong Công cụ -> Tùy chọn -> Trình soạn thảo văn bản -> T-SQL -> IntelliSense, nó cho biết nó được bật ở đó.

Tôi đã thử cập nhật bộ đệm IntelliSense bằng Ctrl-Shft-R nhưng nó cũng không hoạt động.

Có ý tưởng nào đã xảy ra với IntelliSense của tôi không và tôi cần phải làm gì để lấy lại?

Câu trả lời:



30

Có nhiều khả năng IntelliSense không hoạt động:

Có những trường hợp bộ đệm cục bộ được sử dụng bởi IntelliSense trở nên cũ. Làm mới bộ đệm là dễ dàng nhưng không nhất thiết phải rõ ràng.

Có hai cách để làm mới bộ đệm:

  1. Đánh Ctrl+Shift+R
  2. Chuyển đến Chỉnh sửa -> IntelliSense -> Làm mới Bộ nhớ cache cục bộ

Nếu IntelliSense vẫn không hoạt động, thì hãy đảm bảo bạn đã bật IntelliSense. Để kiểm tra điều này từ cửa sổ trình soạn thảo Truy vấn T-SQL của cơ sở dữ liệu hiện tại:

  1. Chuyển đến Công cụ -> Tùy chọn -> Trình soạn thảo văn bản -> Transact-SQL -> Chung -> IntelliSense
  2. Truy cập Truy vấn -> Nên chọn IntelliSense
  3. Đồng thời xác minh rằng Trình chỉnh sửa T-SQL không khởi chạy trong Chế độ SQLCMD. Để kiểm tra:

    • Chuyển đến Công cụ -> Tùy chọn -> Thực thi truy vấn -> Máy chủ SQL -> Chung
    • Đảm bảo "Theo mặc định, mở các truy vấn mới trong chế độ SQLCMD" không được chọn.
    • hoặc Đi đến Truy vấn -> Không nên chọn Chế độ SQLCMD

Đọc thêm


15

Tôi gặp vấn đề này, vì vậy tôi đã làm theo lời khuyên của Ritesh D và đi đến Công cụ -> Tùy chọn -> Trình soạn thảo văn bản -> Transact-SQL -> Chung . Tôi đã kiểm tra IntelliSense và thấy nó đã được kích hoạt.

Tuy nhiên, tôi thấy rằng "Thành viên danh sách tự động" và "Thông tin tham số" không được chọn. Vì vậy, tôi đã kiểm tra chúng. Điều này đã giải quyết vấn đề của tôi.

nhập mô tả hình ảnh ở đây

Hai tính năng này là những gì tôi nghĩ là "intellisense" và Microsoft không đồng ý :

IntelliSense là thuật ngữ chung cho một số tính năng: Danh sách thành viên, Thông tin tham số, Thông tin nhanh và Từ hoàn chỉnh. Các tính năng này giúp bạn tìm hiểu thêm về mã bạn đang sử dụng, theo dõi các tham số bạn đang nhập và thêm các cuộc gọi đến các thuộc tính và phương thức chỉ bằng một vài lần nhấn phím.


9

Vui lòng kiểm tra xem kích thước tập lệnh tối đa được đặt thành "Không giới hạn" trong tùy chọn menu Công cụ -> Tùy chọn -> Trình soạn thảo văn bản -> Transact-SQL -> Chung -> IntelliSense. Tôi đã làm điều này và intellisense bắt đầu làm việc


5

Khi bạn sử dụng cơ sở dữ liệu từ xa có kết nối truyền thấp (ví dụ: tôi đã kết nối từ châu Âu đến máy chủ văn phòng ở châu Á) và khi cấu trúc của cơ sở dữ liệu không nhỏ (ví dụ như nhiều bảng) thì SSMS sẽ mất nhiều thời gian hơn để hoàn thành tất cả dữ liệu IntelliSense.

Trong trường hợp của tôi, tôi đã phải chờ hơn 1 phút để có thể truy cập IntelliSense (kết nối chậm và db với khoảng 1000 bảng). (SSMS không hiển thị bất kỳ chỉ báo tiến trình hoặc bất kỳ thông tin nào liên quan đến quá trình tải của IntelliSense)


1

Cơ sở dữ liệu OFFLINE có thể khiến intelissense ngừng hoạt động. Bạn có thể kiểm tra nó bằng cách đặt bất kỳ cơ sở dữ liệu nào trong máy chủ được kết nối của bạn vào OFFLINE và hoàn nguyên nó.

Tôi có thể xác nhận nó là một lỗi SQL 2016


1

Tôi nhận thấy vấn đề này khi tôi thu hồi một số quyền cho người dùng công cộng, như được đề xuất bởi Azure. Điều này đã giúp giải quyết vấn đề của tôi:

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

-3

Tôi gặp vấn đề tương tự với SQL Server 2008 R2. Nó chỉ được giải quyết sau khi áp dụng SQL server 2008R2 Gói dịch vụ 1.


SQL Server 2008 và SQL Server 2008 R2 là các phiên bản khác nhau. Câu hỏi là về cái trước, và câu trả lời của bạn, về cái sau.
Andriy M
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.