Computer >> Hướng Dẫn Máy Tính >  >> Hệ Thống >> Máy Chủ Windows

Hướng dẫn cài đặt MS SQL Server 2019: Cài đặt cơ bản và khuyến nghị

Bài viết mô tả từng bước cài đặt Microsoft SQL Server 2019 và các tùy chọn, thành phần, khuyến nghị và best practice liên quan.

MS SQL Server là hệ thống quản lý cơ sở dữ liệu quan hệ hàng đầu và đối thủ chính của Oracle Database trong phân khúc doanh nghiệp.

Nội dung chính

  • Các phiên bản MS SQL Server 2019
  • Cấp phép SQL Server
  • Bắt đầu cài đặt SQL Server
  • Cài đặt các thành phần SQL Server 2019
  • Tên instance SQL Server
  • Cấu hình cài đặt dịch vụ SQL Server
  • Cấu hình Database Engine Options trên SQL Server

Các phiên bản MS SQL Server 2019

Có 5 phiên bản MSSQL 2019:

  • Express — miễn phí. Giới hạn tính năng, quan trọng nhất: kích thước database tối đa 10 GB. Phù hợp dự án nhỏ, bài tập sinh viên, học SQL/T-SQL;
  • Standard — bản thương mại đầy đủ tính năng. Tuy nhiên cũng có giới hạn: RAM tối đa SQL Server dùng là 128 GB. Không có AlwaysOn availability groups và một số thành phần khác. Standard edition áp dụng cho tổ chức nhỏ;
  • Enterprise — bao gồm tất cả tính năng và thành phần không giới hạn. Enterprise edition thường dùng bởi tập đoàn lớn hoặc công ty cần tính năng nó cung cấp;
  • Developer — giống Enterprise, không giới hạn và miễn phí, nhưng chỉ dùng để develop và test app;
  • Web — tương tự Standard, nhưng giới hạn hơn hơn và chi phí cấp phép thấp hơn.

Cấp phép SQL Server

MS SQL Server dùng 2 mô hình cấp phép:

  • PER CORE — MSSQL cấp phép theo số lõi vật lý trên host (server);
  • SERVER + CAL — mua license cho server và mỗi user làm việc với nó.

Enterprise edition chỉ cấp phép theo mô hình PER CORE.

Cũng cấp phép được container, máy ảo và Big Data Clusters trong MSSQL Server 2019. Xem bài chi tiết về cấp phép SQL Server.

Bắt đầu cài đặt SQL Server

Bài này cài MS SQL Server 2019 Enterprise Edition trên Windows Server 2019.

Lưu ý. SQL Server 2019 hỗ trợ đầy đủ Linux, Docker và Kubernetes.

  • Tải và mount hình ảnh cài đặt SQL Server 2019. Chạy setup.exe.
  • Vì cài standalone instance, chọn New SQL Server stand-alone installation tab Installation.

Trong wizard cài đặt SQL Server có thể làm nhiều việc khác: upgrade instance trước, sửa lỗi, v.v.

Cài đặt cập nhật SQL Server

Bước này cho phép bật tìm cập nhật qua Windows Update. Tùy bạn quyết định. Nếu không có kế hoạch cập nhật rõ ràng cho server, tốt hơn bật tùy chọn này.

Có thể gặp lỗi ở bước này:

Error 0x80244022: Exception from HRESULT: 0x80244022
Liên quan đến vấn đề Windows Update. Cách khắc phục: https://woshub.com/windows-update-error-0x80244022-and-wsuspool-memory-limit/

Nhấn Next. Bước Install Setup Files tự động chuẩn bị file SQL Server cho cài đặt. Install Rules cũng tự động nếu wizard không tìm thấy vấn đề cần giải quyết trước cài MSSQL (như nhắc restart máy hoặc không tương thích Windows edition với phiên bản SQL Server).

Loại cài đặt SQL Server

Chọn cài instance mới SQL Server hoặc thêm tính năng vào instance đã cài. Chọn "Perform a new installation of SQL Server 2019".

Nhập product key SQL. Nếu chưa có, chọn bản miễn phí (như Developer), nhớ rằng Developer edition chỉ develop/test software (không dùng production).

Bước License Terms, chấp nhận license agreement.

Cài đặt các thành phần SQL Server 2019

Bước này nhắc cài các thành phần SQL Server khác nhau. Xem chúng là gì và cài cái nào:

  • Database Engine Services — engine cơ bản SQL Server, bắt buộc cài.
  • SQL Server Replication — dịch vụ replication. Dùng khá nhiều, nếu không chắc cần thì tốt hơn tích để cài.
  • Machine Learning Services and Language Extensions — service chạy code R/Python/Java trong ngữ cảnh SQL Server. Cần nếu dùng Machine Learning.
  • Full-Text and Semantic Extractions for Search — cần nếu dùng full-text search hoặc semantic search trong tài liệu (ví dụ .docx). Semantic search cũng cần FILESTREAM.
  • Data Quality Services — service sửa chữa/xác thực dữ liệu. Nếu không chắc cần DQS, tốt hơn không cài.
  • PolyBase Query Service For External Data — truy cập dữ liệu ngoài, ví dụ trên SQL Server khác hoặc Oracle Database. Java connector cho HDFS data source liên quan PolyBase, nếu dùng HDFS thì cài.
  • Analysis Services — còn gọi SSAS. Công nghệ dùng cho business reporting (BI) và OLAP ở công ty lớn.

