دسته بندی مقالات
- بیشتر -محصولات
- بیشتر -آخرین مقالات
- بیشتر --
کنترل printPreviewDialog در سی شارپ
1404/07/09 -
Storage در SQL Server
1404/07/09 -
کنترل printPreviewControl در سی شارپ
1404/07/08 -
Service Broker در SQL Server
1404/07/08 -
کنترل radioButton در سی شارپ
1404/07/07 -
System View در SQL Server
1404/07/07
Storage در SQL Server

Storage در SQL Server
در SQL Server منظور از Storage مجموعهای از ساختارهای فیزیکی و منطقی است که دادهها در آنها ذخیره میشوند.
هر پایگاه داده از فایلهای داده (Data Files)، فایلهای لاگ (Transaction Log)، صفحات (Pages) و گروه فایلها (Filegroups) تشکیل میشود.
این اجزا با هم امکان ذخیرهسازی، سازماندهی و دسترسی سریع به دادهها را فراهم میکنند.
کوچکترین واحد ذخیره در SQL Server صفحه (Page) است که اندازهای معادل ۸ کیلوبایت دارد و چندین صفحه متوالی یک Extent را تشکیل میدهند.
مدیریت درست ذخیره سازی اهمیت زیادی در کارایی، امنیت و مقیاسپذیری پایگاه داده دارد. از طریق Filegroups میتوان دادهها را روی چند دیسک مختلف توزیع کرد تا سرعت دسترسی افزایش یابد.
همچنین با وجود Transaction Log امکان بازیابی اطلاعات در صورت خرابی سیستم فراهم میشود.
بنابراین ذخیره سازی در SQL Server نهتنها نقش حیاتی در نگهداری دادهها دارد، بلکه پایهای برای بهینهسازی عملکرد و اطمینان از سلامت پایگاه داده محسوب میشود.
اجزای اصلی Storage در SQL Server
-
Data Files (فایلهای داده)
SQL Server دادهها را در فایلهایی با پسوند .mdf (Primary Data File) و .ndf (Secondary Data Files) ذخیره میکند.
-
- Primary File (.mdf): فایل اصلی پایگاه داده.
- Secondary File (.ndf): فایلهای کمکی که برای پخش بار دادهها استفاده میشوند.
-
Transaction Log File (.ldf)
این فایل شامل تمام تغییرات و تراکنشها است و برای Recovery (بازیابی) پایگاه داده استفاده میشود.
-
Pages (صفحات)
کوچکترین واحد ذخیرهسازی در SQL Server است. هر صفحه ۸ کیلوبایت (KB) حجم دارد.
-
Extents
گروهی از ۸ صفحه متوالی (۶۴KB) است. Extentها برای مدیریت بهتر فضا استفاده میشوند.
-
Tables و Indexes
جداول دادههای اصلی را نگهداری میکنند و ایندکسها باعث سرعت بخشیدن به دسترسی به دادهها میشوند.
-
Filegroups
گروهی از فایلهای داده هستند که برای مدیریت بهتر ذخیره سازی استفاده میشوند. Filegroupها اجازه میدهند دادهها در چندین دیسک یا مکان فیزیکی ذخیره شوند.
ایجاد Storage در SQL Server
ایجاد دیتابیس با ذخیره سازی اختصاصی
برای ایجاد Storage در SQL Server، ابتدا باید یک دیتابیس با فایلهای داده و لاگ تعریف کنیم.
CREATE DATABASE SalesDB
ON
PRIMARY (
NAME = SalesDB_Data,
FILENAME = 'C:\SQLData\SalesDB_Data.mdf',
SIZE = 50MB,
MAXSIZE = 500MB,
FILEGROWTH = 10MB
),
FILEGROUP SalesGroup (
NAME = SalesDB_Data2,
FILENAME = 'C:\SQLData\SalesDB_Data2.ndf',
SIZE = 50MB,
MAXSIZE = 500MB,
FILEGROWTH = 10MB
)
LOG ON (
NAME = SalesDB_Log,
FILENAME = 'C:\SQLData\SalesDB_Log.ldf',
SIZE = 20MB,
MAXSIZE = 200MB,
FILEGROWTH = 5MB
);
🔹 در این مثال:
یک دیتابیس با فایل اصلی (.mdf) و فایل ثانویه (.ndf) ایجاد کردیم.
فایل لاگ تراکنش (.ldf) هم مشخص شد.
از Filegroup برای تقسیم دادهها استفاده کردیم.
🌟 آیا میخواهید به یک متخصص پایگاه داده تبدیل شوید و در دنیای فناوری اطلاعات بدرخشید؟
با دوره آموزشی SQL Server ما، شما میتوانید به راحتی و با روشی عملی، تمام مهارتهای لازم را یاد بگیرید!
این دوره به شما آموزش میدهد که چگونه دادهها را به بهترین شکل مدیریت کنید، گزارشهای قدرتمند بسازید و به تحلیلهای عمیق دست یابید.
با محتوای جذاب و پروژههای واقعی، شما نه تنها تئوری را یاد میگیرید، بلکه تواناییهای عملی خود را نیز تقویت میکنید.
پس فرصت را از دست ندهید! همین امروز به جمع یادگیرندگان ما بپیوندید و اولین قدم را به سوی آینده شغلی روشنتر بردارید!
⇐همین حالا شروع کنید و به دنیای دادهها بپیوندید!
حذف ذخیره سازی (Storage) در SQL Server
-
حذف دیتابیس (ذخیره سازی (Storage) کامل)
DROP DATABASE SalesDB;
-
حذف فایل از دیتابیس
ALTER DATABASE SalesDB
REMOVE FILE SalesDB_Data2;
-
حذف Filegroup
ALTER DATABASE SalesDB
REMOVE FILEGROUP SalesGroup;
مدیریت ذخیره سازی (Storage)
-
بررسی فایلها
EXEC sp_helpdb 'SalesDB';
-
بررسی فضای صفحات
DBCC SHOWFILESTATS;
-
بررسی استفاده از فضای جداول
EXEC sp_spaceused;
مزایای ذخیره سازی (Storage) در SQL Server
-
مدیریت بهینه فضا با Filegroupها
-
اطمینان از یکپارچگی دادهها با Log File
-
سرعت بالاتر دسترسی به دادهها با ایندکسها
-
امکان توزیع دادهها روی چند دیسک برای بهبود کارایی
معایب Storage در SQL Server
-
پیچیدگی در مدیریت فایلها و Filegroupها
-
نیاز به مانیتورینگ مداوم برای جلوگیری از پر شدن فضای ذخیرهسازی
-
هزینه بیشتر در صورت نیاز به دیسکهای پرسرعت
بهینهسازی ذخیره سازی (Storage)
- ایندکسگذاری صحیح برای کاهش حجم و افزایش سرعت.
- پارتیشنبندی جداول برای مدیریت دادههای بزرگ.
- استفاده از Filegroupها برای پخش بار روی دیسکهای مختلف.
- Shrink Database تنها در شرایط خاص (برای آزاد کردن فضا).
- استفاده از SSD برای فایلهای لاگ جهت افزایش سرعت I/O.
سناریوهای واقعی Storage در SQL Server
-
بانکداری
در بانکها معمولاً دادهها بسیار حجیم هستند. با Filegroup میتوان دادههای مشتریان، تراکنشها و گزارشها را روی دیسکهای جدا ذخیره کرد.
-
فروشگاه اینترنتی
جداول سفارشها و محصولات در یک Filegroup ذخیره میشوند و گزارشها در Filegroup دیگری تا عملکرد سیستم بهینه شود.
-
سیستمهای Big Data
با استفاده از Partitioning و چندین Filegroup میتوان دادههای عظیم را به بخشهای کوچکتر تقسیم کرد.
مقایسه ذخیره سازی (Storage) در SQL Server با سایر سیستمها
-
Oracle Database
ساختار مشابهی دارد اما مدیریت Tablespace در Oracle پیچیدهتر است. -
MySQL
فایلهای داده و لاگ جداگانه دارد ولی امکانات Filegroup در آن محدود است. -
PostgreSQL
بیشتر بر روی Tablespace تمرکز دارد و مدیریت آن سادهتر از SQL Server است.
امنیت ذخیره سازی (Storage) در SQL Server
-
Transparent Data Encryption (TDE)
رمزنگاری فایلهای داده و لاگ. -
Always Encrypted
رمزنگاری در سطح ستونها برای دادههای حساس. -
Backup Encryption
رمزنگاری نسخههای پشتیبان.
جمعبندی
ذخیره سازی (Storage) در SQL Server شامل ساختارهای منطقی (جداول، ایندکسها) و فیزیکی (فایلها، صفحات، Extentها) است. مدیریت درست Storage باعث:
- افزایش سرعت پردازش
- کاهش هزینه نگهداری
- امنیت بیشتر دادهها
- مقیاسپذیری بهتر سیستم
ایجاد ذخیره سازی (Storage) با تعریف دیتابیس و فایلها انجام میشود و حذف Storage با دستوراتی مثل DROP DATABASE یا REMOVE FILE.
این موضوع بهویژه در سیستمهای بزرگ مثل بانکداری، تجارت الکترونیک و گزارشگیری بسیار حیاتی است.
دوره های مرتبط

آموزش پایگاه داده SqlServer
پایگاه داده Sqlserver یکی از پایگاه داده های مهم برای ذخیره اطلاعات محسوب میشود .