sql >> Database teknologi >  >> RDS >> Sqlserver

En pålidelig måde at verificere T-SQL-lagrede procedurer på

Her er hvad der virkede for mig:

-- 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

Du bør få alle manglende afhængigheder til dine SP'er, hvilket løser problemer med sen binding.

Undtagelse :is_caller_dependent =1 betyder ikke nødvendigvis en brudt afhængighed. Det betyder blot, at afhængigheden er løst på runtime, fordi skemaet for det refererede objekt ikke er angivet. Du kan undgå, at det specificerer skemaet for det refererede objekt (f.eks. en anden SP).

Kreditering til Jays blog og den anonyme kommentator...



  1. COUNT(id) vs. COUNT(*) i MySQL

  2. MySQL Workbench Alternatives - ClusterControl Database User Management

  3. Aflæsning af klods variabel linje for linje

  4. give fjernadgang til MySQL-database fra enhver IP-adresse