Symptomy
Załóżmy, że użytkownik tworzy lokalną procedurę przechowywaną, która wywołuje zdalną procedurę składowaną na serwerze połączonym za pomocą instrukcji EXECUTE w programie SQL Server 2019. Jeśli jedna z wartości parametru Remote procedur składowanych jest zmienną systemową (@ @servername, @ @servicename,...), tak jak w poniższym przykładzie:
Utwórz test procedury
nazywa
od
wykonywanie [myLinkedServer]. [myDB]. dbo. moje proc @ @Servername
end
Może wystąpić brak naruszenia zasad dostępu. Ponadto może zostać wyświetlony komunikat o błędzie podobny do następującego:
Msg 596, poziom 21, stan 1, wiersz LineNumber
Nie można kontynuować wykonywania, ponieważ sesja jest w stanie niszczącym.
Msg 0, poziom 20, stan 0, wiersz LineNumber
W bieżącym poleceniu wystąpił poważny błąd. Ewentualne wyniki należy odrzucić.
Stan
Firma Microsoft potwierdziła, że jest to problem występujący w produktach firmy Microsoft wymienionych w sekcji "dotyczy".
Rozwiązanie
Ten problem został rozwiązany w następującej zbiorczej aktualizacji dla programu SQL Server:
Informacje dotyczące aktualizacji zbiorczych dla programu SQL Server:
Każda nowa Zbiorcza aktualizacja programu SQL Server zawiera wszystkie poprawki i wszystkie poprawki zabezpieczeń uwzględnione w poprzedniej aktualizacji zbiorczej. Zapoznaj się z najnowszymi aktualizacjami zbiorczymi dla programu SQL Server:
Informacje
Lzdobycie terminologiiużywanej przez firmę Microsoft do opisywania aktualizacji oprogramowania.