Cơ sở dữ liệu SQL Server: Tạo, sửa đổi, xóa và khôi phục

⚡ Tóm tắt thông minh

Cơ sở dữ liệu SQL Server là các vùng chứa đựng bảng, khung nhìn, thủ tục lưu trữ và các đối tượng khác. Việc tạo, sửa đổi, xóa...pingvà việc khôi phục cơ sở dữ liệu có thể được thực hiện thông qua SQL Server Management Studio hoặc bằng các câu lệnh Transact-SQL.

  • 🗄️ Cơ sở dữ liệu: Cơ sở dữ liệu SQL Server lưu trữ các bảng, khung nhìn, thủ tục và hàm trong một vùng chứa được tổ chức và liên kết chặt chẽ.
  • 🧩 Hệ thống so với Người dùng: Các cơ sở dữ liệu hệ thống (master, msdb, model, tempdb, resource) được cài đặt tự động; các cơ sở dữ liệu người dùng do bạn tạo.
  • 🖱️ Tạo nên: Thêm cơ sở dữ liệu thông qua hộp thoại Thêm cơ sở dữ liệu mới trong Trình khám phá đối tượng hoặc bằng câu lệnh CREATE DATABASE.
  • ✏️ Tuổi: Đổi tên cơ sở dữ liệu hoặc thay đổi các tệp và tùy chọn của nó bằng lệnh ALTER DATABASE hoặc menu Đổi tên.
  • 🗑️ Rơi vãi: Xóa cơ sở dữ liệu người dùng bằng lệnh DROP DATABASE hoặc tùy chọn Delete; không thể xóa cơ sở dữ liệu hệ thống.
  • 💾 Khôi phục: Khôi phục cơ sở dữ liệu từ tệp sao lưu .bak bằng lệnh RESTORE DATABASE.

Tạo, sửa đổi, xóa và khôi phục cơ sở dữ liệu SQL Server.

Cơ sở dữ liệu là gì?

Cơ sở dữ liệu là một tập hợp các đối tượng như... bảng, các khung nhìn, thủ tục lưu trữ, trình kích hoạt và hàm. Trong SQL serverCơ sở dữ liệu là nơi được tổ chức để lưu trữ và liên kết tất cả các đối tượng liên quan này.

Hãy xem xét một vài ví dụ từ đời sống thực tế:

  • Giá sách là nơi cất giữ sách.
  • Nhà là nơi chúng ta sinh sống.
  • Bãi đỗ xe là nơi các phương tiện được đậu, và có vô số ví dụ như vậy.

Tương tự, cơ sở dữ liệu là nơi chứa tất cả các bảng, khung nhìn và thủ tục lưu trữ của chúng ta. Về mặt kỹ thuật, cơ sở dữ liệu lưu trữ dữ liệu một cách có tổ chức để dễ dàng truy cập và truy xuất. Trong SQL Server, có hai loại cơ sở dữ liệu:

  • Cơ sở dữ liệu hệ thống: Các cơ sở dữ liệu này được tạo tự động khi bạn cài đặt SQL Server. Chúng đóng vai trò quan trọng trong máy chủ, đặc biệt là trong việc đảm bảo các đối tượng cơ sở dữ liệu hoạt động chính xác. Ví dụ về các cơ sở dữ liệu hệ thống của SQL Server bao gồm master, msdb, model, tempdb và resource.
  • Cơ sở dữ liệu người dùng: Những cơ sở dữ liệu này được tạo ra bởi những người dùng cơ sở dữ liệu như bạn, những người đã được cấp quyền tạo cơ sở dữ liệu.

Quy tắc tạo cơ sở dữ liệu

Trước tiên, bạn cần nắm vững các quy tắc cơ bản để tạo một cơ sở dữ liệu mới:

  • Tên cơ sở dữ liệu phải là duy nhất trong một phiên bản của SQL Server.
  • Tên cơ sở dữ liệu có thể có tối đa 128 ký tự.
  • Câu lệnh CREATE DATABASE phải được chạy ở chế độ tự động commit.

