Birkaç istisna vardır, ancak Veritabanı Altyapısı Hata Önemleri (MSDN) inanıyorum :
Şiddet seviyesi 19 veya daha yüksek olan hata mesajları geçerli toplu işin yürütülmesini durdurur.
Veritabanı bağlantısını sonlandıran, genellikle 20 ile 25 arasındaki önem derecesine sahip hatalar, bağlantı sona erdiğinde yürütme durdurulduğundan CATCH bloğu tarafından işlenmez.
Bu nedenle, aşağıdaki sorgudan kesin bir liste alabilirsiniz gibi görünüyor (tabii ki bu, hangilerinin kullanıcı T-SQL'in neden olabileceğini filtrelemenize izin vermeyecektir):
SELECT message_id, severity, [text]
FROM sys.messages
WHERE language_id = 1033
AND severity >= 19
ORDER BY severity, message_id;
SQL Server 2012'de, bu 210 satır üretir.
SQL Server 2016'da, bu 256 satır üretir.
Bu arada, sorunuzda açıkladığınız iki senaryonun düşündüğünüz gibi çalıştığına inanmıyorum, en azından SQL Server'ın modern sürümlerinde değil. Bunu hem 2012 hem de 2016'da denedim (Erland'ın makalesinde, farklı olup olmadığını hatırlamıyorum SQL Server 2000 davranışı açıkladığına inanıyorum, ancak bugün bile çok alakalı değil).
USE tempdb;
GO
CREATE PROCEDURE dbo.pA -- no parameters
AS PRINT 1
GO
CREATE PROCEDURE dbo.pB -- two parameters
@x INT, @y INT
AS PRINT 1
GO
SET XACT_ABORT OFF;
GO
EXEC dbo.pA @foo = 1;
PRINT '### Calling procedure that doesn''t take parameters with a parameter';
GO
EXEC dbo.pB;
PRINT '### Calling procedure that takes 2 parameters with no parameters';
GO
EXEC dbo.pB @x = 1;
PRINT '### Calling procedure that takes 2 parameters with not enough parameters';
GO
EXEC dbo.pB @x = 1, @y = 2, @z = 3;
PRINT '### Calling procedure that takes 2 parameters with too many parameters';
GO
Bunların tümü, önem seviyesi 16'daki hatalar üretir ve hepsi, baskı çıktısında kanıtlandığı gibi toplu işle devam eder:
Msg 8146, Seviye 16, Durum 2, Prosedür pA, Hat 11
Prosedür pA'da parametre yok ve argümanlar sağlandı.
###
Msg 201, Seviye 16, Durum 4, Prosedür pB, Hat 14
parametresi ile parametre almayan çağrı prosedürü
Prosedür veya fonksiyon 'pB', sağlanmayan '@x' parametresini bekliyor.
### Parametresiz 2 parametre alan çağrı prosedürü
Msg 201, Seviye 16, Durum 4, Prosedür pB, Hat 18
Prosedür veya fonksiyon 'pB', sağlanmayan '@y' parametresini bekliyor.
### Yeterli parametreye sahip olmayan 2 parametre alan çağrı prosedürü
Msg 8144, Seviye 16, Durum 2, Prosedür pB, Hat 22
Prosedür veya fonksiyon pB'de çok fazla argüman belirtildi.
### Çok fazla parametreyle 2 parametre alan çağrı prosedürü
Şüphelendiğim gibi, elbette yorumlarda belirtildiği gibi istisnalar var. Dönüşüm hatası önem derecesi 16'dır, ancak toplu işi iptal eder:
SET XACT_ABORT OFF;
SELECT CONVERT (INT, 'foo');
PRINT 'Made it.'; -- no print happens
Sonuçlar şu anda baskı çıktısını içermiyor:
Msg 245, Seviye 16, Durum 1
'foo' varchar değeri int veri türüne dönüştürülürken dönüşüm başarısız oldu.