Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

4 Hoạt động giám sát cơ sở dữ liệu chính mà mọi DBA nên biết

DBA đóng một vai trò quan trọng trong một tổ chức. Là người giám sát dữ liệu, họ chịu trách nhiệm quản lý tất cả các khía cạnh của hiệu suất cơ sở dữ liệu, bao gồm tính sẵn sàng cao, thời gian xử lý truy vấn nhanh, giảm thiểu rủi ro và khắc phục thảm họa. Ngoài ra, các DBA chịu trách nhiệm cho mục tiêu kinh doanh là duy trì cơ sở dữ liệu của tổ chức nhằm hướng tới ROI và tiết kiệm chi phí.

Với tất cả các loại mũ khác nhau mà họ đội, các DBA phải làm việc hiệu quả và quản lý thời gian hiệu quả là người bạn tốt nhất của họ. Cách tốt nhất để đạt được hiệu quả là trước tiên hãy tập trung vào các hoạt động chính sẽ giúp duy trì hoạt động của cơ sở dữ liệu một cách tối ưu.

Dưới đây là bốn hoạt động giám sát cơ sở dữ liệu nên đứng đầu danh sách “phải biết” của mọi DBA.

Cách (và tại sao) điều chỉnh cài đặt mặc định trong SQL Server

Nhiều DBA chạy SQL Server nguyên bản, ngay lập tức. Tuy nhiên, cấu hình mặc định không phải lúc nào cũng là lựa chọn tốt nhất từ ​​quan điểm bảo mật hoặc hiệu suất. Cơ sở dữ liệu của mọi tổ chức đều khác nhau và đáp ứng các nhu cầu kinh doanh khác nhau, do đó, chỉ có ý nghĩa là không phải mọi cơ sở dữ liệu đều được định cấu hình theo cách giống nhau.

Tùy thuộc vào nhu cầu và sở thích cơ sở dữ liệu cụ thể của bạn, có một số cài đặt SQL Server mặc định mà bạn có thể muốn thay đổi:

  • Hệ số lấp đầy:Nếu bạn tạo chỉ mục mà không chỉ định giá trị hệ số lấp đầy, giá trị mặc định là 0. Điều này có nghĩa là trang sẽ lấp đầy đến dung lượng và bất kỳ thao tác chèn, xóa hoặc cập nhật nào có thể gây chia tách và phân mảnh trang quá mức.

    Không có giá trị hệ số lấp đầy “đúng” trên toàn cầu, nhưng 80-90 thường là một lựa chọn an toàn. Phạm vi giá trị này cho phép lấp đầy 80-90 phần trăm trang, để trống 10-20 phần trăm.
  • Ngưỡng chi phí cho song song:Ngưỡng chi phí cho song song là giá trị mà tại đó công cụ SQL Server bắt đầu chạy các kế hoạch song song cho các truy vấn của bạn. Giá trị mặc định là năm giây, nhưng giá trị này khá thấp và có thể tạo ra nhiều truy vấn phức tạp không cần thiết, điều này sẽ ảnh hưởng tiêu cực đến hiệu suất.

    Bắt đầu với cài đặt trong 20 giây và điều chỉnh nếu cần dựa trên thời gian chờ của CXPACKET và mức sử dụng CPU.
  • Tự động duyệt tệp cơ sở dữ liệu:Tự động phát triển là một quá trình xảy ra khi công cụ SQL Server tăng kích thước của tệp cơ sở dữ liệu khi nó hết dung lượng. Mức độ phát triển của tệp được đặt theo mặc định là 1 MB đối với tệp dữ liệu và 10 phần trăm đối với tệp nhật ký giao dịch.

    Mỗi cơ sở dữ liệu sẽ phát triển với tốc độ khác nhau, vì vậy hãy ước tính mức độ bạn nghĩ cơ sở dữ liệu sẽ phát triển và đặt giá trị cho phù hợp.
  • Mô hình khôi phục cơ sở dữ liệu:Mô hình khôi phục mặc định là ĐẦY ĐỦ, nhưng điều đó không hiệu quả đối với tất cả các cơ sở dữ liệu.

    Thay đổi cài đặt thành ĐƠN GIẢN cho các cơ sở dữ liệu không mang tính chất quan trọng và chỉ để cài đặt này ở mức ĐẦY ĐỦ đối với các cơ sở dữ liệu sản xuất có rủi ro cao.
  • Bộ nhớ máy chủ tối đa:Giá trị mặc định là 2 TB, có nghĩa là SQL Server phân bổ tất cả bộ nhớ từ hệ điều hành. Điều này không để lại bất kỳ bộ nhớ nào cho Hệ điều hành sử dụng.

    Điều chỉnh cài đặt để tối đa hóa dung lượng bộ nhớ có sẵn cho quy trình SQL Server, nhưng để lại một chút cho Hệ điều hành sử dụng nếu cần.
  • Mức độ song song tối đa (MAXDOP):MAXDOP kiểm soát số lượng bộ xử lý được sử dụng để thực hiện truy vấn trong một kế hoạch song song. Mặc định là 0, có nghĩa là SQL Server được xác định có bao nhiêu bộ xử lý mà nó có thể sử dụng. Nếu bạn để giá trị ngưỡng cho song song ở giá trị mặc định là 5, bạn có thể sử dụng tất cả các CPU cho mọi truy vấn.

    Cài đặt MAXDOP lý tưởng sẽ khác nhau tùy theo hệ thống cụ thể của bạn, nhưng Microsoft đưa ra một số đề xuất tại đây.
  • Nén sao lưu:Cài đặt mặc định cho tính năng này là TẮT. Tuy nhiên, nén sao lưu tăng tốc hoạt động sao lưu cơ sở dữ liệu và tạo kích thước tệp sao lưu nhỏ hơn, vì vậy bạn có thể muốn BẬT nó.

