আমি এক্সপ্রেস সংস্করণ আকারের সীমাটি আঘাত করছি কিনা তা কীভাবে পরীক্ষা করবেন?


10

আমি দ্বিধান্বিত. আফাইক এসকিউএল সার্ভার 2005 এক্সপ্রেসে 4 জিবি ডাটাবেস ডেটা আকারের সীমা রয়েছে । তবে আমার কাছ থেকে নিম্নলিখিত ফলাফল রয়েছে sp_spaceused:

ডাটাবেসের আসল আকার কত?

  1. আমার ডিবি আকারের সীমাটিকে আঘাত করছে কিনা আমি কীভাবে তা পরীক্ষা করতে পারি?
  2. অব্যক্ত স্থানটি কি space leftআমার সীমাবদ্ধতা অবধি অবধি রয়েছে?
  3. আমি কতটা জায়গা রেখেছি?
  4. না index_sizeসীমা গণনা?

আপনি msdb.dbo.backupset এর ব্যাকআপ_ সাইজ কলামটি চেক করতে পারেন।

উত্তর:


6

আমি নির্লজ্জভাবে এখান থেকে ছিড়েছি এখানে একটি দুর্দান্ত স্ক্রিপ্ট :

use [Insert DB Name]

select
a.FILEID,
[FILE_SIZE_MB] = 
convert(decimal(12,2),round(a.size/128.000,2)),
[SPACE_USED_MB] =
convert(decimal(12,2),round(fileproperty(a.name, 'SpaceUsed')/128.000,2)),
[FREE_SPACE_MB] =
convert(decimal(12,2),round((a.size-fileproperty(a.name, 'SpaceUsed'))/128.000,2)) ,
NAME = left(a.NAME,15),
FILENAME = left(a.FILENAME,30)
from
dbo.sysfiles a

এটি ভাল কারণ এটি আপনাকে প্রতিটি ডিবি ফাইলে ফাঁকা জায়গা দেবে (আপনার একাধিক ফাইল থাকতে পারে এবং প্রতিটি এটিতে কিছু বস্তু রাখার জন্য কেউ সেট আপ করেছিলেন) পাশাপাশি বিনামূল্যে আকারও দেয়।

উদাহরণস্বরূপ, আপনার কাছে একটি 4 জিবি ডেটা ফাইল রয়েছে যাতে 3 গিগাবাইট ফাঁকা স্থান রয়েছে। হতে পারে আপনার অনেকগুলি ডেটা ছাড়াই 1 এমডিএফ রয়েছে তবে প্রচুর ডেটা সহ একটি এনডিএফ রয়েছে। এই ক্যোয়ারী আপনাকে প্রতিটি ফাইলের ফ্রি আকার এবং সেই ফাইলটি কী ডিবিতে বরাদ্দ করা হবে তা বলবে। মোট আকার পেতে প্রতিটি ডিবিতে সমস্ত 'SPACE_USED_MB' যুক্ত করার কথা মনে রাখবেন।

শুভকামনা!

সম্পাদনা করুন: একটি অসমর্থিত এবং বগী কমান্ড সরিয়ে নিয়েছে যা আমি ভেবেছিলাম এই ক্যোয়ারির জন্য এখানে পোস্ট করে আমি পালাতে পারব। :(



পিএস যদি আপনি পুরানো, পশ্চাদপটে সামঞ্জস্যতা দর্শনগুলি ব্যবহার করতে চলেছেন তবে আপনি এটি ব্যবহার করে এটি বেশ কিছুটা সহজ করতে পারবেন sysaltfiles(এটি প্রতিটি ডাটাবেসে যাওয়ার প্রয়োজনটিকে একেবারেই উপেক্ষা করে)।
অ্যারন বারট্র্যান্ড

1
সিসাল্টফিলসের জন্য অ্যারনকে ধন্যবাদ, আমি এখনও সেটির দিকে নজর দিইনি! sp_msforeachdb প্রচুর বেদনাদায়ক সমস্যা রয়েছে, তবে আমি একটি এসকিউএল এক্সপ্রেস ইনস্টল করার জন্য পেয়েছি যেখানে লোকটি ঠিক কতটা মুক্ত জায়গা আছে তা দেখতে এটি একটি অনুসন্ধান চালাতে চায়।
আলী রাজেঘি

ব্যতীত যখন এটি ডেটাবেসগুলি এড়িয়ে যায় এবং ত্রুটি বাড়ায় না ...
অ্যারন বারট্র্যান্ড

হ্যাঁ তবে এই ক্ষেত্রে, আপনি কি সত্যিই মনে করেন যে এটি এমন একটি সমস্যা হয়ে উঠবে যেখানে শেষ ব্যবহারকারী কেবল একটি ডিবি আকারের গণনা চান? আমি অনুমান করি যে শেষের ব্যবহারকারীরা যে ডিবি তারা খুঁজছেন তারা এটিকে বাদ দিয়েছিল যাতে এটি খারাপ আচরণকে শক্তিশালী করে না এমন ক্ষেত্রে এমনকি এটি পোস্ট করা উচিত নয়। আমি ঠিক এখন এই অংশটি সরিয়ে ফেলব, আপনি ঠিক বলেছেন, আমাদের অন্য কোথাও প্লাস্টার করা কমান্ডের দরকার নেই।
আলী রাজেঝি

5

ডাটাবেসের আকার ফাইলের আকার। ডেটা ফাইলের আসল আকারটি দেখুন (লেনদেনের লগ গণনা করা হয় না)। হ্যাঁ সূচক গণনা। আপনি যদি স্থানের বাইরে চলে যান তবে এসকিউএল 2012 এক্সপ্রেসে একটি আপগ্রেড বিবেচনা করুন কারণ এটি আকারের সীমা 10 গিগের মধ্যে বাড়িয়ে তোলে।


6
SQL সার্ভার 2008 R2 হলো এক্সপ্রেস একটি 10 জিবি সীমা (শুধু সম্পূর্ণতার জন্য) আছে
marc_s

1

যখন sp_spaceused আপনার প্রথম ফলাফলের সেটে প্রায় 25 গিগাবাইটের ডাটাবেস_ আকার দেখায়, এতে ডেটা ফাইল / সূচী এবং লেনদেন লগ অন্তর্ভুক্ত থাকে। কেবলমাত্র আসল ডেটা এবং সূচিগুলি এসকিউএল সার্ভার এক্সপ্রেস সীমাতে গণনা করে, তাই আপনার কাছে প্রায় ৩.৩ জিবি ডেটা রয়েছে (আপনার দ্বিতীয় ফলাফলের সেট হিসাবে) এবং বাকি ২২ জিবি লেনদেন লগ হবে। আপনি যদি "sp_helpdb" চালনা করেন তবে এটি আসল চিত্রটি দেখায়, কারণ এটি দুটি পৃথক সারিতে ডেটা ব্যবহার এবং লেনদেন লগ ব্যবহারের প্রতিবেদন করে।

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