2010-04-01 27 views
7

Tôi đã thiết lập trang web của mình để sử dụng Tư cách thành viên ASP.NET. tất cả đều hoạt động tốt khi cố gắng sử dụng nó trên máy phát triển của tôi nhưng khi tôi đặt nó trên máy chủ web và cố gắng đăng nhập, tôi nhận được lỗi này:Không thể cập nhật cơ sở dữ liệu vì nó là chỉ đọc

"Failed to update database "C:\INETPUB\WWWROOT\APP_DATA\ASPNETDB.MDF" because the database is read-only. " 
+0

Tệp có chỉ đọc không? Tài khoản người dùng asp có quyền ghi vào thư mục cơ sở dữ liệu không? –

Trả lời

11

cảm ơn sự trợ giúp. Tôi vừa tìm ra một giải pháp. trong App_Data ACL, tôi có hai mục: Network Service và IIS_IUSRS. tài khoản dịch vụ mạng có đầy đủ quyền nhưng nhóm IIS_IUSRS chỉ đọc quyền truy cập. vì vậy, tôi đã cấp quyền truy cập đầy đủ cho IIS_IUSRS và nó đã hoạt động!

cảm ơn một lần nữa.

1

Tài khoản người dùng mà trang web đang chạy theo nhu cầu ghi quyền trên tệp.

Cũng có khả năng tệp đó chỉ đọc là kết quả của quá trình chuyển và cần được đặt thành có thể ghi.

+0

Tôi đã cấp quyền đầy đủ cho tài khoản Dịch vụ mạng. Tôi đang sử dụng Windows 7 – Attilah

+0

Bạn có thể đăng chuỗi kết nối không? – Oded

+1

Xin chào Oded, cảm ơn sự giúp đỡ. Tôi vừa tìm ra một giải pháp. trong App_Data ACL, tôi có hai mục: Network Service và IIS_IUSRS. tài khoản dịch vụ mạng có đầy đủ quyền nhưng nhóm IIS_IUSRS chỉ đọc quyền truy cập. vì vậy, tôi đã cấp quyền truy cập đầy đủ cho IIS_IUSRS và nó đã hoạt động! – Attilah

2

Kiểm tra tệp đó trên đĩa. Nhấp chuột phải và đi đến thuộc tính.

Nếu đó là tệp chỉ đọc, bạn sẽ cần phải làm cho tệp có thể ghi.

+0

có, tệp là read-only.it kế thừa hành vi này từ thư mục mẹ App_folder. điều thú vị là khi tôi cố gắng bỏ đặt thư mục App_Data từ chỉ đọc, nó trở lại chỉ đọc. không biết phải làm gì ... – Attilah

+1

Tôi đã có một vấn đề tương tự không nhận thấy rằng TFS đặt nó thành chỉ đọc sau khi đăng ký. –

2

Nếu tệp là chỉ đọc và bạn dường như không thể thay đổi tệp bằng cửa sổ Thuộc tính, bạn phải sử dụng dấu nhắc lệnh.

Refer to this Support article at Microsoft.

+0

cảm ơn Greg, nhưng điều đó vẫn không giải quyết được vấn đề. – Attilah

5

Đừng quên khởi động lại IIS với "iisreset.exe" sau khi thay đổi các điều khoản

+0

Điều này thực sự hữu ích, các quyền đã thay đổi chỉ được áp dụng khi IIS được khởi động lại. –

1

Tôi đi theo câu trả lời của Attilah và thấy: 1. Cả hai IIS-ISUR, WebService có đầy đủ pomission đến App_Data và mdf. 2. Nhưng ai đó gọi là "hồ bơi asp.net 4.0" và "tất cả người dùng" thì không, vì vậy tôi đã cho phép họ.

Sau đó 3. Tôi đã trả lời câu trả lời của người dùng1280392 để chạy "iisreset" nhưng không thành công (nhưng vẫn chạy).

Sau đó, tôi đã đi đến quản lý IIS và đã làm điều này: 4. Nhấp vào tên của máy chủ, nhấp vào "khởi động lại" ở bên phải. 5. Nhấp vào tên ứng dụng, nhấp vào "khởi động lại" ở bên phải.

và điều đó là ổn.

Các vấn đề liên quan