ฐานข้อมูล SQL Server: การสร้าง การแก้ไข การลบ และการกู้คืน
⚡ สรุปอย่างชาญฉลาด
ฐานข้อมูล SQL Server เป็นคอนเทนเนอร์ที่เก็บตาราง มุมมอง สตored procedure และวัตถุอื่นๆ การสร้าง การแก้ไข การลบpingและการกู้คืนฐานข้อมูลสามารถทำได้ผ่าน SQL Server Management Studio หรือด้วยคำสั่ง Transact-SQL

ฐานข้อมูลคืออะไร?
ฐานข้อมูลคือชุดของวัตถุต่างๆ เช่น ตารางมุมมอง, สตored procedure, trigger และฟังก์ชัน ใน SQL Serverฐานข้อมูลเปรียบเสมือนบ้านที่เป็นระเบียบซึ่งจัดเก็บและเชื่อมโยงวัตถุที่เกี่ยวข้องทั้งหมดเหล่านี้เข้าด้วยกัน
ลองพิจารณาตัวอย่างจากชีวิตจริงสักสองสามตัวอย่าง:
- ชั้นวางหนังสือคือที่ที่หนังสือตั้งอยู่
- บ้านคือที่ที่เราอาศัยอยู่
- ลานจอดรถคือสถานที่สำหรับจอดรถ และตัวอย่างเช่นนี้มีมากมายนับไม่ถ้วน
ในทำนองเดียวกัน ฐานข้อมูลก็เปรียบเสมือนบ้านสำหรับตาราง มุมมอง และโพรซีเดอร์ที่จัดเก็บไว้ทั้งหมดของเรา ในทางเทคนิคแล้ว ฐานข้อมูลจะจัดเก็บข้อมูลอย่างเป็นระเบียบเพื่อให้เข้าถึงและเรียกใช้ได้ง่าย ใน SQL Server มีฐานข้อมูลอยู่สองประเภท:
- ฐานข้อมูลระบบ: ฐานข้อมูลเหล่านี้จะถูกสร้างขึ้นโดยอัตโนมัติเมื่อคุณติดตั้ง SQL Server ฐานข้อมูลเหล่านี้มีบทบาทสำคัญในเซิร์ฟเวอร์ โดยเฉพาะอย่างยิ่งในการทำให้แน่ใจว่าอ็อบเจ็กต์ในฐานข้อมูลทำงานได้อย่างถูกต้อง ตัวอย่างของฐานข้อมูลระบบใน SQL Server ได้แก่ master, msdb, model, tempdb และ resource
- ฐานข้อมูลผู้ใช้: ฐานข้อมูลเหล่านี้สร้างขึ้นโดยผู้ใช้ฐานข้อมูลเช่นคุณ ซึ่งได้รับอนุญาตให้สร้างฐานข้อมูลได้
กฎเกณฑ์ในการสร้างฐานข้อมูล
ก่อนอื่น คุณต้องทราบกฎพื้นฐานสำหรับการสร้างฐานข้อมูลใหม่:
- ชื่อฐานข้อมูลต้องไม่ซ้ำกันภายในอินสแตนซ์ของ SQL Server
- ชื่อฐานข้อมูลมีความยาวได้สูงสุด 128 อักขระ
- คำสั่ง CREATE DATABASE ต้องทำงานในโหมด auto-commit
ภาพด้านล่างแสดงให้เห็นถึงสองแนวทางที่เป็นไปได้สำหรับการสร้างฐานข้อมูลใน SQL Server
มี 2 วิธีในการสร้างฐานข้อมูลใน SQL Server:
- สตูดิโอจัดการเซิร์ฟเวอร์ SQL
- ธุรกรรม-SQL
วิธีการสร้างฐานข้อมูลใน SQL Server Management Studio
ต่อไปนี้คือขั้นตอนการสร้างฐานข้อมูลใน SQL Server Management Studio:
ขั้นตอน 1) คลิกขวาที่ 'ฐานข้อมูล' ในหน้าต่าง 'ตัวสำรวจวัตถุ' จากนั้นเลือก 'ฐานข้อมูลใหม่'
เมนูคลิกขวาพร้อมตัวเลือก "สร้างฐานข้อมูลใหม่" แสดงอยู่ด้านล่าง
ขั้นตอน 2) หน้าจอ 'สร้างฐานข้อมูลใหม่' จะปรากฏขึ้น ป้อน 'ชื่อฐานข้อมูล' คอลัมน์ 'ชื่อเชิงตรรกะ' จะถูกเติมข้อมูลโดยอัตโนมัติด้วย:
- Edu – ประเภทไฟล์: ข้อมูลแถว และกลุ่มไฟล์: PRIMARY
- Edu_log – ประเภทไฟล์: LOG และกลุ่มไฟล์: 'ไม่เกี่ยวข้อง'
หน้าต่างสร้างฐานข้อมูลใหม่ พร้อมชื่อฐานข้อมูลและไฟล์ตรรกะของฐานข้อมูล จะแสดงอยู่ด้านล่าง
ที่นี่:
- A) ไฟล์ข้อมูล .mdf ชื่อ Edu (ประเภทไฟล์: ข้อมูลแถว, กลุ่มไฟล์: PRIMARY)
- B) Edu_log (ประเภทไฟล์: LOG, กลุ่มไฟล์: 'ไม่เกี่ยวข้อง') คือไฟล์บันทึกข้อมูล .ldf
ขั้นตอน 3) (ไม่บังคับ) สำหรับการตั้งค่าที่ซับซ้อนยิ่งขึ้น คุณสามารถไปที่หน้า 'ตัวเลือก' และ 'กลุ่มไฟล์' ได้ สำหรับผู้เริ่มต้น การสร้างฐานข้อมูลจากแท็บทั่วไปก็เพียงพอแล้ว
หน้าต่างตัวเลือกและกลุ่มไฟล์แสดงอยู่ด้านล่าง
ขั้นตอน 4) คลิกที่ปุ่ม 'เพิ่ม' (ปุ่มตกลง) เพื่อสร้างฐานข้อมูล
ปุ่มยืนยันการสร้างถูกไฮไลต์ไว้ด้านล่าง
ผลลัพธ์: ฐานข้อมูล 'Edu' ถูกสร้างขึ้นแล้ว คุณสามารถขยายฐานข้อมูล 'Edu' ซึ่งจะประกอบด้วยตาราง มุมมอง และอื่นๆ โดยในขั้นต้น ฐานข้อมูลเหล่านี้จะว่างเปล่า จนกว่าคุณจะสร้างตาราง มุมมอง ฯลฯ ใหม่
ดูแบบสอบถามแหล่งที่มา: คุณสามารถดูคำสั่งค้นหาต้นฉบับของฐานข้อมูล 'Edu' ที่สร้างขึ้นใหม่ได้ โดยทำตามขั้นตอนดังนี้: คลิกขวาที่ชื่อฐานข้อมูล > สร้างฐานข้อมูลเป็น > สร้างเป็น > หน้าต่างแก้ไขคำสั่งค้นหาใหม่
หน้าต่างแบบสอบถาม: สคริปต์ CREATE ที่สร้างขึ้นจะเปิดขึ้นในหน้าต่างแบบสอบถามใหม่ ดังแสดงในภาพด้านล่าง
สร้างสคริปต์:
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]
คลิกที่ 'Execute' เพื่อเรียกใช้คำสั่ง SQL ดังแสดงด้านล่าง
ผลลัพธ์: คุณสามารถดูไฟล์ Edu_TSQL ที่สร้างขึ้นได้ใน SQL Object Explorer
ต่อไปนี้เราจะมาดูวิธีการสร้างฐานข้อมูลโดยใช้ไฟล์ .mdf และ .ldf อย่างชัดเจน โดยคุณสามารถระบุตำแหน่งไฟล์เป็นส่วนหนึ่งของคำสั่ง SQL ได้
ไวยากรณ์:
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 )
ฐานข้อมูลที่สร้างขึ้นพร้อมไฟล์ข้อมูลและไฟล์บันทึกที่ระบุไว้อย่างชัดเจน จะปรากฏใน Object Explorer ดังแสดงในภาพด้านล่าง
วิธีการแก้ไขฐานข้อมูล
เช่นเดียวกับคำสั่งสร้างฐานข้อมูล คุณสามารถแก้ไขฐานข้อมูลได้เช่นกัน คุณสามารถเปลี่ยนชื่อฐานข้อมูล เปลี่ยนตำแหน่งไฟล์ หรือการตั้งค่า และอื่นๆ อีกมากมาย
กฎพื้นฐานสำหรับการแก้ไขฐานข้อมูล:
- คำสั่ง ALTER DATABASE ต้องทำงานในโหมด auto-commit
- ไม่อนุญาตให้เปลี่ยนฐานข้อมูลในธุรกรรมที่ชัดเจนหรือโดยปริยาย
ในการแก้ไขฐานข้อมูลใน SQL Server มี 2 วิธี:
- สตูดิโอจัดการเซิร์ฟเวอร์ SQL
- ธุรกรรม-SQL
วิธีการแก้ไขฐานข้อมูลใน SQL Server Management Studio
ด้านล่างนี้คือขั้นตอนการแก้ไขฐานข้อมูลใน SQL Server Management Studio ลองมาเปลี่ยนชื่อฐานข้อมูลที่สร้างไว้แล้วชื่อ 'Edu' กันดู ฐานข้อมูล Edu ที่สร้างไว้แล้วแสดงอยู่ใน Object Explorer ดังภาพด้านล่าง
ขั้นตอน 1) เปลี่ยนชื่อฐานข้อมูล คลิกขวาที่ชื่อฐานข้อมูล แล้วคลิกที่ 'เปลี่ยนชื่อ'
ขั้นตอน 2) ชื่อฐานข้อมูลจะสามารถแก้ไขได้ ป้อนชื่อใหม่แล้วกด Enter
ผลลัพธ์: ขณะนี้ฐานข้อมูลได้เปลี่ยนชื่อจาก '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' เป็น “Edu_TSQL_Alter” ดังแสดงด้านล่าง
ไวยากรณ์ทั่วไป: ไวยากรณ์ 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 );
ไฟล์ตรรกะที่เปลี่ยนชื่อแล้วจะปรากฏในคุณสมบัติของฐานข้อมูล ดังแสดงด้านล่าง
การเปลี่ยนตำแหน่งที่ตั้งของไฟล์ .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' );
เส้นทางไฟล์ที่อัปเดตแล้วสำหรับฐานข้อมูลแสดงอยู่ด้านล่าง
ลบฐานข้อมูล
มี 2 วิธีในการลบ (ดรอป) ฐานข้อมูลใน SQL Server:
- สตูดิโอจัดการเซิร์ฟเวอร์ SQL
- ธุรกรรม-SQL
วิธีการวางฐานข้อมูลใน SQL Server Management Studio
ต่อไปนี้คือขั้นตอนการลบฐานข้อมูลใน SQL Server Management Studio ลองมาลบฐานข้อมูล 'Edu_Alter' ที่เราสร้างไว้ก่อนหน้านี้กัน
ขั้นตอน 1) คลิกขวาที่ฐานข้อมูล เลือก 'ลบ' แล้วคลิก 'ตกลง'
ผลลัพธ์: 'Edu_Alter' ถูกลบออกจากรายการฐานข้อมูล 'Object Explorer' แล้ว
ลบฐานข้อมูลโดยใช้ Transact-SQL
ลองลบฐานข้อมูล 'Edu_TSQL_Alter' ที่เราสร้างไว้ก่อนหน้านี้กันดู
ไวยากรณ์:
DROP DATABASE <Databse_name>
ค้นหา:
USE master; GO DROP DATABASE Edu_TSQL_Alter; GO
เรียกใช้แบบสอบถามข้างต้นโดยคลิกที่ 'ดำเนินการ'
ผลลัพธ์: 'Edu_TSQL_Alter' ถูกลบออกจากรายการฐานข้อมูล 'Object Explorer' แล้ว ดังแสดงในภาพด้านล่าง
กู้คืนฐานข้อมูลใน 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'
คุณสามารถใช้การนำทางผ่าน GUI ได้เช่นกัน: คลิกขวาที่ฐานข้อมูล > กู้คืนฐานข้อมูล > อุปกรณ์ > นำเข้าไฟล์สำรอง > คลิก ตกลง





















