Xóa bộ nhớ cache của SQL Server khi test hiệu năng

Khi điều chỉnh các ứng dụng SQL Server, một mức độ nào đó, việc thử nghiệm hiệu năng thực thi của các thủ tục SQL là cần thiết. Tùy chọn Index, thiết kế bảng, tùy chọn khóa (locking table)  những vấn đề có thể được sửa đổi để tăng hiệu suất thực thi. Khi chạy các tình huống test, phải chắc chắn các thủ tục, câu lệnh SQL phải được bắt đầu ở cùng một trạng thái tại mỗi thời điểm chạy thử. Bộ nhớ cache (đôi khi được gọi là bộ đệm) cần phải được xoá đi. Điều này nhằm tránh việc các dữ liệu và (hoặc) kế hoạch thực thi (excution plan) đang được lưu trữ, do đó làm thất bại các thử nghiệm tiếp theo. Để xoá bộ nhớ cache của SQL Server, chúng ta chạy hai câu lệnh sau:


DBCC DROPCLEANBUFFERS

DBCC FREEPROCCACHE

Câu lệnh đầu tiên để xóa tất cả dữ liệu trong bộ nhớ cache. 
Câu lệnh thứ hai xóa bộ nhớ cache lưu trữ các thủ thục (store procedure).


Sau khi chạy hai lệnh trên, mọi thủ tục, câu lệnh sẽ được đặt vào “điểm xuất phát” như nhau. Do đó việc so sánh sẽ trở nên “công bằng” và chính xác hơn.


Nguồn: (http://www.devx.com)

Các thủ tục, bảng, view quan trọng trong Sql Server

Vấn đề:
Bài viết này sẽ trình bày một số phương pháp để liệt kê ra danh sách các database. Table, view, hàm, thủ tục, constraint, index… Chúng rất hữu ích khi chúng ta muốn biết thông tin về một đối tượng nào đó về database khi chúng ta viết các câu lệnh truy vấn.  Mặc dù chúng có thể xem thông qua cửa sổ Object Explorer, nhưng khi chúng ta sử dụng câu lệnh truy vấn những thông tin này, chúng có thể thêm các điều kiện lọc tùy ý một cách nhanh chóng để tìm ra thức chúng ta cần tìm.

Giải pháp:
Chúng ta sẽ tìm hiểu một số thao  tác làm thể sao để:
         Liệt kê danh sách database trong SQL server ở kết nối hiện tại
         Liệt kê danh sách bảng trong database.
         Liệt kê danh sách các thủ tục (Procedure)
         Liệt kê danh sách View
         Liệt kê danh sách Hàm
         Liệt kê danh sách Trigger
         Liệt kê danh sách Cột trong một bảng
         Lấy tổng số dòng trong một bảng
         Liệt kê danh sách Index
         Lấy khai báo của một View
         Liệt kê danh sách Check Constraint
         Tìm kiếm các bảng được sử dụng trong một Procedur

Đọc thêm »

Sử dụng Change Tracking trong SQL Server 2008 (Phần cuối)

Sau một thời gian nghiên cứu, nay chúng ta sẽ đi đến phần cuối cùng của loạt bài về Change Tracking trong SQL Server 2008, người dịch bài này thấy có rất nhiều điều có thể ứng dụng từ chức năng này trong SQL Server 2008. Trong đó, một trường hợp mà chúng ta có thể xây dựng một cơ chế đồng bộ dữ liệu giữa hai database, trong đó dữ liệu đã được thay đổi kể từ lần đồng bộ cuối cùng sẽ do Change Tracking cung cấp, và chúng ta chỉ cần đồng bộ những dòng dữ liệu đã được thay đổi này, thậm chí chỉ cần đồng bộ các cột đã được thay đổi, có nghĩa là chúng ta chỉ lấy ra những dữ liệu cần thiết từ dữ liệu nguồn, truyền qua mạng internet, LAN, … đến database đich. Vi dữ liệu được lấy ra không dư thừa, nên sẽ tăng tốc độ cho việc đồng bộ dữ liệu cũng như độ chính xác của nó.
Với đặc điểm này, chũng ta cũng có thể xây dựng một chức năng nhỏ trên ứng dụng, cho phép ứng dụng nhắc nhở tới người dùng những dữ liệu nào chưa được đồng bộ, theo một khoảng thời gian nhất định. 
Trong loạt ví dụ sau chúng ta sẽ tìm hiểu:

  1. Kích hoạt Change Tracking ở mức Database và mức Table.
  2. Truy vấn các bảng hệ thống cung cấp thông tin về thiết lập Change Tracking.
  3. Tìm hiểu các hàm dùng để truy vấn các thông tin thay đổi  với Change Tracking.
  4. Vô hiệu chức năng Change Tracking.

Đọc thêm »