স্ক্রিপ্ট কার্যকর করা যায় না: প্রোগ্রামটির সম্পাদনা চালিয়ে যাওয়ার জন্য অপর্যাপ্ত মেমরি


88

আমার একটি 123MB স্ক্যুয়াল ফাইল রয়েছে যা আমার স্থানীয় পিসিতে চালানো দরকার। কিন্তু আমি পাচ্ছি

Cannot execute script: Insufficient memory to continue the execution of the program

এখানে চিত্র বর্ণনা লিখুন

কিভাবে এই সমস্যা সমাধানের জন্য?


@marc_s আমি Ctlr + E এ ক্লিক করলে এটি তত্ক্ষণাত এই ত্রুটিটি দেখায়
user960567

উত্তর:


126

কমান্ড-লাইন সরঞ্জাম এসকিউএলসিএমডি ব্যবহার করুন যা স্মৃতিতে অনেক ঝুঁকির সাথে রয়েছে। এটি যেমন সহজ:

SQLCMD -d <database-name> -i filename.sql

আপনার এসকিউএল সার্ভার ইনস্ট্যান্স অ্যাক্সেস করতে এমনকি একটি ডেটাবেস অ্যাক্সেস করার জন্য আপনার বৈধ শংসাপত্রগুলির প্রয়োজন

এখান থেকে নেওয়া হয়েছে


26
সম্পূর্ণ শংসাপত্রের সাথে, ডিবি এবং সার্ভার উল্লেখ করে: sqlcmd -S <YOUR-SERVER> -U <YYUR-USER> -P <YOUR-PASSWORD> -d <YOUR-DATABASE> -i <আপনার এসকিউএল-ফাইল-পাঠ্য.এসকিউএল >
বাইক

4
আমি এই সমস্যাটি পেয়েছি: "INSERT বিবৃতিতে সারি মান এক্সপ্রেশনগুলির সংখ্যা সর্বাধিক অনুমোদিত সারি সংখ্যা 1000 সারি ছাড়িয়েছে।"
খ্রিস্টান ফ্রেড

4
যোগ -eবিশ্বস্ত সংযোগের জন্য
smurtagh

33

এটি আপনাকে সাহায্য করতে পারে! নীচের পদক্ষেপ দেখুন।

sqlcmd -S সার্ভার-নাম -d ডাটাবেস-নাম -i স্ক্রিপ্ট.এসকিএল

  • প্রশাসক হিসাবে cmd.exe খুলুন।
  • নথির ডিরেক্টরি তৈরি করুন।
  • আপনার এসকিউএল স্ক্রিপ্ট ফাইল (স্ক্রিপ্ট.এসকিউএল) নথি ফোল্ডারে রাখুন।
  • উপরের হাইলাইট করা ক্যোয়ারী বা কমান্ড লাইন স্ক্রিনের নীচের মতো স্কয়ার সিএমডি, সার্ভার-নাম, ডাটাবেস-নাম এবং স্ক্রিপ্ট-ফাইল-নাম দিয়ে কোয়েরি টাইপ করুন।

এখানে চিত্র বর্ণনা লিখুন


আপনি AD-ব্যবহারকারীর নাম -Sa এবং পাসওয়ার্ড -123, sqlcmd -S viaserver -U sa -P 123 -d TelstraDepگار -i SQLQuery1.sql করতে পারেন
অনিল সিং

এটি আমাকে ত্রুটি দেয় এসকিএলসিএমডি: ত্রুটি: মিরর্সফোর্ট এসকিউএল সার্ভার নেটিভ ক্লায়েন্ট 10.0: ক্লায়েন্ট প্রিলগিন ব্যর্থতার কারণে সংযোগ স্থাপন করতে অক্ষম।
gbbosmiya

11

