Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Niezawodny sposób weryfikacji procedur składowanych T-SQL

Oto, co zadziałało dla mnie:

-- Based on comment from http://blogs.msdn.com/b/askjay/archive/2012/07/22/finding-missing-dependencies.aspx
-- Check also http://technet.microsoft.com/en-us/library/bb677315(v=sql.110).aspx

select o.type, o.name, ed.referenced_entity_name, ed.is_caller_dependent
from sys.sql_expression_dependencies ed
join sys.objects o on ed.referencing_id = o.object_id
where ed.referenced_id is null

Powinieneś zdobyć wszystkie brakujące zależności dla swoich SP, rozwiązując problemy z późnym wiązaniem.

Wyjątek :is_caller_dependent =1 niekoniecznie oznacza zerwaną zależność. Oznacza to po prostu, że zależność jest rozwiązywana w czasie wykonywania, ponieważ schemat obiektu, do którego się odwołuje, nie jest określony. Możesz tego uniknąć, określając schemat obiektu, do którego się odwołujesz (na przykład inny SP).

Podziękowania dla bloga Jaya i anonimowy komentator...



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. GROUP BY, aby połączyć/połączyć kolumnę

  2. Jak połączyć się z domyślną instancją programu SQL Server i nazwanymi wystąpieniami programu SQL Server — samouczek programu SQL Server/TSQL — część 2

  3. Dodaj kolumnę do tabeli, jeśli jeszcze nie istnieje

  4. Odwołaj się do aliasu w innym miejscu na liście WYBIERZ

  5. String_agg dla SQL Server przed 2017 r.