Aracılığıyla paylaş


Ertelenmiş ad çözümlemesi ve derleme

Saklı yordam oluşturulduğunda, sözdizimsel doğruluğu için yordam deyimlerinde ayrıştırılır.Sözdizim hatası yordam tanımı içinde ortaya çıkarsa, bir hata döndürülür ve saklı yordam oluşturulmaz.İfade doğru ise, saklı yordam metni depolanır sql_dependencies Katalog görünümü.

Ne zaman bir saklı yordam yürütüldüğünde için ilk saat, sorgu işlemci saklı yordam metni okur sql_dependencies Katalog görünümü ve yordam tarafından kullanılan nesnelerin adlarını olduğunu denetler.Bu işlem, saklı yordam oluşturulduğunda, saklı yordam tarafından başvurulan tablo nesneleri varolmaması, ancak yalnızca yürütüldüğünde, ertelenmiş ad çözümlemesi denir.

Not

Ertelenmiş ad çözümlemesi yalnızca var olmayan bir tablo nesneleri başvuru yaptığınızda kullanılabilir.Diğer tüm nesnelerin sırasında mevcut olmalıdır saat saklı yordam oluşturulur.Örneğin, varolan bir başvuru yaptığınızda tablo içinde saklı bir yordam, var olmayan sütunlar için listelenemiyor tablo.

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 tarafından başvurulan nesneleri saklı yordam çalıştırıldığında eksikse, saklı yordamı durdurur yürütmek için aldığında deyim , eksik nesne başvuruyor.Bu durum, ya da çözüm Sahne Alanı ' diğer hataları bulunursa, bir hata döndürdü.

Not

Saklı yordam tarafından başvurulan nesne silinmiş veya yeniden adlandırılmış, saklı yordam çalıştırıldığında hata döndürülür.Ancak, aynı ada sahip bir nesne bir saklı yordamda başvurulan nesne geçiyorsa, saklı yordam yeniden oluşturulması gerek kalmadan yürütür.Örneğin, saklı yordam Proc1 başvuru tablosu Test1, ve Test1 silinir ve farklı bir tablo adı verilen Test1 oluşturulur, Proc1 yeni tabloya başvurur.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ı yürütme en hızlı yöntemi açıklanır saklı yordam, gibi bilgilere dayanarak:

  • Tablolardaki verileri tutar.

  • Doğa ve tablolar ve dizinlenmiş sütunlardaki veri dağıtım dizinlerde varlığını.

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

  • Birleşimler ve UNION, group by ve order by anahtar sözcükleri varlığını.

Sonra sorgu en iyi duruma getiricisi Bu etkenler içinde incelediği saklı yordam, bellekte yürütme planı yerleştirir.Saklı yordam çözümleme ve yürütme planı oluşturma işlemi derleme adı verilir.İyileştirilmiş bellek içi yürütme planı sorguyu yürütmek için kullanılır.Yürütme planı bellekte kalır SQL Server yeniden başlatılıncaya veya başka bir nesneyi depolama için yer gerekinceye kadar

Daha sonra saklı yordam yürütüldüğünde, SQL Server yeniden kullanır, varolan yürütme planı ise, yine de bellek.Yürütme planı artık bellekte, yeni bir yürütme planı oluşturulur.