Sau một thời gian chinh chiến trên khắp các nẻo đường Facebook, tôi chợt phát hiện ra rằng rất nhiều bạn đang gặp trục trặc khi cài đặt SQL để thực hành. Vậy nên trong bài này tôi sẽ nói qua một số lỗi và cách khắc phục. Bài viết này sẽ trình bày dưới dạng hỏi đáp.
1.Nên chọn phiên bản SQL Server nào?
Trừ khi bạn có một yêu cầu nhất định, còn không thì cứ tải về phiên bản mới nhất mà dùng. Phiên bản hiện tại là 2019.
2. Có thể dùng SQL Server express hay Developer để học không?
Tất nhiên là được! Từ góc độ lập trình cơ bản, cả 2 phiên bản đều đáp ứng được yêu cầu của bạn.
3. Instance name là gì?
Trên mỗi máy tính bạn có thể cài đặt cùng lúc nhiều máy chủ SQL server khác nhau, chúng sẽ được phân biệt bằng một cái tên, ta gọi đó là Instance name. Instance name mặc nhiên là MSSQLSERVER, riêng với bản Express, instance name là SQLExpress. Khi kết nối, bạn sẽ chỉ ra tên máy chủ và instance name, ví dụ: myserver\sqlserver4inventory, nghĩa là nối đến máy có tên myserver, instance name là sqlserver4inventory.Nếu để trống instancename khi kết nối, nó sẽ sử dụng instance name là MSSQLSERVER.
4.SQL Management Studio (SSMS) là gì?
Đây là một chương trình cho phép bạn quản lý các CSDL Sql Server. Trong các bản cài đặt SQL server đều cho phép bạn cài thêm chương trình này, tuy nhiên gần đây Microsoft đã tách nó ra và bạn có thể tải về cài đặt riêng tại: https://docs.microsoft.com/…/download-sql-server…Cá nhân tôi luôn sử dụng bộ cài đặt riêng này vì nó được cập nhật thường xuyên hơn rất nhiều.
5. Tôi đã cài đặt cả SQL server và SSMS, nhưng tôi không thể nào kết nối đến được.
Bạn sẽ cần kiểm tra một số thứ sau:
– SQL Server đã được chạy lên hay chưa? Vào Services để kiểm tra (xem hình). Trên phần service này bạn cũng sẽ thấy instance name.
– Địa chỉ máy chủ có đúng hay không? Vào dòng lệnh Windows (cmd) gõ lệnh hostname để xem tên máy. Bạn cũng có thể dùng tên . (dấu chấm) nếu bạn muốn nối vào SQL Server ngay trên máy bạn. Nếu dùng TCP/IP thì bạn cũng có thể kết nối thông qua địa chỉ IP.
– Instance name có đúng không? Nên nhớ instance name mặc nhiên của phiên bản Express là SQLExpress, nên nếu bạn không gõ đủ (ví dụ: .\SQLExpress) thì sẽ không kết nối được.
– Giao thức kết nối giữa hai bên có tương thích hay không? SQL Server cho phép bạn kết nối đến máy chủ thông qua nhiều giao thức khác nhau, bao gồm Shared memory, Named pipes và TCP/IP. Bạn phải kết nối đến máy chủ của bạn theo cùng cách mà server client đều hiểu. Để kiểm tra bạn có thể mở “Sql Server Configuration Manager” lên, vào phần “Sql Server Network Configuration”, kiểm tra xem giao thức mình đang dùng có được Enable không. Nếu xem trong hình minh họa, bạn sẽ thấy TCP/IP bị disable, do vậy bạn không thể kết nối đến theo địa chỉ IP được, và cũng không thể kết nối đến từ một máy khác ngoài chính máy đang chạy SQL Server.
Cũng trên cửa sổ “Sql Server Network Configuration”, bạn phải kiểm tra các Client protocol được phép sử dụng. Bạn chỉ có thể kết nối đến Sql Server khi cả client và server có chung ít nhất một giao thức được enable.
– Có bị chặn bởi firewall hay không? Vào trong Windows firewall kiểm tra xem cổng có mở cho máy khác kết nối đến chưa, nếu chưa thì bạn cũng chỉ có thể kết nối từ chính máy đang chạy server.
Có một giải pháp rất buồn cười mà tôi thường xuyên gặp, cũng chính là lý do tôi viết bài này, đó là cài đặt lại Windows. Như mọi trục trặc khác – giải pháp này đôi khi cũng có tác dụng nhưng lại không giúp được bạn hiểu ra vấn đề và giải quyết nếu lần sau gặp lại. Hãy nhớ là bạn đang học, nên cố gắng search, đọc tài liệu của Sql Server, còn đợi đến khi cài lên máy chủ production rồi thì làm gì có cơ hội nữa.
Câu hỏi các bạn có thể gửi trong comment!
Lâu lắm không thấy anh viết bài, mấy hôm nay lại có một đống bài được “bom” lên vậy anh 😀
comment này để nhận được reply comment qua email ^^!
Gần đây anh có viết bài trên page Nam .NET, giờ đang chuyển lại sang bên này 🙂
em xin cái link page nam .NET với, search Google không ra 😀
Đây nhé: https://www.facebook.com/namdotnet/