দুটি জিনিস আমি জানতে চাই:
- আপনি কীভাবে ন্যূনতম ডাউনটাইম সহ নিরাপদে টেম্পডিবি স্থানান্তর করবেন?
- আপনার কতটি টেম্পডিবি ফাইল দরকার?
এটি কি কোর প্রতি 1 টি ফাইল? সুতরাং কোয়াড-কোর = 4 টেম্পডিবি ফাইলগুলি তৈরি করে তিনটি নতুন তৈরি করবেন?
দুটি জিনিস আমি জানতে চাই:
এটি কি কোর প্রতি 1 টি ফাইল? সুতরাং কোয়াড-কোর = 4 টেম্পডিবি ফাইলগুলি তৈরি করে তিনটি নতুন তৈরি করবেন?
উত্তর:
tempdb
ফাইলগুলি সরানোর জন্য আপনাকে কেবল নিম্নলিখিতটি করতে হবে:
alter database tempdb
modify file
(
name = tempdev,
filename = 'C:\YourNewTempdbDir\tempdb.mdf'
)
go
alter database tempdb
modify file
(
name = templog,
filename = 'C:\YourNewTempdbDir\templog.ldf'
)
go
আপনি যদি নতুন কোনও ফাইল যুক্ত করতে চান তবে tempdb
আপনাকে কেবল নিম্নলিখিতগুলি করতে হবে (আপনি যদি এটি PRIMARY
ফাইলগ্রুপে যুক্ত করতে চান বা নিজের তৈরি করতে চান):
alter database tempdb
add file
(
name = tempdb2,
filename = 'C:\YourNewTempdbDir\Tempdb2.ndf'
)
go
এই পরিবর্তনগুলি কার্যকর হওয়ার জন্য আপনাকে এসকিউএল সার্ভার পরিষেবাটি পুনরায় চালু করতে হবে। সুতরাং যতক্ষণ ডাউনটাইম হ্রাস করা যায় ততক্ষণ আপনি পরিষেবাটি পুনঃসূচনা করতে যে পরিমাণ সময় নেবেন তাতে সীমাবদ্ধ । আপনার পূর্ব-বিদ্যমান tempdb
ডাটাবেস ফাইলগুলি সরানোর বিষয়ে চিন্তা করার দরকার নেই , কারণ এসকিউএল সার্ভার সর্বদা ফাইলগুলি পুনরায় তৈরি করে এবং পরিষেবা শুরু করার পরে নতুন অবস্থান / ফাইল তৈরি করা হবে।
"কোর প্রতি 1 টি টেম্পডিবি ডেটা ফাইল" হিসাবে, এটি মূলত একটি রূপকথার। সঠিক পদ্ধতিটি tempdb
পৃষ্ঠা ফ্রি স্পেস (পিএফএস), গ্লোবাল অলোকেশন ম্যাপ (জিএএম) এবং ভাগ করা বিশ্বব্যাপী বরাদ্দ মানচিত্র (এসজিএএম) পৃষ্ঠাগুলির জন্য ফাইল যুক্তি পর্যবেক্ষণ করা । ডিএমভির মাধ্যমে দেখতে পাওয়া ফাইলের কতটা যুক্তি রয়েছে তা দেখার জন্য দয়া করে এই নিবন্ধটি উল্লেখ করুন (বিকল্প লিঙ্ক) । তারপরে আপনাকে কোরের তুলনায় একই পরিমাণ ফাইলের কম্বলিংয়ের পরিবর্তে আপনার এটিকে বন্ধ করতে হবে । এটি আরও পরামর্শজনক পদ্ধতিরsys.dm_os_waiting_tasks
tempdb
tempdb
টেম্পিডবিতে স্থানান্তরিত করতে, কার্যকর করুন:
ALTER DATABASE tempdb
MODIFY FILE ( name=tempdev, filename='D:\Newpath\tempdb.mdf')
GO
ALTER DATABASE tempdb
MODIFY FILE ( name=templog, filename='D:\Newpath\templog.ldf')
GO
তারপরে আপনার এসকিউএল সার্ভার পরিষেবা (এমএসএসকিউএল সার্ভার) পুনরায় চালু করুন।
টেম্পডিবিতে ফাইলের সংখ্যা - পল রেন্ডাল এর নিবন্ধটি দেখুন: একটি এসকিউএল সার্ভার ডিবিএ মিথের একদিন: (12/30) টেম্পডিবিতে সবসময় প্রসেসরের কোর প্রতি একটি ডেটা ফাইল থাকা উচিত
থেকে Microsoft এর পরামর্শ :
একটি সাধারণ নিয়ম হিসাবে, যদি লজিকাল প্রসেসরের সংখ্যা 8 এর কম বা তার সমান হয়, লজিকাল প্রসেসরের হিসাবে একই সংখ্যক ডেটা ফাইল ব্যবহার করুন।
লজিকাল প্রসেসরের সংখ্যা যদি 8 এর বেশি হয় তবে 8 টি ফাইল ফাইল ব্যবহার করুন এবং তারপর যদি বিতর্ক অব্যাহত থাকে, ততক্ষণ কনটেন্টটি গ্রহণযোগ্য পর্যায়ে না হ্রাস হওয়া বা তৈরি করার আগ পর্যন্ত 4 এর গুণক (লজিকাল প্রসেসরের সংখ্যা পর্যন্ত) ডেটা ফাইলের সংখ্যা বৃদ্ধি করুন কাজের চাপ / কোডে পরিবর্তন।
টেম্পডিবি ফাইলগুলি সরানো একটি 2-পদক্ষেপ প্রক্রিয়া:
SQL Server
পরিবর্তনটি কার্যকর হওয়ার জন্য পরিষেবাটি পুনঃসূচনা করুন (এটি আপনার প্রয়োজন সর্বনিম্ন ডাউনটাইম )নতুন টেম্পডিবি ফাইলগুলি কোথায় তৈরি করতে হবে তা এসকিউএলকে বলতে, আপনি ব্যবহার করতে পারেন:
DECLARE @newDriveAndFolder VARCHAR(8000);
SET @newDriveAndFolder = 'Z:\YourTempDBfolder';
SELECT [name] AS [Logical Name]
,physical_name AS [Current Location]
,state_desc AS [Status]
,size / 128 AS [Size(MB)] --Number of 8KB pages / 128 = MB
,'ALTER DATABASE tempdb MODIFY FILE (NAME = ' + QUOTENAME(f.[name])
+ CHAR(9) /* Tab */
+ ',FILENAME = ''' + @newDriveAndFolder + CHAR(92) /* Backslash */ + f.[name]
+ CASE WHEN f.[type] = 1 /* Log */ THEN '.ldf' ELSE '.mdf' END + ''''
+ ');'
AS [Create new TempDB files]
FROM sys.master_files f
WHERE f.database_id = DB_ID(N'tempdb')
ORDER BY f.[type];
এটি আপনার টি-এসকিউএল বিবৃতি জেনারেট করে আপনার নতুন ফাইলগুলিতে সরিয়ে নিতে আপনার চালনার দরকার drive:\folder
। (আরও বড় করতে ছবিতে ক্লিক করুন)
আপনি যখন আপনার চলমান বিবৃতিগুলি চালাবেন, Current Location
কলামটি এখন আপনার নতুন দেখায় কিনা তা পরীক্ষা করতে আপনি আবার উপরের ক্যোয়ারীটি চালাতে পারেন drive:\folder
।
আপনার পরিবর্তনগুলি নিয়ে আপনি খুশি হয়ে গেলে, এসকিউএল সার্ভার পরিষেবাটি পুনরায় চালু করুন ।