قاعدة بيانات SQL Server: إنشاء، تعديل، حذف، واستعادة

⚡ ملخص ذكي

قواعد بيانات SQL Server عبارة عن حاويات تحتوي على الجداول، والعروض، والإجراءات المخزنة، وغيرها من الكائنات. إنشاء، وتعديل، وحذفpingويمكن استعادة قاعدة البيانات من خلال SQL Server Management Studio أو باستخدام عبارات Transact-SQL.

  • 🗄️ قاعدة البيانات: تقوم قاعدة بيانات SQL Server بتخزين الجداول والعروض والإجراءات والوظائف في حاوية واحدة منظمة ومترابطة.
  • 🧩 النظام مقابل المستخدم: يتم تثبيت قواعد بيانات النظام (master، msdb، model، tempdb، resource) تلقائيًا؛ أما قواعد بيانات المستخدم فيتم إنشاؤها بواسطة المستخدم.
  • 🖱️ خلق: أضف قاعدة بيانات من خلال مربع حوار "قاعدة بيانات جديدة" في مستكشف الكائنات أو باستخدام عبارة CREATE DATABASE.
  • ✏️ العمر: قم بإعادة تسمية قاعدة البيانات أو تغيير ملفاتها وخياراتها باستخدام ALTER DATABASE أو قائمة إعادة التسمية.
  • 🗑️ إسقاط: قم بإزالة قاعدة بيانات المستخدم باستخدام DROP DATABASE أو خيار الحذف؛ لا يمكن حذف قواعد بيانات النظام.
  • 💾 الاستعادة: أعد بناء قاعدة البيانات من ملف النسخ الاحتياطي .bak باستخدام أمر RESTORE DATABASE.

إنشاء قاعدة بيانات SQL Server وتعديلها وحذفها واستعادتها

ما هي قاعدة البيانات؟

قاعدة البيانات هي مجموعة من الكائنات مثل الجداول، طرق العرض، والإجراءات المخزنة، والمحفزات، والوظائف. في ملقم SQL، قاعدة البيانات هي المكان المنظم الذي يتم فيه تخزين جميع هذه الكائنات ذات الصلة وربطها ببعضها البعض.

لنأخذ بعض الأمثلة من الحياة الواقعية:

  • خزانة الكتب هي المكان الذي توضع فيه الكتب.
  • المنزل هو المكان الذي نعيش فيه.
  • موقف السيارات هو المكان الذي تُوقف فيه المركبات، وهذه الأمثلة لا حصر لها.

وبالمثل، تُعد قاعدة البيانات بمثابة مستودع لجميع جداولنا، وعروضنا، وإجراءاتنا المخزنة. من الناحية التقنية، تخزن قاعدة البيانات البيانات بطريقة منظمة جيدًا لتسهيل الوصول إليها واسترجاعها. في SQL Server، يوجد نوعان من قواعد البيانات:

  • قواعد بيانات النظام: تُنشأ هذه قواعد البيانات تلقائيًا عند تثبيت SQL Server. وتلعب دورًا محوريًا في الخادم، لا سيما في ضمان تشغيل كائنات قاعدة البيانات بشكل صحيح. ومن أمثلة قواعد بيانات نظام SQL Server: master وmsdb وmodel وtempdb وresource.
  • قواعد بيانات المستخدمين: يتم إنشاء هذه القواعد بواسطة مستخدمي قواعد البيانات مثلك، الذين مُنحوا حق الوصول لإنشاء قواعد البيانات.

قواعد إنشاء قاعدة البيانات

أولاً، عليك معرفة القواعد الأساسية لإنشاء قاعدة بيانات جديدة:

  • يجب أن تكون أسماء قواعد البيانات فريدة ضمن مثيل SQL Server.
  • يمكن أن يصل طول أسماء قواعد البيانات إلى 128 حرفًا كحد أقصى.
  • يجب تشغيل عبارة CREATE DATABASE في وضع الالتزام التلقائي.

توضح الصورة أدناه الطريقتين المتاحتين لإنشاء قاعدة بيانات في SQL Server.

طريقتان لإنشاء قاعدة بيانات SQL Server: Management Studio و Transact-SQL

