我有一个在Amazon EC2上运行的SQL Server 2012数据库。我已经创建了一个用户,可以创建,编辑和删除数据库。我给新用户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/zh-cn/library/ms178613.aspx,db_owner角色应具有足够的权限。“需要数据库的CONTROL权限,ALTER ANY DATABASE权限或db_owner固定数据库角色的成员身份。”
我查找了错误615,发现“找不到数据库表ID%d,名称为'%。* ls'。” 这对我来说毫无意义。http://technet.microsoft.com/zh-CN/library/aa937592(v=sql.80).aspx
SQL Server版本信息: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
。