Kỹ thuật phân chia bảng thành từng đoạn (Table partitioning) nhằm quản lý hiệu quả cơ sở dữ liệu với dung lượng lớn.

Chi tiết

Những người SQL Server DBA (Database Administrator) – quản trị cơ sở dữ liệu biết rất rõ rằng các danh mục Index trong database rất giống với Index trong mục Library. Hoặc hiểu theo cách đơn giản rằng Index trong Database là 1 hệ cấu trúc có liên kết chặt chẽ với các bảng để nhanh chóng thu thập thông tin từ các dòng trong bảng đó.

Chi tiết

Khi bạn sở hữu một website với cơ sỡ dữ liệu đồ sộ và có lượng truy cập cao thì vấn đề an toàn dữ liệu và tính sẵn sàng cao của dữ liệu là hết sức cần thiết. Thông thường các website này sẽ chạy trên nhiều Database đặt ở các server khác nhau nhằm đáp ứng tính an toàn cho dữ liệu, đồng thời giảm tải lên 1 database server khi website có khi lượng truy cập quá lớn.

Chi tiết

Trong bất kỳ hệ thống cơ sở quản trị dữ liệu nào, thì vấn đề an ninh, bảo mật luôn được đặt lên hàng đầu. Và với SQL Server, nếu chúng ta tận dụng được nhiều ưu điểm của ứng dụng này, những người làm công việc quản trị hệ thống sẽ giảm bớt được rất nhiều gánh nặng cũng như áp lực trong công việc. Với bài viết hướng dẫn dưới đây, chúng tôi sẽ giới thiệu với các bạn một số thông tin cơ bản cũng như cách sử dụng, quản lý role của SQL Server.

Chi tiết

Trong bất kỳ hệ thống cơ sở quản trị dữ liệu nào, thì vấn đề an ninh, bảo mật luôn được đặt lên hàng đầu. Và với SQL Server, nếu chúng ta tận dụng được nhiều ưu điểm của ứng dụng này, những người làm công việc quản trị hệ thống sẽ giảm bớt được rất nhiều gánh nặng cũng như áp lực trong công việc. Với bài viết hướng dẫn dưới đây, chúng tôi sẽ giới thiệu với các bạn một số thông tin cơ bản cũng như cách sử dụng, quản lý role của SQL Server.

Chi tiết

There are lots of ways to select a random record or row from a database table. Here are some example SQL statements that don't require additional application logic, but each database server requires different SQL syntax.

Chi tiết

Tình cờ tôi đọc trên http://blog.sqlauthority.com, tác giả Pinal Dave – 1 chuyên gia SQL Server đã đưa ra 1 tình huống khá thú vị: làm sao insert nhiều record chỉ với 1 câu lệnh Insert?

Chi tiết

Làm thế nào tôi biết nhanh 1 database (hay 1 table) đã chiếm bao nhiêu dung lượng ổ cứng, trong đó bao nhiêu dung lượng được dùng để lưu trữ data, bao nhiêu dung lượng được dùng để lưu trữ index?

Chi tiết

Đối với những Table lớn, hàng triệu Record thì việc cập nhật dữ liệu là rất mất thời gian, ngoài ra nó còn khóa (lock) những user khác thao tác với dữ liệu trong bảng (Update/ Delete). Có 1 giải pháp là chia dữ liệu thành từng nhóm nhỏ và lần lượt Update từng nhóm, bạn vẫn Update được dữ liệu, và những User khác vẫn thao tác với bảng bình thường.

Chi tiết

Tôi muốn trở thành 1 Database Administrator (DBA) với nền tảng kiến thức vững vàng, và làm chủ công việc. Tôi tự đặt cho mình nhiều câu hỏi chuyên môn và tham khảo ý kiến đồng nghiệp, đọc nhiều tài liệu để đi tìm câu trả lời. Quá nhiều kiến thức cần phải học để trở thành 1 DBA, tôi chọn chuyên về SQL Performance Tuning, nhưng lượng kiến thức cũng không phải là nhỏ. Theo bạn, tôi có nên tiếp thu càng nhiều càng tốt hay không?

Chi tiết

Mặc định, File SQL Server Error Log phát triển dung lượng trên ổ cứng cho đến khi SQL Server được restart. Mỗi lần SQL Server restart, nó sẽ tạo 1 file Error Log mới có tên là ERRORLOG, file Error Log hiện tại được đóng lại và đổi tên thành ERRORLOG.1, rồi file ERRORLOG.1 được đổi tên thành ERRORLOG.2, và cứ thế tiếp tục cho những file còn lại.

Chi tiết

Tình cờ tôi đọc trên http://blog.sqlauthority.com, tác giả Pinal Dave – 1 chuyên gia SQL Server đã đưa ra 1 tình huống khá thú vị: làm sao insert nhiều record chỉ với 1 câu lệnh Insert?

Chi tiết

- Danh sách tất cả Table trong Database- Danh sách tất cả các Primary Key trong Database- Danh sách tất cả Store Procedure, hay các View do người dùng định nghĩa

Chi tiết