هناك طريقتان لإنشاء قاعدة بيانات في SQL Server:

كيفية إنشاء قاعدة بيانات في SQL Server Management Studio

فيما يلي عملية خطوة بخطوة لإنشاء قاعدة بيانات في SQL Server Management Studio:

الخطوة 1) انقر بزر الماوس الأيمن على "قاعدة البيانات" في نافذة "مستكشف الكائنات" ثم حدد "قاعدة بيانات جديدة".

تظهر أدناه قائمة النقر بزر الماوس الأيمن التي تحتوي على خيار "قاعدة بيانات جديدة".

انقر بزر الماوس الأيمن على عقدة قاعدة البيانات في مستكشف الكائنات مع تحديد "قاعدة بيانات جديدة".

الخطوة 2) تظهر شاشة "قاعدة بيانات جديدة". أدخل "اسم قاعدة البيانات". يتم ملء عمود "الاسم المنطقي" تلقائيًا بالبيانات التالية:

  • التعليم – نوع الملف: بيانات الصفوف ومجموعة الملفات: أساسي
  • Edu_log – نوع الملف: سجل ومجموعة الملفات: "غير قابل للتطبيق"

يظهر أدناه مربع حوار "قاعدة بيانات جديدة" مع اسم قاعدة البيانات وملفاتها المنطقية.

مربع حوار قاعدة البيانات الجديد يعرض اسم قاعدة بيانات Edu والملفات المنطقية Edu و Edu_log

هنا:

  • أ) Edu (نوع الملف: بيانات الصفوف، مجموعة الملفات: PRIMARY) هو ملف البيانات .mdf.
  • ب) Edu_log (نوع الملف: LOG، مجموعة الملفات: 'غير قابل للتطبيق') هو ملف السجل .ldf.

الخطوة 3) (اختياري) لإعدادات أكثر تعقيدًا، يمكنك الانتقال إلى صفحتي "الخيارات" و"مجموعات الملفات". أما للمبتدئين، فيكفي إنشاء قاعدة البيانات من علامة التبويب "عام".

تظهر صفحات الخيارات ومجموعات الملفات أدناه.

صفحات جديدة لخيارات قاعدة البيانات ومجموعات الملفات للإعدادات المتقدمة

الخطوة 4) انقر على "إضافة" (زر موافق) لإنشاء قاعدة البيانات.

الزر الذي يؤكد الإنشاء مُظلل أدناه.

زر "موافق" في مربع حوار "قاعدة بيانات جديدة" الذي ينشئ قاعدة بيانات Edu

النتيجة: تم إنشاء قاعدة بيانات "Edu". يمكنك توسيع قاعدة بيانات "Edu" التي ستحتوي على جداول، وعروض، وما إلى ذلك. ستكون هذه البيانات فارغة في البداية حتى تقوم بإنشاء جداول وعروض جديدة، وما إلى ذلك.

مستكشف الكائنات يعرض قاعدة بيانات Edu التي تم إنشاؤها حديثًا مع مجلداتها الفارغة

عرض الاستعلام المصدر: يمكنك عرض استعلام المصدر لقاعدة بيانات "Edu" التي تم إنشاؤها حديثًا. اتبع الخطوات التالية: انقر بزر الماوس الأيمن على اسم قاعدة البيانات > إنشاء قاعدة بيانات باسم > إنشاء إلى > نافذة محرر استعلام جديد.

إنشاء قاعدة بيانات نصية كـ CREATE إلى قائمة السياق في نافذة محرر الاستعلامات الجديدة

نافذة الاستعلام: يتم فتح نص CREATE الذي تم إنشاؤه في نافذة استعلام جديدة، كما هو موضح أدناه.

نافذة محرر الاستعلامات تعرض نص إنشاء قاعدة البيانات الذي تم إنشاؤه تلقائيًا لـ Edu

إنشاء البرنامج النصي:

USE [master]
GO

CREATE DATABASE [Edu]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

إنشاء قاعدة بيانات باستخدام T-SQL

هناك طريقة أخرى تتمثل في كتابة استعلام T-SQL لإنشاء قاعدة بيانات ثم تنفيذه. دعونا نلقي نظرة على أبسط استعلام T-SQL لإنشاء قاعدة بيانات.

