Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Stored Procedure'ler: Parametreler, Hata Yönetimi, Yetki Zinciri ve Güvenli Dynamic SQL
Doğru stored procedure iskeleti SET NOCOUNT ON, SET XACT_ABORT ON, TRY/CATCH içinde ROLLBACK ve parametresiz THROW'dur; aksi hâlde bir CHECK hatası yarım siparişi commit edebilir. Output parameter ve return code'un Dapper'dan okunması, uygulama kullanıcısına yalnız EXECUTE veren ownership chaining, allowlist + QUOTENAME + sp_executesql ile güvenli dynamic SQL ve dynamic SQL'in kırdığı zinciri module signing ile onarmak gerçek çıktılarla.
Function'lar ve Trigger'lar: Scalar UDF Inlining, Inline TVF, Multi-Statement TVF ve Trigger Tuzakları
Inline edilmeyen bir scalar UDF satır başına ayrı modül olarak çalışır: 17.359 siparişlik bir sorguda function 34.718 kez çağrıldı, 365.498 logical read STATISTICS IO'da hiç görünmedi ve plan paralel olamadı. SQL Server 2019 inlining'i, is_inlineable, inline TVF ile MSTVF'nin 100 satırlık sabit tahmini ve interleaved execution, trigger'da tek satır varsayımı, EF Core'un OUTPUT kısıtı ve audit için temporal table gerçek ölçümlerle.