Lỗi SQL Server 4064 là một trong những sự cố phổ biến khi người dùng hoặc quản trị viên không thể đăng nhập vào SQL Server do hệ thống không mở được database mặc định đã được cấu hình cho tài khoản. Tình trạng này thường xuất hiện sau khi database bị xóa, đổi tên, chuyển trạng thái offline hoặc khi quyền truy cập của login không còn phù hợp. Xem thêm: VPS Pro.
Trong bài viết này, chúng ta sẽ tìm hiểu nguyên nhân, dấu hiệu nhận biết và cách sửa lỗi SQL Server 4064 theo từng bước thực tế. Các phương pháp dưới đây được áp dụng phổ biến trong môi trường quản trị SQL Server, giúp khôi phục khả năng đăng nhập mà không cần cài đặt lại hệ thống.

Tổng quan về lỗi SQL Server 4064 và nguyên nhân không mở được database mặc định
Lỗi SQL Server 4064 là gì?
Khi đăng nhập vào SQL Server, mỗi login thường được gán một database mặc định (default database). Đây là nơi SQL Server sẽ tự động chuyển người dùng tới sau khi xác thực tài khoản thành công. Nguồn tham khảo: Centrix.
Lỗi SQL Server 4064 xảy ra khi SQL Server xác thực được tài khoản nhưng không thể mở database mặc định đó. Hệ thống thường hiển thị thông báo dạng:
“Cannot open user default database. Login failed.”
Điều này có nghĩa login vẫn tồn tại, mật khẩu có thể chính xác, nhưng database được chỉ định làm điểm truy cập ban đầu không khả dụng.
Dấu hiệu nhận biết khi đăng nhập SQL Server bị lỗi
Một số biểu hiện thường gặp giúp nhận diện lỗi này:
- SQL Server Management Studio (SSMS) từ chối đăng nhập dù thông tin tài khoản chính xác.
- Thông báo lỗi 4064 xuất hiện ngay sau bước xác thực login.
- Tài khoản quản trị khác vẫn đăng nhập bình thường.
- Ứng dụng kết nối SQL Server bị lỗi dù cấu hình máy chủ không thay đổi.
Trong thực tế vận hành, lỗi này thường xuất hiện sau các thao tác bảo trì như di chuyển database sang máy chủ mới, phục hồi bản backup hoặc thay đổi cấu trúc tài khoản.
Vì sao database mặc định không thể truy cập?
SQL Server yêu cầu database mặc định phải tồn tại và login phải có quyền truy cập phù hợp. Nếu một trong hai điều kiện này không đáp ứng, quá trình đăng nhập sẽ thất bại.
Ví dụ, một nhân viên được cấp tài khoản với database mặc định là SalesDB. Sau đó DBA xóa database này để thay thế bằng phiên bản mới nhưng quên cập nhật cấu hình login. Khi người dùng đăng nhập, SQL Server vẫn tìm SalesDB và phát sinh lỗi 4064.
Các nguyên nhân phổ biến gây lỗi SQL Server 4064

Database mặc định bị xóa, đổi tên hoặc không còn tồn tại
Đây là nguyên nhân phổ biến nhất khi sửa lỗi SQL Server 4064. Login vẫn lưu thông tin database mặc định cũ, nhưng database thực tế đã không còn trên máy chủ.
Các trường hợp thường gặp:
- Database bị xóa nhầm trong quá trình dọn dẹp hệ thống.
- Database được đổi tên nhưng chưa cập nhật login.
- Khôi phục hệ thống từ bản backup khiến tên database thay đổi.
User login không có quyền truy cập database
Một database tồn tại chưa đồng nghĩa login có thể sử dụng nó. SQL Server phân biệt rõ giữa login ở cấp máy chủ và user ở cấp database.
Ví dụ, một tài khoản có thể tồn tại trong Security của SQL Server nhưng chưa được ánh xạ với user tương ứng bên trong database. Khi đó, SQL Server không thể mở database mặc định và trả về lỗi đăng nhập.
Database đang ở trạng thái offline, suspect hoặc bị lỗi
Database có thể tồn tại nhưng không sẵn sàng hoạt động. Một số trạng thái gây lỗi gồm:
- OFFLINE: Database bị đưa về trạng thái không cho truy cập.
- SUSPECT: SQL Server phát hiện vấn đề với file dữ liệu hoặc log.
- RECOVERY_PENDING: Quá trình khôi phục chưa hoàn tất.
Trong môi trường doanh nghiệp, việc kiểm tra trạng thái database định kỳ là một phần quan trọng trong quy trình quản trị DBA để hạn chế các lỗi đăng nhập bất ngờ.
Sai cấu hình login trong SQL Server Management Studio
Một số trường hợp lỗi đến từ cấu hình tài khoản trong SSMS, chẳng hạn login được thiết lập database mặc định không phù hợp hoặc quyền truy cập bị thay đổi sau quá trình phân quyền.
Quản trị viên nên kiểm tra lại thông tin login trong mục Security > Logins, đặc biệt là phần Default database và User Mapping.
Cách sửa lỗi SQL Server 4064: không mở được database mặc định từng bước