بناء الجملة:

CREATE DATABASE <Database_name>

الاستعلام:

CREATE DATABASE [Edu_TSQL_file]

انقر على "تنفيذ" لتشغيل الاستعلام، كما هو موضح أدناه.

زر التنفيذ في شريط أدوات SSMS المستخدم لتشغيل استعلام CREATE DATABASE

النتيجة: يمكنك رؤية ملف Edu_TSQL_file الذي تم إنشاؤه في مستكشف كائنات SQL.

يعرض مستكشف الكائنات قاعدة بيانات Edu_TSQL_file التي تم إنشاؤها باستخدام Transact-SQL

والآن، دعونا نلقي نظرة على كيفية إنشاء قاعدة بيانات باستخدام ملفات .mdf و .ldf صريحة. هنا، يمكنك تحديد موقع الملف كجزء صريح من الاستعلام.

بناء الجملة:

CREATE DATABASE database_name   
[ CONTAINMENT = { NONE | PARTIAL } ]  
[ ON   
      [ PRIMARY ] <filespec> [ ,...n ]   
      [ , <filegroup> [ ,...n ] ]   
      [ LOG ON <filespec> [ ,...n ] ]   
];

الاستعلام:

CREATE DATABASE [Edu_TSQL_file]
 CONTAINMENT = NONE
 ON  PRIMARY 
( NAME = N'Edu_TSQL_file', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file.mdf' , SIZE = 8192KB , MAXSIZE = UNLIMITED, FILEGROWTH = 65536KB )
 LOG ON 
( NAME = N'Edu_TSQL_file_log', FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\Edu_TSQL_file_log.ldf' , SIZE = 8192KB , MAXSIZE = 2048GB , FILEGROWTH = 65536KB )

تظهر قاعدة البيانات التي تم إنشاؤها مع بياناتها الصريحة وملفات السجل الخاصة بها في مستكشف الكائنات، كما هو موضح أدناه.

مستكشف الكائنات يعرض قاعدة بيانات Edu_TSQL_file التي تم إنشاؤها باستخدام ملفات .mdf و .ldf صريحة

كيفية تغيير قاعدة البيانات

كما هو الحال مع استعلام إنشاء قاعدة البيانات، يمكنك أيضًا تعديل قاعدة البيانات. يمكنك إعادة تسمية قاعدة البيانات، أو تغيير موقع ملف أو إعداد، وغير ذلك.

القواعد الأساسية لتعديل قاعدة البيانات:

  • يجب تشغيل عبارة ALTER DATABASE في وضع الالتزام التلقائي.
  • غير مسموح بتغيير قاعدة البيانات في معاملة صريحة أو ضمنية.

هناك طريقتان لتعديل قاعدة البيانات في SQL Server:

  • مزود خدمة إدارة ستوديو
  • المعاملات- SQL

كيفية تغيير قاعدة البيانات في SQL Server Management Studio

فيما يلي خطوات تعديل قاعدة بيانات في SQL Server Management Studio. لنحاول تغيير اسم قاعدة البيانات التي أنشأناها مسبقًا 'Edu'. تظهر قاعدة البيانات Edu التي أنشأناها مسبقًا أدناه في مستكشف الكائنات.

تم تحديد قاعدة بيانات Edu المُنشأة مسبقًا في قائمة قواعد البيانات في مستكشف الكائنات

الخطوة 1) أعد تسمية قاعدة البيانات. انقر بزر الماوس الأيمن على اسم قاعدة البيانات ثم انقر على "إعادة تسمية".

انقر بزر الماوس الأيمن على قائمة السياق في قاعدة بيانات Edu مع خيار إعادة التسمية

الخطوة 2) أصبح اسم قاعدة البيانات قابلاً للتعديل. أدخل الاسم الجديد واضغط على مفتاح الإدخال (Enter).

حقل اسم قاعدة بيانات Edu قابل للتعديل وجاهز لاستقبال اسم جديد

النتيجة: تمت إعادة تسمية قاعدة البيانات الآن إلى "Edu_Alter" بدلاً من "Edu".