Hình ảnh bên dưới minh họa hai phương pháp khả thi để tạo cơ sở dữ liệu trong SQL Server.

Có hai cách để tạo cơ sở dữ liệu SQL Server: Management Studio và Transact-SQL.

Có 2 cách để tạo cơ sở dữ liệu trong SQL Server:

Cách tạo cơ sở dữ liệu trong SQL Server Management Studio

Dưới đây là quy trình từng bước để tạo cơ sở dữ liệu trong SQL Server Management Studio:

Bước 1) Nhấp chuột phải vào 'Cơ sở dữ liệu' trong cửa sổ 'Trình khám phá đối tượng' rồi chọn 'Tạo cơ sở dữ liệu mới'.

Menu chuột phải với tùy chọn Tạo cơ sở dữ liệu mới được hiển thị bên dưới.

Nhấp chuột phải vào nút Cơ sở dữ liệu trong Trình khám phá đối tượng khi đã chọn Cơ sở dữ liệu mới.

Bước 2) Màn hình 'Tạo cơ sở dữ liệu mới' hiện ra. Nhập 'Tên cơ sở dữ liệu'. Cột 'Tên logic' sẽ được tự động điền với nội dung sau:

  • Giáo dục – Loại tệp: Dữ liệu hàng và Nhóm tệp: CHÍNH
  • Edu_log – Loại tệp: LOG và Nhóm tệp: 'Không áp dụng'

Hộp thoại Tạo Cơ sở dữ liệu mới hiển thị tên cơ sở dữ liệu và các tập tin logic của nó được thể hiện bên dưới.

Hộp thoại Cơ sở dữ liệu mới hiển thị tên cơ sở dữ liệu Edu và các tệp logic Edu và Edu_log.

Đây:

  • A) Edu (Loại tệp: Dữ liệu hàng, Nhóm tệp: PRIMARY) là tệp dữ liệu .mdf.
  • B) Edu_log (Loại tệp: LOG, Nhóm tệp: 'Không áp dụng') là tệp nhật ký .ldf.

Bước 3) (Tùy chọn) Để thiết lập phức tạp hơn, bạn có thể truy cập trang 'Tùy chọn' và 'Nhóm tệp'. Ở cấp độ người mới bắt đầu, việc tạo cơ sở dữ liệu từ tab Chung là đủ.

Các trang Tùy chọn và Nhóm tập tin được hiển thị bên dưới.

Các trang Tùy chọn cơ sở dữ liệu và Nhóm tệp mới dành cho cài đặt nâng cao

Bước 4) Nhấp vào 'Thêm' (nút OK) để tạo cơ sở dữ liệu.

Nút xác nhận tạo được đánh dấu nổi bật bên dưới.

Nhấn nút OK trong hộp thoại Tạo cơ sở dữ liệu mới để tạo cơ sở dữ liệu Edu.

Kết quả: Cơ sở dữ liệu 'Edu' đã được tạo. Bạn có thể mở rộng cơ sở dữ liệu 'Edu', nơi sẽ chứa các Bảng, Chế độ xem, v.v. Ban đầu, chúng sẽ trống cho đến khi bạn tạo các bảng, chế độ xem mới, v.v.

Trình khám phá đối tượng hiển thị cơ sở dữ liệu Edu mới được tạo với các thư mục trống.

Xem truy vấn nguồn: Bạn có thể xem truy vấn nguồn của cơ sở dữ liệu 'Edu' vừa được tạo. Thực hiện theo các bước sau: Nhấp chuột phải vào tên cơ sở dữ liệu > Tạo tập lệnh cơ sở dữ liệu > Tạo thành > Cửa sổ trình chỉnh sửa truy vấn mới.

Tạo cơ sở dữ liệu kịch bản dưới dạng menu ngữ cảnh của cửa sổ Trình chỉnh sửa truy vấn mới.