Đăng nhập bằng database khác thay thế
Nếu không thể đăng nhập bình thường, cách xử lý nhanh là yêu cầu SQL Server sử dụng một database khác, thường là master, làm điểm kết nối tạm thời.
Trong SQL Server Management Studio, tại cửa sổ đăng nhập:
- Chọn mục Options.
- Mở tab Connection Properties.
- Nhập master tại phần Connect to database.
- Thử đăng nhập lại.
Nếu đăng nhập thành công, nguyên nhân gần như chắc chắn nằm ở database mặc định cũ của tài khoản.
Kiểm tra database mặc định của tài khoản bằng T-SQL
Sau khi truy cập được SQL Server bằng tài khoản quản trị, bạn có thể kiểm tra cấu hình login bằng các câu lệnh T-SQL.
SELECT name, default_database_name
FROM sys.server_principals
WHERE name = 'TenLogin';
Kết quả giúp xác định database nào đang được gán làm mặc định và liệu database đó có còn tồn tại hay không.
Thay đổi database mặc định cho login bị lỗi
Nếu database mặc định không còn phù hợp, quản trị viên có thể chuyển login sang database hợp lệ khác. Đây là phương pháp xử lý trực tiếp và thường được áp dụng nhất khi sửa lỗi SQL Server 4064.
ALTER LOGIN TenLogin
WITH DEFAULT_DATABASE = master;
Sau khi thay đổi, người dùng có thể đăng nhập lại bằng tài khoản cũ mà không cần tạo login mới.
Các lệnh T-SQL quan trọng để xử lý lỗi SQL Server 4064
Trong quá trình quản trị thực tế, việc sử dụng T-SQL thường nhanh và chính xác hơn so với thao tác thủ công trên giao diện SSMS. Các lệnh dưới đây giúp DBA kiểm tra nguyên nhân và thực hiện sửa lỗi SQL Server 4064 an toàn hơn.
Sử dụng ALTER LOGIN để đổi database mặc định
Lệnh ALTER LOGIN là công cụ chính để cập nhật cấu hình login hiện có. Ngoài việc thay đổi database mặc định, lệnh này còn hỗ trợ điều chỉnh nhiều thuộc tính liên quan đến tài khoản SQL Server.
ALTER LOGIN [TenLogin]
WITH DEFAULT_DATABASE = [TenDatabase];
Ví dụ, nếu muốn đưa tài khoản về database hệ thống để đảm bảo khả năng đăng nhập:
ALTER LOGIN [UserDemo]
WITH DEFAULT_DATABASE = [master];
Đây là giải pháp phổ biến khi database cũ đã bị xóa hoặc không còn được sử dụng. Sau khi thực hiện, nên kiểm tra lại quyền truy cập để đảm bảo login có thể làm việc đúng với database cần thiết.
Kiểm tra trạng thái database bằng SQL Server
Trước khi thay đổi cấu hình login, quản trị viên nên xác định database mặc định có đang hoạt động hay không.
SELECT name, state_desc
FROM sys.databases;
Kết quả trả về cho biết trạng thái hiện tại của từng database. Nếu database đang ở trạng thái OFFLINE, SUSPECT hoặc RECOVERY_PENDING, cần xử lý nguyên nhân gốc trước khi gán lại làm database mặc định.
Đặt database mặc định về master khi cần thiết
master thường được lựa chọn làm database mặc định tạm thời vì đây là database hệ thống luôn tồn tại trong SQL Server. Tuy nhiên, trong môi trường doanh nghiệp, không nên sử dụng master như database làm việc lâu dài cho ứng dụng hoặc người dùng nghiệp vụ.
Cách làm phù hợp là dùng master để khôi phục quyền đăng nhập, sau đó chuyển login về database chính khi hệ thống đã ổn định.
Cách phòng tránh lỗi SQL Server 4064 trong quá trình vận hành