مستكشف الكائنات يعرض قاعدة البيانات التي أعيد تسميتها من Edu إلى Edu_Alter

تغيير قاعدة البيانات باستخدام Transact-SQL

والآن دعونا نعدل قاعدة بيانات باستخدام لغة T-SQL.

بناء الجملة:

ALTER DATABASE <Databse_name>              
MODIFY NAME = <New Name>

الاستعلام:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

قم بتشغيل الاستعلام أعلاه بالنقر فوق "تنفيذ".

النتيجة: تمت إعادة تسمية قاعدة البيانات الآن إلى "Edu_TSQL_Alter" بدلاً من "Edu_TSQL"، كما هو موضح أدناه.

يُظهر مستكشف الكائنات قاعدة البيانات التي تمت إعادة تسميتها إلى Edu_TSQL_Alter بعد تنفيذ أمر ALTER DATABASE

بناء الجملة العام: يدعم بناء جملة ALTER DATABASE الكامل العديد من الخيارات، بما في ذلك إعادة التسمية، والترتيب، وخيارات الملف، ومستوى التوافق.

ALTER DATABASE { database_name  | CURRENT }  
{   MODIFY NAME = new_database_name   
  | COLLATE collation_name  
  | <file_and_filegroup_options>  
  | SET <option_spec> [ ,...n ] [ WITH <termination> ] 
  | SET COMPATIBILITY_LEVEL = { 140 | 130 | 120 | 110 | 100 | 90 }   
} ;

ملاحظة: مستويات التوافق الموضحة أعلاه تعكس الإصدارات القديمة. تضيف الإصدارات الحالية 150 (SQL Server 2019) و160 (SQL Server 2022) و170 (SQL Server 2025)، مع استمرار دعمها للعديد من المستويات السابقة.

تغيير اسم ملف .mdf/.ldf

الاستعلام:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL, NEWNAME = Edu_TSQL_newName );

ينعكس تغيير اسم الملف المنطقي في خصائص قاعدة البيانات، كما هو موضح أدناه.

خصائص قاعدة البيانات التي تؤكد إعادة تسمية الملف المنطقي Edu_TSQL_newName

تغيير موقع ملف .mdf/.ldf

الاستعلام:

Alter DATABASE Edu_TSQL_Alter;
MODIFY FILE ( NAME = Edu_TSQL_NewName, FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL14.SQL_MS\MSSQL\DATA\New_File\Edu_TSQL_log.ldf' );

يظهر أدناه مسار الملف المحدث لقاعدة البيانات.

صفحة ملف قاعدة البيانات التي تعرض موقع ملف السجل الجديد بامتداد .ldf

حذف قاعدة البيانات

هناك طريقتان لحذف (إسقاط) قاعدة بيانات في SQL Server:

  • مزود خدمة إدارة ستوديو
  • المعاملات- SQL

كيفية إسقاط قاعدة البيانات في SQL Server Management Studio

فيما يلي خطوات حذف قاعدة بيانات في SQL Server Management Studio. لنحاول حذف قاعدة البيانات التي أنشأناها مسبقًا 'Edu_Alter'.

الخطوة 1) انقر بزر الماوس الأيمن على قاعدة البيانات، ثم انقر على "حذف"، ثم انقر على "موافق".

مربع حوار حذف الكائن للإفلاتping قاعدة بيانات Edu_Alter في SSMS

النتيجة: تم حذف 'Edu_Alter' من قائمة قاعدة بيانات 'Object Explorer'.

قائمة قواعد بيانات مستكشف الكائنات بعد حذف قاعدة بيانات Edu_Alter

حذف قاعدة البيانات باستخدام Transact-SQL

لنحاول حذف قاعدة البيانات التي أنشأناها مسبقًا 'Edu_TSQL_Alter'.

بناء الجملة:

DROP DATABASE <Databse_name>

الاستعلام:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

قم بتشغيل الاستعلام أعلاه بالنقر فوق "تنفيذ".

النتيجة: تم حذف 'Edu_TSQL_Alter' من قائمة قاعدة البيانات 'Object Explorer'، كما هو موضح أدناه.

قائمة قواعد بيانات مستكشف الكائنات بعد حذف قاعدة بيانات Edu_TSQL_Alter باستخدام T-SQL

