У мене база даних 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 і виявив "Не вдалося знайти ідентифікатор таблиці бази даних% 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
.