Sqlserver
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Sqlserver

PHP 5.3 không nhận ra Native Client để kết nối với MS SQL

Hóa ra đó là một vấn đề về quyền.

Tôi đã thay đổi trong php.ini tùy chọn fastcgi.impersonate thành 0 và thử với các danh tính nhóm ứng dụng khác nhau. Nó hoạt động như Hệ thống cục bộ. Đây là tài khoản có nhiều quyền người dùng hơn tài khoản Dịch vụ mạng hoặc Dịch vụ cục bộ. Tuy nhiên, hãy lưu ý rằng việc chạy một nhóm ứng dụng trong một tài khoản có quyền người dùng tăng lên sẽ có nguy cơ bảo mật cao. Để tham khảo thêm về các tài khoản và cách định cấu hình, hãy xem bài viết này:

Định cấu hình Nhận dạng nhóm ứng dụng với IIS 6.0 (IIS 6.0) Tài khoản Người dùng Dịch vụ Quyền truy cập và bảo mật dịch vụ

Tôi quyết định đặt nó trở lại Dịch vụ Mạng và tải xuống Process Monitor *. Sau đó, tôi sử dụng nó để theo dõi quá trình w3wp, điều này cho tôi thấy điều này đang bị từ chối truy cập trên một khóa đăng ký nơi lưu trữ đường dẫn đến sqlncli.dll.

HKLM \ Software \ ODBC \ ODBCINST.INI \ SQL Native Client 10.0

Vì vậy, tôi đã mở RegEdit và tìm khóa đó

Tôi đã nhấp chuột phải -> Quyền và thêm Dịch vụ mạng vào danh sách và cấp cho nó quyền Đọc.

Đã tái chế nhóm ứng dụng và hiện nó đang hoạt động!

Hy vọng điều này sẽ hữu ích! Federico

* Có một bài viết từng bước rất hay về cách sử dụng trình theo dõi quá trình ở đây.

http://www.iislogs.com/articles/processmonitorw3wp/



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Kiểu dữ liệu của Cột thay thế với khóa chính

  2. SQL Server - Truy vấn sysobjects

  3. SQL Server (TSQL) - Có thể thực thi các câu lệnh song song không?

  4. Tự động hóa khôi phục kiểm tra cơ sở dữ liệu trong SQL Server

  5. Cách chủ động thu thập thông tin phân mảnh chỉ mục máy chủ SQL