SQL الخادم - تشغيل ملفات البرامج النصية كبيرة

StackOverflow https://stackoverflow.com/questions/222442

  •  03-07-2019
  •  | 
  •  

سؤال

ولدي جدول قاعدة البيانات في الخادم التنمية التي يسكنها الآن تماما بعد أن ضبطه تعمل مع روتين استيراد لملف CSV يحتوي على 1.4 مليون الصفوف.

وركضت معالج النشر قاعدة على الطاولة، والآن لدي SQL النصي 286MB على آلة المحلية. المشكلة هي، وأنا لا يمكن معرفة كيفية تشغيله. إذا كنت تحميله في SQL Server إدارة ستوديو اكسبريس أحصل على نافذة تنبيه تقول "العملية لا يمكن أن تكتمل".

وأي أفكار عن كيفية يمكنني الحصول على هذا البرنامج النصي SQL لتشغيل؟

هل كانت مفيدة؟

المحلول

والجري شيء كبير داخل معاملة واحدة ليست فكرة جيدة. لذلك، أود أن أوصى كسر الملف إلى أجزاء أصغر، أكثر قابلية للإدارة.

وثمة خيار آخر هو أن ننظر إلى بعض الطرق الأخرى لاستيراد البيانات CSV مباشرة.

نصائح أخرى

واستخدام المساعدة Sqlcmd أداة لتنفيذ الملف ..

sqlcmd -S myServer\instanceName -i C:\myScript.sql

في حالة يكون لديك وغير المبررة "خطأ البرنامج النصي" لمزود الملفات الكبيرة (> 100MB) والذي يتضمن العديد من INSERT، مجرد استبدال "INSERT INTO" ب "GO INSERT INTO" في الملف، الأمر الذي سيقلل من حجم الصفقة.

وهذه الأداة ( الكبير سيناريو SQL عداء الملف ) على كود بلاكس سيتم تشغيل أي ملف نصي الحجم مع سجل واجهة المستخدم الرسومية.

وإضافة إلى الإجابة غولزار ناظم في: إذا كنت لا تزال تحصل على الفشل، محاولة تحديد في مخطط الشفرة ملف SQL باستخدام -f الخيار:

وsqlcmd -S myServer\instanceName -d databaseName -i C:\myScript.sql -f 65001

وكنت أحاول أن استيراد ملف .dump من سكليتي (UTF-8 افتراضيا)، وSQLCMD أبقى رمي خطأ بعد أن واجهت الطابع الخاص الأول. -f 65001 ثابتة بالنسبة لي.

لماذا لا مجرد استخدام DTS لاستيراد ملف CSV مباشرة؟

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top