আপনি সার্ভার বৈশিষ্ট্যগুলিতে ক্যোয়ারির মান অনুসারে ন্যূনতম মেমরিটি কেবল বাড়িয়ে দিতে পারেন। এই সেটিংটি সম্পাদনা করতে সার্ভারের নামটিতে ডান ক্লিক করুন এবং বৈশিষ্ট্য> মেমরি ট্যাব নির্বাচন করুন।

এসএসএমএস ২০১২ সালে একটি 30 এমবি এসকিউএল স্ক্রিপ্ট কার্যকর করার চেষ্টা করার সময় আমি এই ত্রুটির মুখোমুখি হয়েছি 10 1024MB থেকে 2048MB এর মান বাড়ানোর পরে আমি স্ক্রিপ্টটি চালাতে সক্ষম হয়েছি।

(আমি এখানে সরবরাহ করা একই উত্তর )


10

উইন্ডোজ প্রমাণীকরণের জন্য এই বর্গমিটার সেন্টিমিটার ব্যবহার করুন

SQLCMD -S TestSQLServer\SQLEXPRESS  -d AdventureWorks2018 -i "d:\document\sql document\script.sql"

দ্রষ্টব্য: স্কয়ার ফাইলের পথে যদি কোনও স্থান থাকে তবে "(উদ্ধৃতি চিহ্ন)" ব্যবহার করুন

এসকিউএল সার্ভারের প্রমাণীকরণের জন্য এই বর্গ সেমি ব্যবহার করুন d

SQLCMD -S TestSQLServer\SQLEXPRESS -U sa -P sasa  -d AdventureWorks2018 -i "d:\document\sql document\script.sql"

-এস টেস্টএসকিউএস সার্ভার। স্ক্ল্যাকএক্সপ্রেস: এখানে এসকিউএল সার্ভারের নাম উল্লেখ করুন

-উ সা: ব্যবহারকারীর নাম (এসকিউএল সার্ভার প্রমাণীকরণের ক্ষেত্রে)

-পি সাসা: পাসওয়ার্ড (এসকিউএল সার্ভার প্রমাণীকরণের ক্ষেত্রে)

-ড অ্যাডভেঞ্চার ওয়ার্কস ২০১৮: ডাটাবেসের নাম এখানে আসুন

-i "d: \ ডকুমেন্ট \ এসকিউএল ডকুমেন্ট \ স্ক্রিপ্ট.সকিএল ": এসকিউএল ফাইলের ফাইল পাথ


5

যদি আমি আপনার সমস্যাটি সঠিকভাবে বুঝতে পারি তবে আপনি xyz.sql - ডাটাবেস + স্কিমা পুনরুদ্ধার করার চেষ্টা করছেন trans আপনি এই আদেশটিটি ব্যবহার করতে পারেন যা আমার পক্ষে কাজ করেছে:

SQLCMD -U sa -i xyz.sql

4

আমার ডাটাবেসটি 500 এমবি-র চেয়ে বড় ছিল, আমি তখন নিম্নলিখিতটি ব্যবহার করেছি

C:\Windows>sqlcmd -S SERVERNAME -U USERNAME -P PASSWORD -d DATABASE -i C:\FILE.sql

এটি এসপি সহ সমস্ত কিছু লোড করেছে

* এনবি: প্রশাসক হিসাবে সিএমডি চালান


2

কখনও কখনও, স্ক্রিপ্ট এবং ডেটার ভারী আকারের কারণে আমরা এই ধরণের ত্রুটির মুখোমুখি হই। কার্যকর করতে এবং ফলাফল দিতে সার্ভারের পর্যাপ্ত মেমরির প্রয়োজন। আমরা সহজেই প্রতিটি ক্যোয়ারী মেমরির আকার বাড়াতে পারি।

আপনাকে কেবল স্কয়ার সার্ভারের বৈশিষ্ট্য> মেমোরি ট্যাব (বাম দিক)> এ যেতে হবে তবে আপনি সর্বাধিক মেমরি সীমাটি যুক্ত করতে চান তা সেট করুন।

