Cannot open database "xxxxx" requested by the login. The login failed.
Login failed for user 'xxxx\ASPNET'
ปัญหาเนื่องมาจากคุณ connect database เป็นแบบ Windows Authentication ปกติถ้าคุณ run ใน Development Server นั้นใช้งานได้เพราะมันจะนำ User ที่คุณใช้อยู่นั้น connect ซึ่งผมก็เดาว่าน่าจะเป็น Administrator
แต่เมื่อคุณนำมันมา run ใน IIS ไม่ได้เพราะ User ที่ทำการ connect database ให้คุณนั้นไม่ใช่ Administrator แต่เป็น ASPNET (ถ้าเป็น Windows Server จะเป็น NETWORK SERVICE) แก้ไขได้โดยการไปกำหนดสิทธิเพิ่มให้กับ user นั้น
- ไปที่ SQL Server Management Studio -> Connect
- ไปที่ Security -> Logins คลิ๊กขวา แล้วเลือก New Login...
- กดปุ่ม Search -> Advanced...-> Find Now ที่ Search results หา ASPNET แล้วกดปุ่ม OK 2 ครั้ง
- ทางซ้ายเลือก User Mapping ทางขวาบนเลือก Database ชื่อว่า Database ของเรา ทางขวาล่างเลือก db_owner กด OK
No comments:
Post a Comment