UPDLOCK ve READPAST anahtarlarını birlikte kullanarak transaction içinde seçmiş olduğunuz kayıtların diğer transactionlar tarafından görülmemesini istiyorsanız sorgunuzda mutlaka ORDER BY deyimi bulunmalıdır. ORDER BY yoksa çalışmıyor.
MSSQL’de ciddi bir bug
MSSQL’de tabloya insert cümlesi ile veri atmaya çalışırken aşağıdaki hatayı aldım. İnternet üzerinden yaptığım aramalarda bu hatanın network sorunu olduğundan bahsedilmiş. Oysaki lokalde çalışan 2008 R2 veri tabanı ile çalışıyordum.
A transport-level error has occurred when receiving results from the server. (provider: Session Provider, error: 19 – Physical connection is not usable)
Aşağıdaki gibi bir insert cümlesi kullanıyordum:
INSERT INTO MyTable (RecordDate) VALUES (@RecordDate)
DateTime nesnesini C# tarafında yaratmıştım ve NULL olduğu için aşağıdaki değeri taşıyordu:
01.01.0001 00:00:00
C# nesnemi nullable yapıp insert komutuna eklerken DBNull.Value yapınca sorun düzeldi.
Ama aklım hala Microsoft gibi bir firmanın DateTime hatası dönmek yerine fiziksel bağlantının koptuğu yönünde bir mesaj veriyor olması.