Я сталкиваюсь со следующей ошибкой:
Cannot grant, deny, or revoke permissions to sa, dbo, entity owner, information_schema, sys, or yourself.
когда я пытался эти команды
USE ASPState
GO
GRANT EXECUTE ON CreateTempTables TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON DeleteExpiredSessions TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON GetMajorVersion TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON GetHashCode TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetAppID TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItem TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItem2 TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItem3 TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItemExclusive TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItemExclusive2 TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetStateItemExclusive3 TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempGetVersion TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempInsertStateItemLong TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempInsertStateItemShort TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempInsertUninitializedItem TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempReleaseStateItemExclusive TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempRemoveStateItem TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempResetTimeout TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempUpdateStateItemLong TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempUpdateStateItemLongNullShort TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempUpdateStateItemShort TO [R2Server\AAOUser]
GO
GRANT EXECUTE ON TempUpdateStateItemShortNullLong TO [R2Server\AAOUser]
GO
Итак, как мне узнать, какие разрешения у моей учетной записи R2Server\AAOUser
для базы данных ASPState
? и как можно устранить ошибку (чтобы я мог предоставить эти разрешения моей учетной записи)?
sysadmin
ниdb owner
.)db owner
использую Microsoft SQL Server Management Studio. Таким образом, я могу сделать вывод, что мне не нужно давать никаких разрешений, поскольку я являюсь владельцемASPState
базы данных. правильно?Ответы:
Что касается комментариев, если вы уже являетесь владельцем базы данных этой базы данных, вам не нужно предоставлять никаких разрешений для базы данных.
Теперь, чтобы выяснить, какие конкретно у вас есть разрешения, вы можете использовать следующие запросы:
найти разрешения на конкретную базу данных:
найти разрешения на всем сервере:
Другие сведения см. Здесь: Узнайте имена входа SQL Server и соответствующие роли сервера на форуме MSDN.
источник
AdventureWorks2008R2
свое имя базы данных.fn_my_permissions
Часть одинакова для всех баз данных.