Chuyển sang danh sách Shared Features (chức năng áp dụng cho toàn server, không phải instance cụ thể):

  1. Machine Learning Server (Standalone) — giống Machine Learning Services nhưng cài không cần SQL Server engine.
  2. Data Quality Client — bản DQS độc lập.
  3. Client Tools Connectivity — bao gồm ODBC, OLE DB và thư viện khác. Khuyên cài.
  4. Integration Services — dịch vụ tích hợp dữ liệu, còn gọi SSIS. Dùng trong ETL (Extract, Transform, Load). SSIS cần nếu import dữ liệu tự động và transform khi import. Scale Out Master/Worker dùng scale SSIS. Nếu không chắc cần, không tích.
  5. Client Tools Backwards Compatibility — DMVs và system procedure legacy. Khuyên cài.
  6. Client Tools SDK — developer toolkit. Nếu không chắc cần, không cài SDK.
  7. Distributed Replay Controller/Client — nhân bản và cải tiến SQL Server Profiler. Distributed Replay dịch vụ mô phỏng load cho test hiệu năng.
  8. SQL Client Connectivity SDK — ODBC/OLE DB SDK cho developer.
  9. Master Data Services — thành phần Microsoft Power BI. Dùng phân tích, xác thực, tích hợp hoặc sửa dữ liệu.

Một số tính năng (như Java connector cho HDFS) có thể không có trong phiên bản SQL Server trước.

Cùng bước này, chỉ định thư mục file SQL Server. Trừ khi có lý do mạnh để đổi, để mặc định (C:\Program Files\Microsoft SQL Server\).

Sau khi chọn tính năng MSSQL cần, wizard kiểm tra tương thích hệ thống, nếu không vấn đề thì tự động hoàn tất bước này.

Tên instance SQL Server

Để tùy chọn Default Instance. Tên instance sẽ là MSSQLSERVER. Nếu chọn Named Instance, cấu hình tên SQL Server. Ví dụ đặt tên instance DEV. Khuyên nhập Instance ID trùng tên để tránh nhầm lẫn.

Danh sách Installed instances hiển thị instance MSSQL đã cài trên server.

Cấu hình cài đặt dịch vụ SQL Server

Tab Service Accounts, chỉ định account chạy dịch vụ SQL Server trên host. Best practice dùng MSA (Managed Service Accounts) hoặc gMSA (Group Managed Service Accounts) vì an toàn nhất. Ví dụ dùng domain user account thường.

Set Startup Type = Automatic cho SQL Server Agent hoặc phải chạy agent thủ công.

Cũng set IFI (Instant File Initialization) khi cài server từ SQL Server 2016. Gọi là "Grant Perform Volume Maintenance Task privilege to SQL Server Database Engine" trong wizard. Nếu bật, dữ liệu cũ không ghi đè bằng 0 khi:

  • Tạo database;
  • Thêm dữ liệu vào file data hoặc log;
  • Mở rộng kích thước file hiện có (bao gồm auto-growth);
  • Khôi phục database hoặc file group.

Tăng tốc khởi tạo file, nhưng ảnh hưởng bảo mật vì dữ liệu cũ không zeroed (thông tin cũ trong file có thể phần nào truy cập được). Khuyên bật nếu rủi ro rò rỉ dữ liệu thấp.

Bước tiếp theo chọn Collation.

Collation là encoding SQL Server. Tham số này set encoding trang, quy tắc sắp xếp, encoding char/varchar và cài đặt ngôn ngữ khác.

Khi cài server, chọn Collation cho toàn bộ SQL Server. Sau cài đặt có thể sửa nhưng khó, nên chọn Collation phù hợp ngay từ đầu.

Nếu chỉ dữ liệu tiếng Anh, chọn SQL_Latin1_General_CP1_CI_AS. Nếu dùng SQL Server cho production, xem section Collation trong documentation, vì đây là setting quan trọng dù có thể set cho từng database riêng.

Cấu hình Database Engine Options trên SQL Server

Bước Database Engine Configuration, 6 tab, xem lần lượt:

Tab Server Configuration, chọn Authentication Mode và chỉ định tài khoản admin SQL Server.

2 chế độ: Windows authentication mode và Mixed mode.

  • Chỉ user domain hoặc máy chạy Windows mới authenticate được bằng Windows authentication.
  • Chế độ Mixed mode cũng authenticate bằng tài khoản SQL Server.

Microsoft khuyên dùng Windows authentication như phương pháp an toàn nhất, nhưng thực tế bạn thường login server từ app khác. Ví dụ app viết Java. Lúc đó phải dùng SQL Server authentication.

