Pusty IntelliSense w SSMS, gdy zapytania nadal działają
Gdy SSMS przestaje podpowiadać nazwy tabel i kolumn, ale nadal wykonuje zapytania, sprawdź połączenie okna, lokalną pamięć podręczną i widoczność konta.
Wpisanie nazwy tabeli nie daje żadnej podpowiedzi, a jednak to samo okno bez problemu wykonuje instrukcje SELECT. Właśnie ta kombinacja jest wskazówką: połączenie działa, ale stan uzupełniania edytora już nie. SSMS trzyma własną pamięć podręczną i własne wyobrażenie o tym, której bazy danych i którego konta używa okno. Traktuj ten stan jako odrębny od tunelu, zanim zmienisz jakiekolwiek ustawienie sieciowe.
Okno ma własny stan połączenia
Każde okno zapytania niesie ze sobą połączenie, bazę danych i kontekst autoryzacji. Object Explorer może być połączony z innym serwerem lub bazą danych, a inna karta może działać na innym koncie. Potwierdź własny stan danego okna, zanim porównasz go z czymkolwiek innym. Okno otwarte przed uruchomieniem VPN może być też powiązane z połączeniem, które już nie istnieje, więc jego stan ma większe znaczenie, niż sugeruje pasek tytułu.
Przerwa w działaniu VPN może pozostawić to okno rozłączone, podczas gdy aplikacja wciąż wygląda na żywą. Połącz się ponownie zwykłym przepływem pracy SSMS, a następnie potwierdź, że selektor bazy danych pokazuje oczekiwaną bazę.
Wymuś odbudowanie lokalnej pamięci podręcznej
Przewodnik Microsoftu po rozwiązywaniu problemów z IntelliSense dokumentuje obsługiwane odświeżanie: Edytuj → IntelliSense → Odśwież lokalną pamięć podręczną, lub Ctrl+Shift+R. Użyj go po potwierdzeniu połączenia, zwłaszcza gdy obiekty zmieniły się, a okno pozostało otwarte. Odświeżanie odbudowuje lokalną listę; nie przywróci ścieżki sieciowej, która zniknęła.
Potwierdź też, że IntelliSense jest włączony dla edytora i że zainstalowana wersja SSMS obsługuje instrukcję, którą piszesz. Zachowanie uzupełniania różni się między wersjami i nie obejmuje każdego produktu ani formy skryptu. Jeśli skrót nic nie robi, traktuj to jako objaw stanu edytora, a nie objaw VPN. Pozycja menu, która pozostaje szara, i skrót pochłonięty przez inne przypisanie klawiszy to dwa fakty o edytorze, które warto zapisać, zanim obwini się tunel.
Brakujące nazwy mogą być uprawnieniami
Listy uzupełniania podpowiadają tylko obiekty, które połączone konto może zobaczyć. Skrypt skopiowany od kolegi może więc odwoływać się do nazw, których Twoja sesja nie ma uprawnień rozwiązać. Porównaj widoczność zamierzonego konta, a nie niezwiązaną sesję administratora. Jeśli nazwy brakuje z powodu uprawnienia, naprawa edytora nie sprawi, że się pojawi.
Poproś właściciela bazy danych o minimalne uprawnienie potrzebne do zadania i utrzymuj to nadanie konkretnym. Szerokie uprawnienia administracyjne przyznane po to, by zapełnić listę podpowiedzi, wymieniają niewielką wygodę na duże ryzyko.
Ustal, którą awarię naprawdę masz
Dwie awarie wyglądają z klawiatury podobnie i wymagają różnych właścicieli. Jeśli zwykłe instrukcje w tym samym oknie też zawodzą, zbadaj rozwiązywanie nazw, transport i uwierzytelnianie dla tego połączenia. Jeśli instrukcje działają i brakuje tylko podpowiedzi, dowody należą do edytora. Zapisz, którą z dwóch widziałeś, ponieważ oba raporty trafiają do innych zespołów, a mieszany opis opóźnia oba.
Zachowaj zainstalowaną wersję SSMS, wybraną bazę danych, konto i jeden mały nieobjęty tajemnicą przykład do raportu narzędziowego. Nagranie lub lista dokładnych nazw, które zawodzą, pomaga bardziej niż zdanie IntelliSense jest zepsute. Następnie spróbuj ponownie po odświeżeniu pamięci podręcznej i po ponownym połączeniu, ponieważ te dwie czynności rozdzielają większość przypadków.