Cửa sổ truy vấn: Tập lệnh CREATE được tạo ra sẽ mở trong một cửa sổ truy vấn mới, như hình bên dưới.

Cửa sổ trình chỉnh sửa truy vấn hiển thị kịch bản CREATE DATABASE được tạo tự động cho Edu

Tạo tập lệnh:

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ạo cơ sở dữ liệu với T-SQL

Một phương pháp khác là viết một truy vấn T-SQL để tạo cơ sở dữ liệu và sau đó thực thi nó. Chúng ta hãy xem xét truy vấn T-SQL tạo cơ sở dữ liệu đơn giản nhất.

Cú pháp:

CREATE DATABASE <Database_name>

truy vấn:

CREATE DATABASE [Edu_TSQL_file]

Nhấp vào 'Thực thi' để chạy truy vấn, như hình bên dưới.

Nút "Thực thi" trên thanh công cụ SSMS được sử dụng để chạy truy vấn "TẠO CƠ SỞ DỮ LIỆU".

Kết quả: Bạn có thể thấy Edu_TSQL_file được tạo trong SQL Object Explorer.

Trình khám phá đối tượng liệt kê cơ sở dữ liệu Edu_TSQL_file được tạo bằng Transact-SQL.

Bây giờ chúng ta hãy xem cách tạo cơ sở dữ liệu với các tệp .mdf và .ldf được chỉ định rõ ràng. Ở đây, bạn có thể cung cấp vị trí tệp như một phần rõ ràng của truy vấn.

Cú pháp:

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

truy vấ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 )

Cơ sở dữ liệu được tạo với các tệp dữ liệu và nhật ký cụ thể sẽ xuất hiện trong Object Explorer, như hình bên dưới.

Trình khám phá đối tượng hiển thị cơ sở dữ liệu Edu_TSQL_file được tạo bằng các tệp .mdf và .ldf được chỉ định rõ ràng.

Cách thay đổi cơ sở dữ liệu

Tương tự như câu lệnh CREATE DATABASE, bạn cũng có thể chỉnh sửa cơ sở dữ liệu. Bạn có thể đổi tên cơ sở dữ liệu, thay đổi vị trí tệp hoặc cài đặt, và nhiều hơn nữa.

Các quy tắc cơ bản khi chỉnh sửa cơ sở dữ liệu:

  • Lệnh ALTER DATABASE phải được chạy ở chế độ tự động commit.
  • THAY ĐỔI CƠ SỞ DỮ LIỆU không được phép trong giao dịch rõ ràng hoặc ngầm định.

Có 2 cách để thay đổi cơ sở dữ liệu trong SQL Server:

  • Xưởng quản lý máy chủ SQL
  • Giao dịch-SQL

Cách thay đổi cơ sở dữ liệu trong SQL Server Management Studio

Dưới đây là các bước để thay đổi cơ sở dữ liệu trong SQL Server Management Studio. Chúng ta hãy thử thay đổi tên của cơ sở dữ liệu đã tạo sẵn có tên là 'Edu'. Cơ sở dữ liệu Edu đã tạo sẵn được hiển thị bên dưới trong Object Explorer.

Cơ sở dữ liệu Edu được tạo sẵn đã được chọn trong danh sách cơ sở dữ liệu của Trình khám phá đối tượng.

Bước 1) Đổi tên cơ sở dữ liệu. Nhấp chuột phải vào tên cơ sở dữ liệu và chọn 'Đổi tên'.

Nhấp chuột phải vào menu ngữ cảnh trên cơ sở dữ liệu Edu với tùy chọn Đổi tên.

Bước 2) Tên cơ sở dữ liệu hiện đã có thể chỉnh sửa. Nhập tên mới và nhấn Enter.

Trường tên cơ sở dữ liệu Edu có thể chỉnh sửa, sẵn sàng cho tên mới.

Kết quả: Cơ sở dữ liệu hiện đã được đổi tên từ 'Edu' thành “Edu_Alter”.

Trình khám phá đối tượng hiển thị cơ sở dữ liệu đã được đổi tên từ Edu thành Edu_Alter

Thay đổi cơ sở dữ liệu bằng Transact-SQL

Bây giờ chúng ta hãy chỉnh sửa cơ sở dữ liệu bằng T-SQL.

Cú pháp:

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

truy vấn:

ALTER DATABASE Edu_TSQL
MODIFY NAME = Edu_TSQL_Alter;

Chạy truy vấn trên bằng cách nhấp vào 'Thực thi'.

Kết quả: Cơ sở dữ liệu hiện đã được đổi tên từ 'Edu_TSQL' thành “Edu_TSQL_Alter” như hình bên dưới.

Trình khám phá đối tượng hiển thị cơ sở dữ liệu đã được đổi tên thành Edu_TSQL_Alter sau khi thực hiện lệnh ALTER DATABASE.

Cú pháp chung: Cú pháp đầy đủ của lệnh ALTER DATABASE hỗ trợ nhiều tùy chọn, bao gồm đổi tên, đối chiếu, tùy chọn tệp và mức độ tương thích.

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 }   
} ;

Lưu ý: Mức độ tương thích được hiển thị ở trên phản ánh các phiên bản cũ hơn. Các phiên bản hiện tại bổ sung thêm 150 (SQL Server 2019), 160 (SQL Server 2022) và 170 (SQL Server 2025), đồng thời vẫn hỗ trợ một số phiên bản cũ hơn.

Đổi tên tệp .mdf/.ldf

truy vấn:

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

Việc đổi tên tệp logic được phản ánh trong thuộc tính cơ sở dữ liệu, như hình bên dưới.

Thuộc tính cơ sở dữ liệu xác nhận tệp logic đã được đổi tên thành Edu_TSQL_newName.

Thay đổi vị trí tệp .mdf/.ldf

truy vấn:

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' );

Đường dẫn tệp đã cập nhật cho cơ sở dữ liệu được hiển thị bên dưới.

Trang tệp cơ sở dữ liệu hiển thị vị trí tệp nhật ký .ldf mới.

Xóa cơ sở dữ liệu

Có 2 cách để xóa (xóa bỏ) cơ sở dữ liệu trong SQL Server:

  • Xưởng quản lý máy chủ SQL
  • Giao dịch-SQL

Cách loại bỏ cơ sở dữ liệu trong SQL Server Management Studio

Sau đây là quy trình xóa cơ sở dữ liệu trong SQL Server Management Studio. Chúng ta hãy thử xóa cơ sở dữ liệu 'Edu_Alter' mà chúng ta đã tạo trước đó.

Bước 1) Nhấp chuột phải vào cơ sở dữ liệu, chọn 'Xóa', rồi nhấp 'OK'.

Hộp thoại Xóa đối tượng để thảping cơ sở dữ liệu Edu_Alter trong SSMS

Kết quả: 'Edu_Alter' đã bị xóa khỏi danh sách cơ sở dữ liệu 'Object Explorer'.

Danh sách cơ sở dữ liệu Object Explorer sau khi cơ sở dữ liệu Edu_Alter bị xóa.

Xóa cơ sở dữ liệu bằng Transact-SQL

Hãy thử xóa cơ sở dữ liệu 'Edu_TSQL_Alter' mà chúng ta đã tạo trước đó.

Cú pháp:

DROP DATABASE <Databse_name>

truy vấn:

USE master;  
GO  
DROP DATABASE Edu_TSQL_Alter;  
GO

Chạy truy vấn trên bằng cách nhấp vào 'Thực thi'.

Kết quả: 'Edu_TSQL_Alter' đã bị xóa khỏi danh sách cơ sở dữ liệu 'Object Explorer', như hình bên dưới.

Danh sách cơ sở dữ liệu Object Explorer sau khi cơ sở dữ liệu Edu_TSQL_Alter bị xóa bằng T-SQL.