Bạn quản trị 1 máy chủ SQL Server với nhiều Database đang họat động. Một SQL Developer yêu cầu bạn nhanh chóng cho anh ta danh sách những Table trong 1 Database cụ thể nào đó, kèm theo là kiểu dữ liệu, giá trị mặc định… của mỗi Column trong Table. Bạn sẽ làm thế nào?

Chi tiết

Là 1 người quản trị Database, khi cần, tôi muốn nhanh chóng lấy tất cả thông tin về những Object trong 1 database nào đó, ví dụ như: Danh sách tất cả Table trong Database

Chi tiết

Trong bài viết dùng sys.objects, tôi đã khái quát cách lấy danh sách các Table, Store Procedure và nhiều đối tượng khác nhau trong Database. Đi xa hơn 1 chút, nếu tôi muốn lấy T-SQL chi tiết của mỗi Store Procedure, mỗi View, hay mỗi Trigger trong danh sách thì làm thế nào? Đây là kiến thức

Chi tiết

SQL Server trao dữ liệu cho hệ điều hành để ghi lên thiết bị lưu trữ như đĩa cứng, nhưng lại không đảm bảo quá trình ghi dữ liệu có được thực thi chính xác hay không. Điều này dẫn đến dữ liệu cần ghi và dữ liệu đã được ghi có thể không giống nhau, hay không nhất quán với nhau, và SQL Server không nhận ra đã có sự cố sai lệch dữ liệu cho đến khi nó đọc lại dữ liệu đó.

Chi tiết

Câu trả lời là có, dùng câu lệnh DBCC FREEPROCCACHE. Nhưng lưu ý là không nên dùng câu lệnh này ở máy chủ SQL Server đang làm việc thực sự (Production Server), chỉ nên dùng ở máy chủ SQL Server mà bạn dùng để thử nghiệm, vì nó sẽ bắt máy chủ làm việc nhiều hơn để các Execution Plan được tạo lại từ đầu.

Chi tiết

Ta có thể xóa các Execution Plan được lưu trong bộ nhớ hay không?

Chi tiết

Trong bài thực hành này, tôi giới thiệu một số kiến thức cơ bản ta cần lưu ý khi thực hiện tạo, Backup và Restore Database khi làm việc với SQL Server. Bài thực hành được thực hiện trên SQL Server 2008.

Chi tiết

Câu trả lời là có, dùng câu lệnh DBCC FREEPROCCACHE. Nhưng lưu ý là không nên dùng câu lệnh này ở máy chủ SQL Server đang làm việc thực sự (Production Server), chỉ nên dùng ở máy chủ SQL Server mà bạn dùng để thử nghiệm, vì nó sẽ bắt máy chủ làm việc nhiều hơn để các Execution Plan được tạo lại từ đầu.

Chi tiết

Trước khi nghĩ đến việc tăng tốc câu truy vấn thì ta phải xem xét hiệu năng (Performance) của nó. Có 3 tiêu chí chính để chúng ta xem xét đó là: Query Cost (Chi phí của câu truy vấn),  Page Reads (Số lượng trang được đọc) và Execution Time (Thời gian thực thi câu truy vấn).

Chi tiết

Đoạn mã lấy IP của 1 máy trong mạng Lan, hay IP của 1 trang web.

Chi tiết

Đôi khi ta đổ dữ liệu vào 1 DataTable, có 1 số dữ liệu bị trùng. Ta muốn DataTable loại bỏ những dữ liệu trùng, ví dụ sau đây giải quyết vấn đề đó:

Chi tiết

Đọc nhiều bài báo về trách nhiệm của DBA đối với công việc, có nhiều quan điểm được đưa ra, khái quát những yếu tố chính DBA phải đảm bảo cho yêu cầu doanh nghiệp. Nhưng hầu hết đều tập trung phân tích 4 yếu tố chính, xin chia sẻ ra đây:

Chi tiết

Đối với những Function trả về những Table, ta có thể Join nó với các Table hay View khác.

Chi tiết

Function được sử dụng ở bất cứ nơi đâu trong mệnh đề SQL như SELECT/WHERE/HAVING trong khi Stored Procedure thì không thể.

Chi tiết

Dynamic Management Views và Dynamic Management Functions ra đời từ phiên bản SQL Server 2005, cho phép ta truy vấn nhanh những thông tin về tình trạng sức khỏe của một SQL Server instance, chẩn đoán các sự cố và tăng tốc hệ thống (Tuning). Nói một cách đơn giản, cho ta biết những gì đang xảy ra bên trong SQL Server. Do đó, nếu muốn Tuning SQL Server, thì ta không thể bỏ qua Dynamic Management Views và Functions.

Chi tiết

Resource Database: đây là một Database chỉ đọc (read-only) chứa thông tin về các đối tượng hệ thống của SQL Server. Database này không chứa thông tin hay các metadata của User. Resource Database ta không thể thấy trong SQL Server Management Studio.

Chi tiết

Model database: đây là một Database template khi ta tạo các Database mới. Khi ta tạo mới một cơ sở dữ liệu thì SQL Server lấy tất cả các mẫu (bao gồm Tables, Views,…) từ model database.

Chi tiết

Lên trên đầu