Share via


Ertelenen ad çözümlemesi ve derleme

Yordamı tablolarda, bir saklı yordam oluşturulduğunda, sözdizimsel doğruluk için ayrıştırıldı.Bir sözdizim hatası yordamı tanımında karşılaşılırsa, bir hata döndürdü ve saklı yordam oluşturulmadı.Ifadeleri doğru saklı yordam metninin depolanan sql_dependencies kataloğunu görüntüleyin.

Saklı bir yordam için ilk ne zaman yürütülecek olan saat, sorgu işlemcisi metnin saklı yordamdan okur sql_dependencies Katalog görünümü ve yordam tarafından kullanılan nesnelerin adları çekler var.Bu işlem, ertelenen ad çözümlemesi denir, çünkü tablo saklı bir yordam tarafından başvurulan bir nesne saklı yordam oluşturulduğunda, ancak yalnızca bu yürütüldüğünde yok.

Not

Ertelenen ad çözümlemesi, yalnızca varolmayan bir tablo nesneleri başvuru yaptığınızda kullanılabilir.Saklı yordam oluşturulduğunda, tüm nesneleri varolmalıdır.Varolan bir tabloya başvuru yaptığınızda, bir saklı yordam varolmayan bu tablonun sütunlarını listesi kuramıyor.

In the resolution stage, Microsoft SQL Server also performs other validation activities (for example, checking the compatibility of a column data type with variables).Saklı yordam çalıştırıldığında saklı bir yordam tarafından başvurulan nesne yoksa, saklı yordam eksik nesne başvuran ifadesine aldığında yürütülüyor durdurur.Bu durumda, veya diğer hatalar çözümlemesi aşamasında bulunamazsa, bir hata döndürülür.

Not

Saklı bir yordam tarafından başvurulan bir nesne silindi veya yeniden adlandırıldığında, saklı yordam çalıştırıldığında hata döndürülür.Ancak, bir saklı yordamın içinde başvurulan bir nesne ile aynı ada sahip bir nesne değiştirilir, saklı yordam yeniden gerek kalmadan yürütür.Örneğin, saklı yordamını Proc1 tabloya başvuruyor.Test1, and Test1 silinir ve farklı bir tablo adı verilen Test1 oluşturulurProc1 yeni tabloya başvuruyor.Saklı yordam yeniden oluşturulması gerekmez.

If procedure execution successfully passes the resolution stage, the Microsoft SQL Server query optimizer analyzes the Transact-SQL statements in the stored procedure and creates an execution plan.Yürütme planı gibi bilgileri temel alarak saklı yordamı yürütme hızlı bir yöntem açıklanmaktadır:

  • Tablolarda veri miktarı.

  • Doğa ve tablolar için ve dizinlenmiş sütunlardaki veriler dağıtımını dizinlerde varlığını.

  • Karşılaştırma işleçlerini ve WHERE yan tümce koşullarında kullanılan bir karşılaştırma değeri.

  • Birleştirmeler ve UNION, GROUP BY ve ORDER BY anahtar sözcükler varlığını.

Sonra sorgu iyileştiricisi saklı yordam Bu etkenler çözümlenen, bellekte yürütme planı yerleştirir.saklı yordam çözümleniyor ve yürütme planı oluşturma işlemi, derleme olarak adlandırılır.En iyi duruma getirilmiş bir bellek içi yürütme planı, sorguyu yürütmek için kullanılır.Kadar bellekte yürütme planı kalır. SQL Server yeniden başlatılıncaya veya başka bir nesne için depolama alanı gerekli.

Ne zaman saklı yordam daha sonra çalıştırılır SQL Server hala bellekte ise, varolan yürütme planı yeniden kullanır. Yürütme planı artık bellekte değilse, yeni bir yürütme planı oluşturulur.