bu hatayı alıyorum çalıştırmak için kaynak havuzunun 'default' yeterli sistem belleği yok:bu sorguyu
bu sorguyu çalıştırmak için kaynak havuzunun 'default' yeterli sistem belleği yok.
Sadece aşağıda gösterildiği gibi 100.000 basit ekleme ifadesi çalıştırıyorum. Yanlışı 85.000'inci katına aldım.
Bu
... Peşinuse sampleautogrow
INSERT INTO SampleData VALUES ('fazgypvlhl2svnh1t5di','8l8hzn95y5v20nlmoyzpq17v68chfjh9tbj496t4',1)
INSERT INTO SampleData VALUES ('31t7phmjs7rcwi7d3ctg','852wm0l8zvd7k5vuemo16e67ydk9cq6rzp0f0sbs',2)
INSERT INTO SampleData VALUES ('w3dtv4wsm3ho9l3073o1','udn28w25dogxb9ttwyqeieuz6almxg53a1ki72dq',1)
INSERT INTO SampleData VALUES ('23u5uod07zilskyuhd7d','dopw0c76z7h1mu4p1hrfe8d7ei1z2rpwsffvk3pi',3)
sayesinde Attığım bir sınıf için bir demo Jim M
Güncelleme: Sadece çok ilginç bir şey fark ettim. Başka bir veritabanı oluşturdum, SampleData tablosunu oluşturmayı unuttum. Sorguyu 100.000 satır eklemek için koştum ve tablonun varlığından şikayet etmeden önce bellek hatasından kurtuldu. Bu yüzden, sanırım 100,000 satırımı "okumaya" çalışıyorum.
1000 uçlar hiçbir soruna neden, neden 100.000 nedenini bir sorun değil mi? İşlemlerle ilgisi var mı? Neden "GO" ifadeleri eklemeye yardımcı olur? –
Güncelleştirmeyi yukarıdaki orijinal soruya bakın. –
Bir toplu işte 100k INSERT ifadeleri gönderdiğinizde sunucu başlangıçta yaklaşık 1 mil görecektir. 'şeyler' karakterleri. İçinde ne olduğunu bilmiyor, tüm noktalar ve boşluklar olabilir. İlk olarak ayrıştırılmalı ve T-SQL, satırlarda değil (topluca, Basic olduğu gibi) grup halinde ayrıştırılır. Bu ayrıştırma hafızayı tüketir ve bu gördüğünüz hatadır. Var olmayan bir tabloyla denediğinizde, sunucu, varolma zamanı sırasında değil, derleme zamanında gerçekleştiğinden, tablonun mevcut olup olmadığını kontrol edeceği noktaya bile ulaşmadı. İlk önce tüm partiyi ayrıştırmak zorunda ve bunu yapamaz. –