📚 فصل ۸: اتصال به SQL Server و ساخت پایگاه داده جدید
بخش ۱: مقدمه — چرا این فصل بسیار مهم است؟
تا اینجا در فصلهای قبل ما یاد گرفتیم:
- SQL Server چیست و چه کاربردی دارد.
- چطور آن را نصب کنیم (Developer یا Express).
- چگونه از طریق SSMS به آن دسترسی پیدا کنیم.
اما همه چیز در کار با SQL Server از “ساخت اولین پایگاه داده” آغاز میشود.
در این فصل میآموزیم:
- چگونه به SQL Server وصل شویم.
- با محیط Object Explorer کار کنیم.
- دیتابیس را به دو روش اصلی بسازیم:
- روش گرافیکی (GUI)
- روش کدنویسی (T‑SQL)
- تنظیمات مهم مثل Collation، مسیر ذخیرهسازی فایلها، اندازه اولیه و Growth
- نکات امنیتی و بهینهسازی هنگام ایجاد دیتابیس
- آشنایی کامل با دیتابیسهای سیستمی
- رفع مشکلات رایج هنگام اتصال یا ایجاد دیتابیس
- تمرینهای عملی برای تثبیت یادگیری
بخش ۲: مفاهیم پایه قبل از شروع
قبل از اینکه وارد عمل شویم، بهتر است چند مفهوم کلیدی را به زبان ساده مرور کنیم.
۲.۱ پایگاه داده (Database) چیست؟
پایگاه داده مثل یک دفترچه بزرگ و منظم است که داخل آن بخشهایی داریم برای ثبت دستهبندی مختلف اطلاعات.
مثلاً در یک فروشگاه:
- بخش ۱: لیست محصولات
- بخش ۲: اطلاعات مشتریان
- بخش ۳: فاکتورهای فروش
در SQL Server، دیتابیس همین مخزن دادهها است که میتواند صدها جدول، View، Stored Procedure و… را در خود نگه دارد.
۲.۲ Instance چیست؟
وقتی SQL Server را نصب میکنی، در واقع یک موتور پایگاه داده راهاندازی میشود که به آن یک Instance میگویند.
این Instance میتواند:
- پیشفرض باشد (Default Instance) → فقط نام کامپیوتر لازم است.
- یا نامدار باشد (Named Instance) →
ComputerName\InstanceName
مثال:
DESKTOP-123ABC
DESKTOP-123ABC\SQL2022
۲.۳ Authentication چیست؟
شیوهای که SQL Server تصمیم میگیرد آیا اجازه دسترسی بدهد یا نه:
- Windows Authentication → از کاربر و رمز سیستمعامل استفاده میکند.
- SQL Server Authentication → کاربر و رمز مخصوص SQL Server (مثل کاربر
sa
).
بخش ۳: اتصال به SQL Server — قدمبهقدم
وقتی SQL Server Management Studio (SSMS) را اجرا میکنی، اولین پنجرهای که میبینی Connect to Server است.
در این پنجره باید چهار بخش را درست وارد کنی:
بخش | توضیح |
---|---|
Server type | باید روی Database Engine قرار بگیرد. (برای اتصال به سرویس پایگاه داده) |
Server name | نام یا آدرس سرور (مثلاً DESKTOP-123ABC یا .\SQLEXPRESS ) |
Authentication | نوع احراز هویت (Windows Authentication یا SQL Server Authentication ) |
Login / Password | فقط وقتی فعال است که Authentication روی SQL Server باشد. |
مثال ۱: اتصال به Default Instance
فرض کن اسم کامپیوترت MyPC
است و SQL Server را به صورت پیشفرض نصب کردهای:
- Server Name =
MyPC
- Authentication = Windows Authentication
- دکمه Connect
مثال ۲: اتصال به Named Instance
اگر SQL Server را با نام SQL2022
نصب کردی:
- Server Name =
MyPC\SQL2022
نکته:
- اگر اسم سرور را یادت نمیآید، در SSMS کلید “Browse for more” را بزن.
- یا در Command Prompt این دستور را بزن:
sqlcmd -L
این دستور لیست همه سرورهای SQL Server در شبکه را میدهد.
بخش ۴: معرفی کامل Object Explorer
بعد از اتصال، سمت چپ صفحه، بخش Object Explorer را میبینی.
این بخش مثل پنل مدیریت فایل در ویندوز است، ولی برای پایگاه دادهها.
پوشههای مهم:
- Databases → جایی که همه پایگاه دادهها دیده میشوند.
- Databases سیستمی (System Databases)
- Databases کاربری (User Databases)
- Security → کاربران و نقشها
- Server Objects → تنظیمات و آبجکتهای سطح سرور
- Replication → تکرار و هماهنگسازی دادهها
- Management → ابزارهای مدیریتی
- SQL Server Agent → اجرای وظایف زمانبندیشده
بخش ۵: آشنایی با دیتابیسهای سیستمی
وقتی بخش Databases را باز میکنی، چهار دیتابیس اولیه میبینی:
دیتابیس | کاربرد |
---|---|
master | اطلاعات کلی سرور و تنظیمات همه دیتابیسها |
model | قالب اولیه ساخت دیتابیسهای جدید |
msdb | اطلاعات مربوط به SQL Server Agent و زمانبندی وظایف |
tempdb | دیتابیس موقت برای پردازش کوئریها |
📌 نکته: دیتابیسهای سیستمی را هیچ وقت پاک یا تغییر نده مگر بدانی دقیقاً چه میکنی.
بخش ۶: روشهای ساخت پایگاه داده
دو روش اصلی:
- روش گرافیکی (GUI)
- روش متنی (T-SQL)
۶.۱ روش گرافیکی — Create Database با کلیک
مراحل:
- روی Databases راستکلیک → New Database.
- در فیلد Database Name، نام دیتابیس را وارد کن.
- قسمت Owner → به طور پیشفرض همان کاربر فعلی است.
- بخش Database files:
- فایل داده (
.mdf
) → دادههای اصلی - فایل لاگ (
.ldf
) → ثبت تراکنشها
- ستونهای مهم:
- Initial Size → اندازه اولیه فایل
- Autogrowth → روش افزایش خودکار
- Path → مسیر ذخیرهسازی
- تب Options → تنظیمات Collation، Recovery Model و موارد دیگر.
- دکمه OK.
📌 Collation چیست؟
Collation یعنی روش مرتبسازی و حساسیت به حروف بزرگ/کوچک یا فارسی/انگلیسی.
مثلاً:
SQL_Latin1_General_CP1_CI_AS
→ انگلیسی، غیر حساس به بزرگی حروف- برای فارسی:
Persian_100_CI_AS
۶.۲ روش متنی — Create Database با T-SQL
در Query Editor:
CREATE DATABASE ShopDB
ON
(
NAME = ShopDB_Data,
FILENAME = 'C:\SQLData\ShopDB_Data.mdf',
SIZE = 10MB,
MAXSIZE = 100MB,
FILEGROWTH = 5MB
)
LOG ON
(
NAME = ShopDB_Log,
FILENAME = 'C:\SQLData\ShopDB_Log.ldf',
SIZE = 5MB,
MAXSIZE = 50MB,
FILEGROWTH = 5MB
);
GO
✅ این روش کنترل کامل روی مسیر، اندازه و رشد فایلها میدهد.
بخش ۷: نکات مهم هنگام انتخاب نام دیتابیس
- از فاصله یا کاراکترهای خاص (
! @ # $
) استفاده نکن. - استفاده از فارسی ممکن است در برخی ابزارها مشکلساز شود.
- بهتر است نام دیتابیس برگرفته از کاربردش باشد (مثل
SalesDB
یاLibraryDB
).
بخش ۸: تغییر یا حذف دیتابیس
تغییر نام (Rename)
ALTER DATABASE ShopDB MODIFY NAME = MarketDB;
حذف دیتابیس
DROP DATABASE MarketDB;
🚨 هشدار: حذف دیتابیس همه دادهها را پاک میکند و غیرقابل بازگشت است مگر Backup داشته باشی.
بخش ۹: مشکلات رایج و راهکار
مشکل | دلیل | راهحل |
---|---|---|
Cannot connect to server | نام سرور اشتباه یا سرویس SQL خاموش است | سرویس را از SQL Server Configuration Manager فعال کن |
Access denied | مجوز دسترسی نداری | احراز هویت را درست انتخاب کن یا ادمین بده |
Collation conflict | تفاوت تنظیمات Collation | در زمان ساخت دیتابیس Collation یکسان انتخاب کن |
بخش ۱۰: تمرین عملی مرحلهای
۱. اتصال با Windows Authentication
۲. ساخت دیتابیس ShopDB
به روش GUI با Collation فارسی
۳. ساخت دیتابیس LibraryDB
در مسیر دلخواه با T-SQL پیشرفته
۴. تغییر نام دیتابیس سوم به TestDB
۵. حذف یک دیتابیس با Drop
بخش ۱۱: تمرین نهایی — پروژه کوچک
هدف: ایجاد دیتابیس فروشگاه
- جداول: Products, Customers, Orders
- هر جدول فعلاً فقط یک ستون داشته باشد (برای تست)
- ذخیره و مشاهده دیتابیس در Object Explorer
بخش ۱۲: جمعبندی
در این فصل:
- اتصال به SQL Server را یاد گرفتیم.
- Object Explorer و دیتابیسهای سیستمی را شناختیم.
- ساخت دیتابیس با GUI و T-SQL را تمرین کردیم.
- تنظیمات Collation، مسیر، اندازه و رشد فایل را بررسی کردیم.
- نکات امنیتی و خطاهای رایج را دیدیم.
- تمرینهایی برای تثبیت یادگیری انجام دادیم.