ฉันมีฐานข้อมูล SQL Server 2012 ที่ทำงานบน amazon EC2 ฉันได้สร้างผู้ใช้เพื่อให้สามารถสร้างแก้ไขและวางฐานข้อมูลได้ ฉันให้ผู้ใช้ใหม่ด้วยdbcreator
บทบาทเซิร์ฟเวอร์
ผู้ใช้ของฉันสามารถเชื่อมต่อจากระยะไกลและรันcreate database foo;
คำสั่งได้สำเร็จ แต่เมื่อผู้ใช้พยายามวางฐานข้อมูลอีกครั้งด้วยdrop database foo;
คำสั่งล้มเหลวด้วยข้อผิดพลาดดังต่อไปนี้:
Warning: Fatal error 615 occurred at Feb 1 2014 5:15PM.
Note the error and time, and contact your system administrator.
ErrorCode: 21
แม้ว่าฐานข้อมูลที่เลือกคือmaster
(ดังนั้นฉันไม่คิดว่ามันเป็นเพราะมีการใช้งาน) และคำสั่งสำเร็จเมื่อฉันเรียกใช้อีกครั้งในฐานะผู้ใช้ที่เป็นผู้ดูแลระบบ
ฉันตรวจสอบฐานข้อมูลที่สร้างขึ้นใหม่และผู้ใช้ของฉันได้รับมอบหมายdb_owner
บทบาทในฐานข้อมูลตามที่ฉันคาดไว้ดังนั้นความเข้าใจของฉันคือสิ่งนี้ควรเป็นสิทธิ์ที่เพียงพอสำหรับผู้ใช้นั้นเพื่อให้สามารถวางฐานข้อมูลที่เพิ่งสร้างขึ้นได้
ตามที่http://technet.microsoft.com/en-us/library/ms178613.aspxบทบาท db_owner ควรมีสิทธิ์เพียงพอ "ต้องการสิทธิ์การควบคุมบนฐานข้อมูลหรือแก้ไขสิทธิ์ฐานข้อมูลใด ๆ หรือการเป็นสมาชิกในบทบาทฐานข้อมูลคงที่ db_owner"
ฉันค้นหาข้อผิดพลาด 615 และพบว่า "ไม่พบตารางฐานข้อมูล ID% d ชื่อ '%. * ls' ซึ่งไม่มีเหตุผลสำหรับฉัน http://technet.microsoft.com/en-us/library/aa937592(v=sql.80).aspx
ข้อมูลรุ่นของเซิร์ฟเวอร์ SQL: Microsoft SQL Server 2012 (SP1) - 11.0.3368.0 (X64) /n May 22 2013 17:10:44 /n Copyright (c) Microsoft Corporation/n Express Edition (64-bit) on Windows NT 6.2 <X64> (Build 9200: ) (Hypervisor)/n
- select @@version
จาก