Quản lý database và login theo chuẩn DBA
Một trong những nguyên nhân khiến lỗi SQL Server 4064 xuất hiện là thay đổi database nhưng bỏ quên cấu hình login liên quan. Vì vậy, khi thực hiện các thao tác như đổi tên, di chuyển hoặc xóa database, DBA nên lập danh sách các login đang sử dụng database đó.
Quy trình quản trị tốt thường bao gồm:
- Kiểm tra login nào đang sử dụng database trước khi thay đổi.
- Cập nhật database mặc định sau khi di chuyển hệ thống.
- Ghi nhận thay đổi cấu hình để dễ dàng khôi phục khi có sự cố.
Thiết lập quyền truy cập an toàn
Phân quyền trong SQL Server nên dựa trên nguyên tắc cấp đủ quyền cần thiết. Việc gán quyền quá rộng hoặc tạo login mà không kiểm tra User Mapping có thể dẫn đến nhiều vấn đề về kết nối.
Quản trị viên nên thường xuyên rà soát:
- Danh sách login đang hoạt động.
- Database mặc định của từng tài khoản.
- Quyền truy cập thực tế bên trong database.
Sao lưu cấu hình và theo dõi trạng thái database định kỳ
Ngoài sao lưu dữ liệu, doanh nghiệp nên lưu lại thông tin cấu hình SQL Server như login, quyền truy cập và các thiết lập quan trọng. Điều này giúp quá trình phục hồi sau sự cố nhanh chóng hơn.
Các tài liệu chính thức từ Microsoft về quản lý login và database là nguồn tham khảo đáng tin cậy khi triển khai quy trình vận hành SQL Server. Quản trị viên có thể xem thêm tài liệu về quản lý login trong SQL Server và quản lý database SQL Server.
Câu hỏi thường gặp về lỗi SQL Server 4064
Lỗi SQL Server 4064 có làm mất dữ liệu không?
Thông thường, lỗi SQL Server 4064 không làm mất dữ liệu. Đây chủ yếu là lỗi liên quan đến quá trình đăng nhập và database mặc định của login. Dữ liệu vẫn có thể tồn tại bình thường nếu database chỉ bị sai cấu hình truy cập.
Tuy nhiên, nếu nguyên nhân là database bị hỏng, mất file dữ liệu hoặc gặp lỗi hệ thống lưu trữ, cần kiểm tra sâu hơn để đảm bảo an toàn dữ liệu.
Có thể sửa lỗi SQL Server 4064 mà không cần cài lại SQL Server không?
Có. Hầu hết trường hợp đều có thể xử lý bằng cách đăng nhập qua database khác, kiểm tra cấu hình login và thay đổi database mặc định bằng SSMS hoặc T-SQL. Việc cài đặt lại SQL Server thường không cần thiết và có thể làm phức tạp quá trình khôi phục.
Nên dùng database nào làm database mặc định?
Database mặc định nên là database mà người dùng thường xuyên làm việc và có quyền truy cập phù hợp. Với tài khoản quản trị hoặc tài khoản cần khả năng cứu hộ, master thường là lựa chọn an toàn để tránh phụ thuộc vào database nghiệp vụ.
Kết luận và bước tiếp theo
Lỗi SQL Server 4064 xảy ra chủ yếu do SQL Server không thể mở database mặc định được gán cho login. Các nguyên nhân phổ biến bao gồm database bị xóa, đổi tên, mất quyền truy cập hoặc đang ở trạng thái không hoạt động.
Để sửa lỗi SQL Server 4064 hiệu quả, cách tiếp cận tốt nhất là xác định nguyên nhân trước, sau đó thay đổi database mặc định, khôi phục quyền truy cập và kiểm tra lại trạng thái hệ thống. Trong môi trường doanh nghiệp, việc quản lý login, sao lưu cấu hình và giám sát database định kỳ sẽ giúp hạn chế sự cố tương tự.
Nếu bạn đang vận hành hệ thống SQL Server, việc kết hợp công cụ quản trị phù hợp cùng nền tảng phần mềm bản quyền, hạ tầng số ổn định và giải pháp hỗ trợ công nghệ đáng tin cậy sẽ giúp giảm thời gian xử lý sự cố, nâng cao hiệu quả làm việc cho đội ngũ kỹ thuật.