استعادة قاعدة البيانات في SQL Server

يمكنك إنشاء قاعدة بيانات عن طريق استعادة قاعدة بيانات قمت بنسخها احتياطيًا مسبقًا. يتم ذلك بتشغيل أمر RESTORE DATABASE، والذي يأخذ الصيغة التالية:

restore Database <database name> from disk = '<Backup file location + filename>

يجب تنفيذ الاستعلام داخل نافذة الاستعلام، تمامًا مثل الأوامر السابقة. على سبيل المثال:

restore database Edu from disk = 'C:\Backup\Edu_full_backup.bak'

يمكنك أيضًا استخدام التنقل عبر واجهة المستخدم الرسومية: انقر بزر الماوس الأيمن على قاعدة البيانات > استعادة قاعدة البيانات > الجهاز > استيراد ملف النسخ الاحتياطي > انقر فوق موافق.

الأسئلة الشائعة

يتطلب إنشاء قاعدة بيانات إذن CREATE DATABASE أو CREATE ANY DATABASE أو ALTER ANY DATABASE في قاعدة البيانات الرئيسية. يجب أن يكون المستخدم عضوًا في دور خادم sysadmin أو dbcreator، أو أن يكون لديه إذن ممنوح بشكل مناسب. تسجيل الدخول، يمكن تشغيل العبارة.

يمكن لخادم SQL Server واحد استيعاب ما يصل إلى 32,767 قاعدة بيانات. هذا الرقم يمثل حدًا معماريًا صارمًا؛ أما عمليًا، فإن تكاليف الذاكرة والتخزين والإدارة تجعل من المستحسن استخدام أعداد أقل بكثير لتحقيق أداء جيد.

لا. قواعد بيانات النظام مثل master وmodel وmsdb وtempdb وresource مطلوبة من قِبل المحرك ولا يمكن حذفها. فقط قواعد بيانات المستخدم التي تقوم بإنشائها يمكن حذفها باستخدام أمر DROP DATABASE أو خيار الحذف.

يُحدد SIZE حجم الملف الأولي، ويُحدد MAXSIZE أقصى حجم يمكن أن يصل إليه الملف، ويُحدد FILEGROWTH مقدار المساحة المضافة في كل مرة يتوسع فيها الملف. وتنطبق هذه الإعدادات على كل من ملفات البيانات وملفات السجلات.

يتحكم COMPATIBILITY_LEVEL في سلوك معالجة الاستعلامات الذي تستخدمه قاعدة البيانات. تشمل القيم الحالية 140 (SQL Server 2017)، و150 (2019)، و160 (2022)، و170 (2025). يُغيّر الأمر ALTER DATABASE SET COMPATIBILITY_LEVEL هذه القيمة دون الحاجة إلى نقل قاعدة البيانات إلى خادم جديد.

يؤدي الأمر DROP DATABASE إلى حذف قاعدة البيانات وملفاتها بامتداد .mdf و .ldf بشكل نهائي. إزالة قاعدة البياناتLINE يوقف الوصول فقط مع إبقاء الملفات على القرص، لذا يمكنك إعادته إلى الاتصال بالإنترنت لاحقًا دون الحاجة إلى استعادة.

نعم. مساعد الطيار جيثب يمكنك إنشاء أوامر إنشاء قاعدة البيانات (CREATE DATABASE) وتعديلها (ALTER DATABASE) وحذفها (DROP DATABASE) من خلال موجهات اللغة الطبيعية داخل SSMS أو محرر النصوص الخاص بك. تأكد دائمًا من مراجعة مسارات الملفات وأحجامها وخياراتها قبل تشغيلها على خادم حقيقي.

تُساعد تقنيات الذكاء الاصطناعي والتعلم الآلي في عملية توفير الموارد من خلال التوصية بأحجام الملفات وإعدادات النمو، والتنبؤ بالسعة، ورصد أي انحراف في التكوين، والإشارة إلى عمليات الحذف أو التعديل الخطرة. وهي تدعم مسؤول قاعدة البيانات بدلاً من أن تحل محل المراجعة الدقيقة.

تلخيص هذه التدوينة بـ: