Bài này mình lấy từ timoday.edu.vn và có chỉnh sửa lại 1 chút để phù hợp với thời điểm mình viết bài.
Giới Thiệu
SQL Server là một hệ quản trị cơ sở dữ liệu quan hệ (Relational Database Management System – RDBMS) sử dụng câu lệnh SQL (Transact-SQL) để trao đổi dữ liệu giữa máy Client và máy chủ cài SQL Server. Một RDBMS bao gồm databases, database engine và các ứng dụng dùng để quản lý dữ liệu và các bộ phận khác nhau.
SQL Server được tối ưu để có thể chạy trên môi trường cơ sở dữ liệu rất lớn (Very Large Database Environment) lên đến Tera-Byte và có thể phục vụ cùng lúc cho hàng ngàn user. SQL Server có thể kết hợp rất tốt với các server khác như Microsoft Internet Information Server (IIS), E-Commerce Server, Proxy Server….
Một số phiên bản SQL Server
- Enterprise : bản này là bản đầy đủ nhất của SQL Server, phải trả phí. Bản này bao gồm phần lõi bộ máy cơ sở dữ liệu và các dịch vụ đi kèm cùng với các công cụ cho phép tạo và quản lý phân cụm SQL Server. Nó có thể quản lý các CSLD lớn tới 524 Petabytes và đánh địa chỉ 12 Terabytes bộ nhớ và hỗ trợ 640 core CPU.
- Standard: Bản này thường được dùng cho các công ty vừa và nhỏ vì giá thành rẻ hơn nhiều so với Enterprise Edition, nhưng lại bị giới hạn một số chức năng cao cấp. Bản này chạy tốt trên hệ thống lên đến 4 CPU và 2 GB RAM.
- Developer: Bản này có đầy đủ các tính năng của bản Enterprise Edition nhưng có một số hạn chế như giới hạn số lượng người kết nối vào Server cùng một lúc…. Như tên gọi, đây là phiên bản dùng cho các nhà phát triển và kiểm tra ứng dụng.
- Workgroup: bản này có phần lõi cơ sở dữ liệu nhưng không có các dịch vụ đi kèm. SQL Server 2012 không có phiên bản này.
- Express: Được tích hợp với Microsoft Visual Studio, nên dễ dàng để phát triển các ứng dụng dữ liệu, an toàn trong lưu trữ, và nhanh chóng triển khai. SQL Server Express là phiên bản miễn phí, không giới hạn về số cơ sở dữ liệu hoặc người sử dụng, nhưng nó chỉ dùng cho 1 core CPU, 1 GB bộ nhớ và 10 GB file cơ sở dữ liệu. SQL Server Express dễ sử dụng khi quản trị cơ sở dữ liệu đơn giản, là lựa chọn tốt cho máy chủ có cấu hình thấp, những nhà phát triển ứng dụng không chuyên.
- Azure: Microsoft Azure SQL Database là phiên bản trên hạ tầng đám mây, là dịch vụ được cung cấp tính phí bởi Microsoft Azure.
Lịch sử ra đời SQL Server và các phiên bản
Phiên bản đầu tiên của Microsoft SQL Server ra đời đầu tiên vào năm 1989 cho các hệ điều hành chạy 16 bit với SQL Server phiên bản 1.0 và tiếp tục phát triển cho tới ngày nay.
SQL Server của Microsoft được thị trường chấp nhận rộng rãi kể từ bản 6.5. Sau đó Microsoft đã cải tiến và hầu như viết lại một engine mới cho SQL Server 7.0. Cho nên có thể nói từ bản 6.5 lên bản 7.0 là một bước nhảy vọt. Có một số đặc tính của SQL Server 7.0 không tương thích với bản 6.5. Trong khi đó từ bản 7.0 lên version 8.0 (SQL Server 2000) thì những cải tiến chủ yếu là mở rộng các tính năng về web và làm cho SQL Server 2000 đáng tin cậy hơn.
Một điểm đặc biệt đáng lưu ý ở phiên bản 2000 là Multiple-Instance. Tức là bạn có thể cài dặt phiên bản 2000 chung với các phiên bản trước mà không cần phải gỡ chúng. Nghĩa là bạn có thể chạy song song version 6.5 hoặc 7.0 với phiên bản 2000 trên cùng một máy (điều này không thể xảy ra với các phiên bản trước đây). Khi đó phiên bản cũ trên máy bạn là Default Instance còn phiên bản 2000 mới vừa cài sẽ là Named Instance.
Từ tháng 05 năm 2020, các phiên bản sau được Microsoft hỗ trợ:
- SQL Server 2012
- SQL Server 2014
- SQL Server 2016
- SQL Server 2019
Từ phiên bản SQL Server 2016 chỉ hỗ trợ cho các bộ vi xử lý 64 bit.
Các thành cơ bản trong SQL Server
SQL Server được cấu tạo bởi nhiều thành phần như Database Engine, Reporting Services, Notification Services, Integration Services, Full Text Search Service…. Các thành phần này khi phối hợp với nhau tạo thành một giải pháp hoàn chỉnh giúp cho việc lưu trữ và phân tích dữ liệu một cách dễ dàng.
Database Engine (phần lõi của SQL Server)
Ðây là một engine có khả năng chứa dữ liệu ở các quy mô khác nhau dưới dạng bảng và hỗ trợ tất cả các kiểu kết nối (data connection) thông dụng của Microsoft như ActiveX Data Objects (ADO), OLE DB, and Open Database Connectivity (ODBC).
Ngoài ra nó còn có khả năng tự điều chỉnh (tune up) ví dụ như sử dụng thêm các tài nguyên (resource) của máy khi cần và trả lại tài nguyên cho hệ điều hành khi một user log off.
Replication (Cơ chế tạo bản sao)
Giả sử bạn có một database dùng để chứa dữ liệu được các ứng dụng thường xuyên cập nhật. Một ngày đẹp trời bạn muốn có một cái database giống y hệt như thế trên một server khác để chạy báo cáo (report server) (cách làm này thường dùng để tránh ảnh hưởng đến performance của server chính). Vấn đề là report server của bạn cũng cần phải được cập nhật thường xuyên để đảm bảo tính chính xác của các báo cáo. Bạn không thể dùng cơ chế back up and restore trong trường hợp này. Thế thì bạn phải làm sao? Lúc đó cơ chế replication của SQL Server sẽ được sử dụng để bảo đảm cho dữ liệu ở 2 database được đồng bộ (synchronized).
Integration Services (DTS) – di chuyển, sao chép và chuyển đổi dữ liệu.
Nếu bạn làm việc trong một công ty lớn trong đó data được chứa trong nhiều nơi khác nhau và ở các dạng khác nhau cụ thể như chứa trong Oracle, DB2 (của IBM), SQL Server, Microsoft Access….Bạn chắc chắn sẽ có nhu cầu di chuyển data giữa các server này (migrate hay transfer) và không chỉ di chuyển bạn còn muốn định dạng (format) nó trước khi lưu vào database khác, khi đó bạn sẽ thấy DTS giúp bạn giải quyết công việc trên dễ dàng.
Analysis Services (phân tích dữ liệu)
Dữ liệu chứa trong database sẽ chẳng có ý nghĩa gì nhiều nếu như không thể lấy được những thông tin bổ ích từ đó. Do đó Microsoft cung cấp cho một công cụ rất mạnh giúp cho việc phân tích dữ liệu trở nên dễ dàng và hiệu quả bằng cách dùng khái niệm hình khối nhiều chiều (multi-dimension cubes) và kỹ thuật “khai phá dữ liệu” (data mining).
Notification Services
Dịch vụ thông báo Notification Services là nền tảng cho sự phát triển và triển khai các ứng dụng tạo và gửi thông báo. Notification Services có thể gửi thông báo theo thời gian được cài đặt đến hàng ngàn người đăng ký sử dụng nhiều loại thiết bị khác nhau.
Reporting Services
Reporting Services bao gồm các thành phần server và client cho việc tạo, quản lý và triển khai các báo cáo. Reporting Services cũng là nền tảng cho việc phát triển và xây dựng các ứng dụng báo cáo.
Full Text Search Service
Dịch vụ SQL Server Full Text Search là một dịch vụ đặc biệt cho việc đánh chỉ mục và truy vấn cho dữ liệu văn bản không cấu trúc được lưu trữ trong các CSDL SQL Server. Đánh chỉ mục với Full Text Search có thể được tạo trên bất kỳ cột nào dựa trên dữ liệu văn bản. Nó sẽ rất hiệu quả cho việc tìm các sử dụng toán tử LIKE trong SQL với trường hợp tìm văn bản.
Service Broker
Được sử dụng bên trong mỗi Instance, là môi trường lập trình cho việc các ứng dụng nhảy qua các Instance. Service Broker giao tiếp qua giao thức TCP/IP và cho phép các component khác nhau có thể được đồng bộ cùng nhau theo hướng trao đổi các message. Service Broker chạy như một phần của bộ máy cơ sở dữ liệu, cung cấp một nền tảng truyền message tin cậy và theo hàng đợi cho các ứng dụng SQL Server.