Sunday , 17 December 2017
HOT

MSSQL Server

Download Microsoft SQL Database Publishing Wizard 2008

Với một người chuyên codding web asp.net, đến bước cuối là upload database lên host thì Microsoft SQL Database Publishing Wizard 2008 là 1 công cụ không thể thiếu. Mình để ý rất nhiều người tìm kiếm phần mềm này trên mạng nhưng không thấy và mình cũng đã từng như vậy. Hôm nay mình share cho các bạn phần mềm này. Link download trực tiếp : Publishing Wizard 2008 Read More »

Vì sao nên tránh viết SQL code trong ứng dụng

Trong ứng dụng khi cần tương tác với database, có lẽ một cách làm rất phổ biến là tạo lập một chuỗi chứa lệnh SQL, ghép các giá trị  nhập vào của người dùng thành một lệnh SQL hoàn chỉnh, rồi thực hiện chuỗi lệnh SQL đó. Như ví dụ dưới đây: string cmdStr = "INSERT INTO Customer(Name, Address, Email, ... Read More »

Lấy ngày cuối cùng của tháng trong sql server

Để tìm ra ngày cuối cùng của tháng hiện tại, bạn chỉ việc lấy ngày đầu tiên của tháng sau rồi bớt đi 1 ngày: SELECT DATEADD(d,-1, DATEADD(mm, DATEDIFF(mm, 0 ,GETDATE())+1, 0)) Giải thích: - Lệnh DATEDIFF trong cùng tính số tháng tính từ thời điểm bắt đầu (01/01/1900) và tăng lên 1: DATEDIFF(mm, 0 ,GETDATE())+1) - Tới lệnh DATEADD ... Read More »

Sự khác nhau giữa delete và truncate

SQL Server cung cấp 2 phương pháp để xóa dữ liệu, DELETE và TRUNCATE. Cú pháp của hai lệnh này như sau: DELETE DELETE dbo.Tblxxx WHERE... hoặc DELETE a FROM dbo.Tblxxx a WHERE... Khi cần xóa dữ liệu với điều kiện liên quan đến bảng khác: DELETE a FROM dbo.Tblxxx a JOIN dbo.Tblyyy b ON a.Col1 = b.Col1 hoặc: DELETE ... Read More »

Lợi ích của index trong sql server

Index là phương tiện rất mạnh để tăng hiệu năng thực hiện của câu lệnh. Bài post này sẽ cung cấp một ví dụ cho bạn thấy bên trong SQL Server sử dụng index để  tăng hiệu năng như thế nào. Ở đây tôi dùng database AdventureWork là database mẫu đi kèm với SQL Server (bạn có thể dowload database ... Read More »

Sử dụng index trong sql server một cách hiệu quả

Trong một câu lệnh SQL, một điều kiện tìm kiếm ở mệnh đề WHERE được gọi là sargable (viết tắt từ Search Argument-Able) nếu index có thể được sử dụng khi thực hiện câu lệnh (giả sử cột tương ứng có index). Ví dụ, với câu lệnh sau: SELECT * FROM dbo.Customer WHERE CustomerID = 1234 thì điều kiện “CustomerID ... Read More »

Reset identity trong sql server

Khi bạn TRUNCATE bảng, trường IDENTITY sẽ được reset trở về giá trị ban đầu (khi tạo bảng). Tuy nhiên có những trường hợp bạn không thể dùng TRUNCATE . Ví dụ bạn muốn đặt lại giá trị của trường IDENTITY trong bảng dbo.TableName về 1, bạn có thể dùng lệnh này: DBCC CHECKIDENT ('dbo.TableName', RESEED, 1) Read More »

Giảm dung lượng file log của SQL Server

Vào một ngày đẹp trời, bạn nhận thấy rằng file LOG của mình quá lớn, chiếm gần hết ổ cứng và không thể thực hiện bất kì một thao tác nào trên dữ liệu. Hay bạn thấy, trong khi dữ liệu của mình chỉ có vài GB, mà file LOG lên đến tận hàng trăm GB. Phải làm thế nào ... Read More »

ROW_NUMBER trong sql server

Hàm ROW_NUMBER được đưa vào từ bản 2005, dùng để trả về một con số tuần tự gắn với mỗi bản ghi (do đó có tên như vậy, số của bản ghi). Hàm này giúp giải quyết một số bài toán dễ dàng hơn. Bài viết này giới thiệu hai ứng dụng của hàm ROW_NUMBER, nếu bạn có sử dụng ... Read More »

Các Loại Ràng Buộc Trong SQL Server

Ràng buộc trong SQL Server được dùng để duy trì tính nhất quán của dữ liệu, đảm bảo dữ liệu phù hợp với các qui định theo yêu cầu của bài toán. Ví dụ một database về bán hàng đòi hỏi mỗi bản ghi phải có ID sản phẩm hợp lệ, số lượng bán phải là một số nguyên và ... Read More »