Nếu chắc user chỉ login từ máy Windows hoặc app hỗ trợ Windows authentication, chọn Windows authentication mode. Ví dụ chọn Mixed mode. Chế độ này phải chỉ định mật khẩu user sa và chọn tài khoản Windows có quyền admin.

Tab Data Directories, chọn thư mục SQL Server lưu file database và transaction log.

Tốt hơn dùng ổ RAID riêng lưu data. Hệ thống disk subsystem cực quan trọng cho hiệu năng SQL Server, dùng biến thể tốt nhất lưu trữ dữ liệu, ví dụ NAS hoặc local RAID ổ nhanh.

Giữ tất cả thư mục (system database, user database log, backup) ở storage khác nhau là best practice. Như vậy đạt hiệu năng SQL Server tối đa ở cấp độ lưu trữ dữ liệu. Ví dụ chỉ định ổ RAID 1 riêng cho tất cả thư mục.

Tab TempDB, cấu hình tempdb. Cấu hình đúng quan trọng cho hiệu năng server, vì database này tham gia hầu hết thao tác dữ liệu.

  • Number of files — số file data cho tempdb. Chỉ định số file tùy số CPU core. Best practice: số file = số CPU core / 2. Nghĩa là 16 file cho server 32-core. Không khuyên dưới 8 file bất kể số core. Tránh vấn đề: https://support.microsoft.com/en-us/kb/2154845.
  • Initial size — kích thước ban đầu file data tempdb. Sau mỗi restart server, size tempdb reset về initial size. Khuyên chỉ định size file data tùy planned load. Nếu không ước lượng được, để 8 MB. Nếu dành array/ổ riêng cho tembdb file, tốt hơn chỉ định size file chiếm hết ổ để tránh file growth liên tục.
  • Autogrowth — bước tăng size file tempdb. Set tùy initial size. Để 64 MB nếu không ước lượng load. Nếu IFI (Instant File Initialization) bật, thời gian chờ file growth block ít hơn. Không khuyên set giá trị incremental lớn, gây delay đáng kể khi tăng size file.
  • Data Directories — thư mục chứa file tempdb. Nếu chỉ định nhiều thư mục, file đặt theo thuật toán Round-robin (chu kỳ). Tức 4 thư mục → file data phân bố đều. Best practice: thêm array disk khác nhau cho file data.
  • TempDb Log file: Initial size/Autogrowth — cấu hình initial size và bước tăng size file log tempdb. Quy tắc giống file data tempdb.
  • Log Directory — thư mục chứa file log tempDB. Chỉ có 1 log file bất kể số file data, chỉ 1 thư mục. Nếu có thể, dành array riêng cho log file.

Tab MaxDOP.

MaxDOP setting SQL Server chịu trách nhiệm chạy parallel query và độ song song. Để SQL Server dùng tất cả CPU core xử lý parallel plan, set 0 làm giá trị MaxDOP. Muốn tắt parallel query, set 1. Để đạt hiệu năng tối đa, cấu hình MaxDOP theo bảng quy tắc (https://go.microsoft.com/fwlink/?linkid=2084761):

Cấu hình serverSố processorHướng dẫn
Server single NUMA node≤ 8 logical processorsSet MAXDOP ≤ # logical processors
Server single NUMA node> 8 logical processorsSet MAXDOP = 8
Server multiple NUMA nodes≤ 16 logical processors/NDUMA nodeSet MAXDOP ≤ # logical processors/NDUMA node
Server multiple NUMA nodes> 16 logical processors/NDUMA nodeSet MAXDOP = 1/2 logical processors/NDUMA node, MAX 16

Ví dụ set 0 cho hiệu năng tối đa chạy parallel query, nhưng cũng có thể gây delay vì process khác phải chờ process hiện tại xong, vì tất cả core bận thực thi query hiện tại. Vẫn khuyên tuân thủ bảng quy tắc cho server workload cao. Xem documentation link trên.

Tab Memory, chỉ định RAM min/max SQL Server dùng. Vì khó ước lượng size phù hợp, khuyên dành 80-85% RAM toàn server cho SQL Server. Để biết size RAM thực dùng, monitor RAM usage 24/7 dùng DMVs (Dynamic Management View). Chỉ ước lượng thực tế RAM usage nếu có dữ liệu này. Ví dụ để mặc định (min 0 max 2147483647 MB).

Tab FILESTREAM, bật tính năng FILESTREAM. Cho phép lưu file binary trên file system và truy cập qua SQL. Nếu không chắc làm việc binary data ở cấp SQL, để FILESTREAM disabled.

Bước Feature Configuration Rules tự động. Đọc thông tin Ready to Install và nhấn Install.

Hoàn tất cài đặt cơ bản SQL Server 2019 Enterprise. Bài tiếp theo xem các cách chính phân tích hiệu năng và vấn đề trong SQL Server.

Lưu ý. Một số tab/cài đặt có thể thiếu trong phiên bản trước (SQL Server 2014, 2016).