Một mẹo cuối cùng để điều chỉnh cài đặt SQL Server từ các giá trị mặc định:Luôn kiểm tra hệ thống kỹ lưỡng sau khi thay đổi bất kỳ cài đặt nào để đảm bảo không có sự cố nào vô tình được đưa vào.

Cách loại bỏ tắc nghẽn máy chủ SQL

SQL Server tắc nghẽn là một nguyên nhân phổ biến của các vấn đề về hiệu suất, bao gồm SQL Server làm hỏng bộ xử lý, thời gian thực thi truy vấn lâu, I ​​/ O quá mức và hoạt động quá mức trên đĩa.

Có nhiều lý do không phải do tắc nghẽn mà cơ sở dữ liệu của bạn có thể gặp phải các vấn đề về hiệu suất này, nhưng nếu vấn đề xuất phát từ tắc nghẽn của SQL Server, thì có ba khu vực chính có khả năng bị ảnh hưởng:bộ nhớ, I / O và CPU.

Tắc nghẽn bộ nhớ do không đủ tài nguyên bộ nhớ hoặc các hoạt động của Máy chủ SQL sử dụng quá nhiều bộ nhớ khả dụng. Để ý thời gian thực thi truy vấn lâu hơn, I / O quá mức, thông báo hết bộ nhớ trong nhật ký ứng dụng và sự cố hệ thống thường xuyên.

Tắc nghẽn I / O xảy ra khi không có đủ bộ nhớ để hỗ trợ các hoạt động cơ sở dữ liệu thông thường như tempDB. Chú ý đến thời gian phản hồi lâu, ứng dụng chạy chậm và tác vụ thường xuyên hết thời gian chờ.

Tắc nghẽn CPU là do không đủ tài nguyên phần cứng. Chú ý theo dõi cơ sở dữ liệu của bạn để biết dữ liệu nhật ký cho thấy Máy chủ SQL đang sử dụng CPU quá mức.

Cách ngăn chặn sự phát triển của tempDB

TempDB là một không gian làm việc tạm thời trong các phiên bản SQL Server được sử dụng để tạo và lưu giữ các đối tượng trung gian và tạm thời. TempDB là một trong những tài nguyên tích cực nhất trong môi trường SQL Server, vì vậy, điều quan trọng là phải theo dõi và kiểm soát sự tăng trưởng quá mức của tempDB.

TempDB được sử dụng thường xuyên trong một phiên bản vì nó được sử dụng để lưu trữ các đối tượng người dùng, các đối tượng bên trong và các cửa hàng phiên bản. Sự phát triển quá mức của tempDB có thể gây ra các vấn đề về hiệu suất, vì vậy điều quan trọng là phải theo dõi các truy vấn lớn, bảng tạm thời và các biến bảng đang sử dụng một lượng lớn dung lượng đĩa tempDB.

Để tối ưu hóa kích thước và tăng trưởng tempDB, Microsoft đề xuất các phương pháp hay nhất sau:

  • Đặt mô hình khôi phục của tempDB thành SIMPLE
  • Cho phép các tệp tạm thời tự động phát triển theo yêu cầu
  • Đặt mức tăng tốc độ tăng tệp thành kích thước hợp lý để tránh các tệp cơ sở dữ liệu tempDB tăng quá giá trị quá nhỏ
  • Phân bổ trước dung lượng cho tất cả các tệp tempDB bằng cách đặt kích thước tệp thành một giá trị đủ lớn để đáp ứng khối lượng công việc điển hình trong môi trường
  • Tạo cho mỗi tệp dữ liệu có cùng kích thước

Bạn có thể điều chỉnh kích thước và thông số tăng trưởng của tệp dữ liệu tempDB bằng cách sử dụng SQL Server management studio.

Cách tính Tổng chi phí sở hữu

Mặc dù bạn có thể không dành nhiều thời gian để suy nghĩ về ngân sách của công ty mình, nhưng bạn nên tin rằng giám đốc tài chính làm được điều đó. Khi cần đến công nghệ giám sát hiệu suất mới, thật thông minh là bạn nên chuẩn bị sẵn dữ liệu cứng để sao lưu yêu cầu của mình.

Một trong những phần dữ liệu có ảnh hưởng nhất mà bạn có thể trình bày là tổng chi phí sở hữu tiềm năng (TCO) của công nghệ mới so với giải pháp hiện tại của bạn. Ngoài chi phí trực tiếp, hãy chắc chắn xem xét các chi phí gián tiếp như cơ sở hạ tầng và chi phí tài nguyên như bảo trì.

Giảm TCO là mục tiêu chung của các DBA đang tìm cách thay thế công cụ giám sát hiệu suất cơ sở dữ liệu hiện tại của họ, do đó, có một số yếu tố cần xem xét. Như đã đề cập ở trên, điều quan trọng là phải xem xét không chỉ các chi phí trực tiếp như giá mua mà còn cả các chi phí gián tiếp như chi phí lưu kho và chi phí tài nguyên như đào tạo.

Để xác định TCO cho công cụ mới, hãy cắm các chi tiết cụ thể của bạn vào máy tính TCO và xem mức tiết kiệm chi phí là bao nhiêu, nếu có.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Tại sao thực thi các thủ tục được lưu trữ nhanh hơn truy vấn SQL từ một tập lệnh?

  2. Làm thế nào để chuyển đổi hình ảnh sang mảng byte chỉ sử dụng javascript để lưu trữ hình ảnh trên máy chủ sql?

  3. Có thể đặt lược đồ mặc định từ chuỗi kết nối không?

  4. Cách truyền DateTime thành Time

  5. PHP Lỗi nghiêm trọng:Gọi đến hàm không xác định mssql_connect ()