অপর্যাপ্ত ডিস্কের জায়গার কারণে ডাটাবেসের জন্য একটি নতুন পৃষ্ঠা বরাদ্দ করা যায়নি


13

এসকিউএল সার্ভার আমদানি ও রপ্তানি উইজার্ড ব্যবহার করে আমি এই ত্রুটিটি পেয়েছি:

ত্রুটি 0xc0202009: ডেটা ফ্লো টাস্ক 1: এসএসআইএস ত্রুটি কোড DTS_E_OLEDBERROR।
একটি OLE DB ত্রুটি ঘটেছে। ত্রুটি কোড: 0x80004005।
ফাইলগ্রুপ 'প্রাইমারি'-তে পর্যাপ্ত ডিস্কের জায়গার কারণে ডাটাবেস' ডাটাবেস'-এর জন্য কোনও নতুন পৃষ্ঠা বরাদ্দ করা যায়নি। ফাইলগ্রুপে অবজেক্টগুলি ফেলে দিয়ে, ফাইলগ্রুপে অতিরিক্ত ফাইল যুক্ত করে বা ফাইলগোষ্ঠীতে বিদ্যমান ফাইলগুলির জন্য অটোগ্রোথ সেট করে প্রয়োজনীয় স্থান তৈরি করুন।

আমি 2 জিবি ফাইলের একটি সিরিজ আপলোড করার চেষ্টা করছি এবং 4 র্থ ফাইলটি লোড করার সময়, আমি ডাটাবেস বৈশিষ্ট্য> ফাইলগুলিতে যাওয়ার পরেও ফাইলগ্রুপের অটোগ্রোথ 2500 এমবি পরিবর্তন করে এবং সীমাহীন সীমাহীন করার পরেও উপরের ত্রুটি বার্তাটি অবিরত রাখছি।

সেরা workaround কি? এই ডেটাটি শেষ পর্যন্ত প্রায় 60-80 গিগাবাইট গ্রহণ করবে।


1
আপনি এসকিউএল সার্ভারের কোন সংস্করণটি চালাচ্ছেন? "ডাটাবেস" এর জন্য ডেটা ফাইলগুলি সঞ্চয় করে এমন ড্রাইভে কতটুকু মুক্ত স্থান উপলব্ধ?
নবার্ড

2
ত্রুটি বার্তাটি আপনাকে "সেরা কাজের ক্ষেত্রগুলি " বলছে: ফাইলগ্রুপে অবজেক্টগুলি ফেলে দিয়ে, ফাইলগ্রুপে অতিরিক্ত ফাইল যুক্ত করে বা ফাইলগোষ্ঠীতে বিদ্যমান ফাইলগুলির জন্য অটোগ্রোথ সেট করে প্রয়োজনীয় স্থান তৈরি করুন। আমরা আপনাকে আর কী বলতে পারি তা নিশ্চিত নই।

1
ব্র্যান্ডন, এসকিউএল সার্ভার 2012. ড্রাইভে 760gb মুক্ত স্থান যা ডাটাবেসের জন্য ডেটা ফাইল সঞ্চয় করে। কেন, আমি অটোগ্রোথ সক্ষম করেছি, অটোগ্রোথ 2500 মেগাবাইট দ্বারা বৃদ্ধি পায় এবং সীমাহীন সীমাহীন। আমি কি এখনও এই সমস্যাটি নিয়ে চলছি? এটি কি একাধিক অটোগ্রোথ আছে যা সক্ষম করার দরকার আছে?

1
আপনি নিজে ডিবি বৃদ্ধির চেষ্টা করেছেন?

1
এটি কি এমন হতে পারে যে অটোগ্রো কেবলমাত্র উপাদানগুলির মধ্যে কাজ করে এবং একটি সন্নিবেশ সীমা ছাড়িয়ে যায়? আমার বাজি হবে - যদি 20000gb সন্নিবেশ 2500gb অটোগ্রোতে ব্যর্থ হয় .... এটি 900 মিমি বিনামূল্যে থাকতে পারে এবং সন্নিবেশটি ব্যর্থ হয়।
টমটম

উত্তর:


11

এসকিএল এক্সপ্রেস ডাটাবেস 10g এ শীর্ষে আসবে। আমি বিশ্বাস করি এটি আপনি যে ত্রুটি বার্তাটি পেয়েছেন তার অনুরূপ।

আমি একবার ক্লায়েন্টের কাছে এই সমস্যায় পড়েছিলাম এবং এটি বের করতে আমার কিছুটা সময় লেগেছিল।

আপনি স্কয়ারের কোন সংস্করণটি চালাচ্ছেন?


1
এই সমাধান আমাকে বাঁচাতে! আমি এক্সপ্রেস সংস্করণে ছিলাম এবং দেবকে আপগ্রেড করেছি।
ইস্রায়েল রড্রিগেজ

7

আপনি কি নিশ্চিত যে এটি

ফাইলগ্রুপ 'প্রাইমারি'-তে পর্যাপ্ত ডিস্কের জায়গার কারণে ডাটাবেস' ডাটাবেস'-এর জন্য কোনও নতুন পৃষ্ঠা বরাদ্দ করা যায়নি।

এবং না

ফাইলগ্রুপ 'প্রাইমারি'-তে ডিস্কের অপর্যাপ্ত স্থানের কারণে ডাটাবেস' টেম্পিডবি'-এর জন্য একটি নতুন পৃষ্ঠা বরাদ্দ করা যায়নি।

?

যদি এটি আসলে [tempdb]ত্রুটির বার্তায় থাকে তবে এটি এমন কিছু যা [tempdb]অন্য ডাটাবেস থেকে পৃথকভাবে উপযুক্ত আকারের ডিস্কে রয়েছে তা নিশ্চিত করে আলাদাভাবে পরিচালনা করা দরকার ।

