SQL Server 2008 - sp_refreshview Bombenanschlag auf einige Ansichten

Habe ich geerbt, eine ziemlich große Projekt, das macht umfangreiche Verwendung von SQL Server (2005 und 2008) Ansichten.

Einen Schritt in den build-Prozess ist der Aufruf der sp_refreshviews im system gespeicherten Prozedur, um sicherzustellen, dass keine änderungen auf alle Tabellen gebrochen haben unsere Ansichten. Dies funktioniert sehr gut .... außer für etwa drei oder vier (von 200+) Ansichten....

Mit denen, die es nur Bomben aus - gibt seltsame Fehlermeldungen wie

Msg-15165, Ebene 16, Status 1,
Verfahren
sp_refreshsqlmodule_internal, Linie 55

Objekt konnte nicht gefunden werden
'vYourViewNameHere' oder Sie nicht
Berechtigung haben.

ist absolut falsch - diese Ansicht hat vorhanden ist, und ich auf jeden Fall kann wählen Sie es aus.

Ich kann nicht scheinen zu finden, eine gute übersichtliche Informationen über warum dies geschieht, was es auslöst... irgendwelche Ideen? Gibt es irgendetwas, was ich tun könnte, um zu erkennen, wie problematisch Ansichten? Kann ich das ändern Ihrer definitino, so dass Sie sein würde aktualisierbare wieder?

Update: ich angemeldet einen bug-report auf Microsoft Connect für diesen - wenn Sie dem Zustimmen, scheint seltsam und repariert werden muss, bitte für ihn abstimmen!

https://connect.microsoft.com/SQLServer/feedback/details/676728/sp-refreshview-crashes-with-misleading-error-on-views-with-schemabinding

  • Ist dieser Verbinden-Element relevant für Ihre situation?
  • Stefanelli: habe es versucht - Gleiches Ergebnis 🙁 ich ließ eine von jenen, die problem-sichten und neu erstellt, es mit dem expliziten schema - noch nicht wie, aktualisiert zu werden....
  • sp_refreshview erfordert die alter-Berechtigung für die Ansicht in Frage. Sie erwähnt, dass Sie auswählen können, aber können Sie ändern Sie die einzelnen anzeigen, mit der gleichen Anmeldung sind Sie sp_refreshview ausgeführt unter?
InformationsquelleAutor marc_s | 2011-06-23
Schreibe einen Kommentar