এছাড়াও, শীর্ষে একটি বিকল্প রয়েছে, "ফলাফলের পাঠ্য", যা "গ্রিডের ফলাফলের ফলাফল" এর তুলনায় কম স্মৃতি গ্রহণ করে, আমরা কম মেমরি কার্যকর করার জন্য রেজাল্ট টু টেক্সটেও যেতে পারি।


2

এই পদক্ষেপটি চেষ্টা করুন,

1) ওপেন পাওয়ারশেল

2) এই আদেশ লিখুন:

sqlcmd -S PCNAME\SQLEXPRESS -U user -P password -d databanse_name -i C:\script.sql

3) প্রেস রিটার্ন

:-)

এখানে চিত্র বর্ণনা লিখুন


2

স্ক্রিপ্টের নীচে পুরোপুরি কাজ করে:

sqlcmd -s Server_name -d Database_name -E -i c:\Temp\Recovery_script.sql -x

লক্ষণ:

Sqlcmd ইউটিলিটি সহ একটি পুনরুদ্ধার স্ক্রিপ্ট কার্যকর করার সময়, 'SqlCmd: ত্রুটি:' file_name.sql 'ফাইলের X XZ-র নিকটে লাইন XYZ- এ সিনট্যাক্স ত্রুটি' ' ত্রুটি সম্মুখীন হয়েছে।

কারণ:

এটি একটি স্কয়ার সিএমডি ইউটিলিটি সীমাবদ্ধতা। যদি এসকিউএল স্ক্রিপ্টে কোনও রূপে ডলার চিহ্ন ($) থাকে তবে ইউটিলিটি স্ক্রিপ্টটি সঠিকভাবে কার্যকর করতে অক্ষম হয়, কারণ এটি ডিফল্টরূপে সমস্ত ভেরিয়েবল স্বয়ংক্রিয়ভাবে প্রতিস্থাপন করে is

রেজোলিউশন:

যে কোনও স্ক্রিপ্টে ডলার ($) সাইন রয়েছে এমন স্ক্রিপ্টটি কার্যকর করতে, কমান্ড লাইনে "-x" পরামিতি যুক্ত করা দরকার।

যেমন

আসল: sqlcmd-s সার্ভার_নাম -ডি ডেটাবেস_নাম-ই-আইসি: \ টেম্পের \ রিকভারি_স্ক্রিপ্ট.এসকিউএল

স্থির: sqlcmd-s সার্ভার_নাম -ডি ডেটাবেস_নাম-ই-আইসি: \ টেম্পের \ পুনরুদ্ধার_স্ক্রিপ্ট.এসকিউএল-এক্স


$ মন্তব্যটি খুব সহায়ক ছিল। ধন্যবাদ
প্যালে আলে

1

sqlcmd -S mamxxxxxmu \ sqlserverr -U sa -P x1123 -d QLDB -i D: \ qldbscript.sql

  • প্রশাসক হিসাবে চালিত ওপেন কমান্ড প্রম্পট

  • উপরের কমান্ড লিখুন

"ম্যামএক্সএক্সএক্সএক্সএক্সএমএমু" কম্পিউটারের নাম "স্ক্যালসারভার" হ'ল সার্ভারের নাম "সা" সার্ভারের ব্যবহারকারীর নাম "x1123" হ'ল সার্ভারের পাসওয়ার্ড "কিউএলডিবি" ডাটাবেসের নাম "ডি: bs qldbscript.sql" ডাটাবেসে এক্সিকিউট করার জন্য স্কিল স্ক্রিপ্ট ফাইল


1

আপনার যদি উন্নয়নের সময় লোকালডিবিতে সংযোগ স্থাপন করতে হয় তবে আপনি এটি ব্যবহার করতে পারেন:

sqlcmd -S "(localdb)\MSSQLLocalDB" -d dbname -i file.sql
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.