Khôi phục cơ sở dữ liệu trong SQL Server

Bạn có thể tạo cơ sở dữ liệu bằng cách khôi phục cơ sở dữ liệu mà bạn đã sao lưu trước đó. Việc này có thể được thực hiện bằng cách chạy lệnh RESTORE DATABASE, có cú pháp như sau:

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

Truy vấn cần được thực thi trong cửa sổ truy vấn, giống như các lệnh trước đó. Ví dụ:

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

Bạn cũng có thể sử dụng giao diện điều hướng GUI: Nhấp chuột phải vào Cơ sở dữ liệu > Khôi phục cơ sở dữ liệu > Thiết bị > nhập tệp sao lưu > nhấp OK.

Câu Hỏi Thường Gặp

Việc tạo cơ sở dữ liệu yêu cầu quyền CREATE DATABASE, CREATE ANY DATABASE hoặc ALTER ANY DATABASE trong cơ sở dữ liệu chính. Người tạo phải là thành viên của vai trò máy chủ sysadmin hoặc dbcreator, hoặc được cấp quyền phù hợp. đăng nhậpcó thể chạy câu lệnh.

Một máy chủ SQL Server duy nhất có thể chứa tối đa 32,767 cơ sở dữ liệu. Con số đó là giới hạn kiến ​​trúc cứng; trên thực tế, bộ nhớ, dung lượng lưu trữ và chi phí quản trị khiến số lượng nhỏ hơn nhiều trở nên khả thi để đạt hiệu suất tốt.

Không. Các cơ sở dữ liệu hệ thống như master, model, msdb, tempdb và resource là cần thiết cho hệ thống và không thể bị xóa. Chỉ các cơ sở dữ liệu người dùng do bạn tạo mới có thể bị xóa bằng lệnh DROP DATABASE hoặc tùy chọn Delete.

SIZE thiết lập kích thước tệp ban đầu, MAXSIZE thiết lập kích thước tối đa mà tệp có thể đạt được, và FILEGROWTH thiết lập dung lượng được thêm vào mỗi khi tệp mở rộng. Chúng áp dụng cho cả tệp dữ liệu và tệp nhật ký.

COMPATIBILITY_LEVEL kiểm soát hành vi xử lý truy vấn mà cơ sở dữ liệu sử dụng. Các giá trị hiện tại bao gồm 140 (SQL Server 2017), 150 (2019), 160 (2022) và 170 (2025). Lệnh ALTER DATABASE SET COMPATIBILITY_LEVEL thay đổi giá trị này mà không cần di chuyển cơ sở dữ liệu sang máy chủ mới.

Lệnh DROP DATABASE xóa vĩnh viễn cơ sở dữ liệu và các tệp .mdf và .ldf của nó. (Khử cơ sở dữ liệu)LINE Chỉ tạm dừng truy cập trong khi vẫn giữ nguyên các tệp trên ổ đĩa, vì vậy bạn có thể khôi phục lại sau này mà không cần phục hồi dữ liệu.

Vâng. Trợ lý GitHub Bạn có thể soạn thảo các câu lệnh CREATE DATABASE, ALTER DATABASE và DROP DATABASE từ các lời nhắc bằng ngôn ngữ tự nhiên bên trong SSMS hoặc trình soạn thảo của mình. Luôn luôn xem xét kỹ đường dẫn tệp, kích thước và các tùy chọn được tạo ra trước khi chạy chúng trên máy chủ thực.

Trí tuệ nhân tạo (AI) và máy học hỗ trợ việc cấp phát tài nguyên bằng cách đề xuất kích thước tệp và cài đặt tăng trưởng, dự báo dung lượng, phát hiện sự thay đổi cấu hình và gắn cờ các thao tác DROP hoặc ALTER rủi ro. Chúng hỗ trợ quản trị viên cơ sở dữ liệu chứ không thay thế việc xem xét cẩn thận.

Tóm tắt bài viết này với: