At skrive et tabelnavn giver ingen forslag, men det samme vindue kører uden problemer SELECT-sætninger. Den kombination er ledetråden: forbindelsen virker, men editorens fuldførelsestilstand gør ikke. SSMS holder sin egen cache og sin egen opfattelse af, hvilken database og konto vinduet bruger. Behandl den tilstand som adskilt fra tunnelen, før du ændrer nogen netværksindstilling.

Vinduet har sin egen forbindelsestilstand

Hvert forespørgselsvindue bærer en forbindelse, en database og en autorisationskontekst. Object Explorer kan være forbundet til en anden server eller database, og en anden fane kan køre som en anden konto. Bekræft det berørte vindues egen status, før du sammenligner det med noget andet. Et vindue, der blev åbnet, før VPN kom op, kan også være bundet til en forbindelse, der ikke findes længere, så dets status betyder mere, end titellinjen antyder.

En VPN-afbrydelse kan efterlade det vindue afbrudt, mens programmet stadig ser levende ud. Forbind igen via det normale SSMS-flow, og bekræft derefter, at databasevælgeren viser den database, du forventer.

Tving den lokale cache til at blive genopbygget

Microsofts fejlfindingsvejledning til IntelliSense dokumenterer den understøttede opdatering: Rediger → IntelliSense → Opdater lokal cache, eller Ctrl+Shift+R. Brug den, efter du har bekræftet forbindelsen, især når objekter ændrede sig, mens vinduet stod åbent. Opdateringen genopbygger en lokal liste; den kan ikke genskabe en netværksvej, der er forsvundet.

Bekræft også, at IntelliSense er slået til for editoren, og at den installerede SSMS-version understøtter den sætning, du skriver. Fuldførelsesadfærd varierer mellem versioner og dækker ikke alle produkter eller scriptformer. Hvis genvejen ikke gør noget, skal du behandle det som et symptom på editortilstanden snarere end et VPN-symptom. Et menupunkt, der forbliver gråt, og en genvej, der sluges af en anden tastebinding, er begge editorfakta, der er værd at notere, før tunnelen bebrejdes.

Manglende navne kan være tilladelser

Fuldførelseslister foreslår kun objekter, som den forbundne konto kan se. Et script kopieret fra en kollega kan derfor henvise til navne, som din session ikke har tilladelse til at opløse. Sammenlign den tilsigtede kontos synlighed i stedet for en administrators urelaterede session. Hvis et navn mangler på grund af en tilladelse, får en rettelse af editoren det ikke til at dukke op.

Bed databaseejeren om den mindste tilladelse, som opgaven kræver, og hold den tildeling specifik. Brede administrative rettigheder, der gives for at fylde en forslagsliste, bytter en lille bekvemmelighed for en stor eksponering.

Afgør, hvilken fejl du faktisk har

To fejl ser ens ud fra tastaturet og kræver forskellige ejere. Hvis almindelige sætninger i samme vindue også fejler, skal du undersøge navneopløsning, transport og godkendelse for den forbindelse. Hvis sætninger kører, og kun forslag mangler, hører beviset til editoren. Skriv ned, hvilken af de to du så, fordi de to rapporter går til forskellige teams, og en blandet beskrivelse forsinker begge.

Gem den installerede SSMS-version, den valgte database, kontoen og et lille ikke-hemmeligt eksempel til værktøjsrapporten. En optagelse eller en liste over de præcise navne, der fejler, hjælper mere end sætningen IntelliSense er i stykker. Prøv derefter igen efter cacheopdateringen og efter en genopkobling, fordi de to handlinger skiller de fleste tilfælde.

Relaterede artikler