যদি এটি [tempdb]ত্রুটি বার্তায় না থাকে তবে আমি কল্পনা করতে পারি যে এই ধরণের একটি "আপলোড" [tempdb]বেশ শক্তভাবে আঘাত করবে । কি [tempdb]একই ডিস্ক / LUN সংক্রান্ত হিসাবে 'database'? যদি তা হয় তবে আপনি সম্ভবত একাধিক চেষ্টা করা ফাইল বৃদ্ধি (একাধিক ডাটাবেসে) আপনার সমস্যাটিকে আরও বাড়িয়ে তুলছেন। সুতরাং আপনি যখন এই "আপলোড" করছেন তখন নিশ্চিত হন যে আপনিও পর্যবেক্ষণ করছেন [tempdb]

যদি [tempdb]কোনও পৃথক ড্রাইভে থাকে এবং আপনি নিশ্চিত হন যে আপনার পর্যাপ্ত জায়গা রয়েছে তবে আমি এগিয়ে গিয়ে আপনার ডেটা ফাইলটিকে এটি শেষ-রাষ্ট্রের আকার হিসাবে প্রত্যাশা করব to

USE master;
GO
ALTER DATABASE [database]
MODIFY FILE
    (
    NAME = datafile,
    SIZE = 60GB,
    FILEGROWTH = 5GB
);
GO

এছাড়াও, দয়া করে নিশ্চিত হয়ে নিন যে ডাটাবেসের লগ ফাইলটি ডেটা ফাইল থেকে পৃথক। যদি তা না হয় তবে আপনি প্রতিযোগিতামূলক বৃদ্ধির ইভেন্টগুলি নিয়ে ফিরে এসেছেন। যদি সেগুলি পৃথক ডিস্কে থাকে, তবে আমি সেগুলি দিয়ে গিয়ে যথাযথ আকারও দেব।

USE master;
GO
ALTER DATABASE [database]
MODIFY FILE 
(
    NAME = logfile, 
    SIZE = 8000MB
);
GO

ALTER DATABASE [database]
MODIFY FILE 
(
    NAME = logfile, 
    SIZE = 16000MB
);
GO

ALTER DATABASE [database]
MODIFY FILE 
(
    NAME = logfile, 
    SIZE = 24000MB
);
GO
...

যতক্ষণ না আপনি নিজের কাঙ্ক্ষিত লগফিল আকারে না পৌঁছান। আসুন একে 80GB বলুন যেখানে আপনি আপনার বৃদ্ধি নির্দিষ্ট আকারে সেট করবেন। আমি পল রান্ডাল এবং কিম্বারলি ট্রিপ্প দ্বারা প্রস্তাবিত মানগুলি ব্যবহার করছি

ALTER DATABASE [database]
MODIFY FILE 
(
    NAME = logfile, 
    SIZE = 80000MB,
    FILEGROWTH = 8000MB
);

6

ম্যানুয়ালি এটি বাড়ানোর চেষ্টা করুন:

1. অবজেক্ট এক্সপ্লোরার-এ, এসকিউএল সার্ভার ডেটাবেস ইঞ্জিনের একটি উদাহরণের সাথে সংযুক্ত করুন এবং তারপরে এই দৃষ্টান্তটি প্রসারিত করুন।

২. ডাটাবেসগুলি প্রসারিত করুন, ডাটাবেসগুলি বর্ধিত করতে ডান ক্লিক করুন এবং তারপরে বৈশিষ্ট্যগুলি ক্লিক করুন।

৩. ডাটাবেস বৈশিষ্ট্যগুলিতে ফাইল পৃষ্ঠা নির্বাচন করুন।

4. বিদ্যমান ফাইলের আকার বাড়াতে, ফাইলের জন্য প্রাথমিক আকার (এমবি) কলামে মান বাড়ান। আপনাকে অবশ্যই ডাটাবেসের আকার কমপক্ষে 1 মেগাবাইট দ্বারা বাড়িয়ে তুলতে হবে।

৫. একটি নতুন ফাইল যুক্ত করে ডাটাবেসের আকার বাড়াতে অ্যাড ক্লিক করুন এবং তারপরে নতুন ফাইলের জন্য মানগুলি প্রবেশ করুন। আরও তথ্যের জন্য, ডেটাবেসে ডেটা যুক্ত করুন বা ফাইলগুলি লগ করুন দেখুন।

6. ক্লিক করুন ওকে।

থেকে: এমএসডিএন


4
ম্যানুয়াল প্রসারণ ভাল কারণ এটি আপনাকে আরও বিশদ জানাতে পারে। আমার ক্ষেত্রে আমি পেয়েছি: "ডেটাবেস তৈরি করুন বা ডেটাবেস ব্যর্থ হবেন কারণ ফলস্বরূপ সংখ্যক ডাটাবেস আকার আপনার ডাটাবেস অনুযায়ী 10240 মেগাবাইটের লাইসেন্স সীমা ছাড়িয়ে যাবে।" যা স্ব-বর্ণনামূলক।
ব্যবহারকারী 824276

1

আপনি ডাটাবেস থেকে স্থান খালি করতে নিম্নলিখিত স্ক্রিপ্টগুলি ব্যবহার করতে পারেন:

DELETE FROM STActionLog
where id in (SELECT TOP 100000 id
             FROM STActionLog
             ORDER BY actionDate ASC)

delete from STActionLog
where actionDate < '2019-08-01'

এইগুলি ত্রুটিতে আমাকে সহায়তা করে :) এটিও নিশ্চিত করুন যে কম্পিউটারে আমাদের পর্যাপ্ত ডিস্কের জায়গা রয়েছে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.