Was ist das genaue SQL, das einem Benutzer in SQL Server zugewiesen werden soll, db_datareader
und welche db_datawriter
Rollen?
Der Benutzername ist MYUSER
und die Datenbank ist MYDB
.
Was ist das genaue SQL, das einem Benutzer in SQL Server zugewiesen werden soll, db_datareader
und welche db_datawriter
Rollen?
Der Benutzername ist MYUSER
und die Datenbank ist MYDB
.
Antworten:
In SQL Server 2012, 2014:
USE mydb
GO
ALTER ROLE db_datareader ADD MEMBER MYUSER
GO
ALTER ROLE db_datawriter ADD MEMBER MYUSER
GO
In SQL Server 2008:
use mydb
go
exec sp_addrolemember db_datareader, MYUSER
go
exec sp_addrolemember db_datawriter, MYUSER
go
So weisen Sie auch die Fähigkeit zu, alle gespeicherten Prozeduren für eine Datenbank auszuführen:
GRANT EXECUTE TO MYUSER;
So weisen Sie die Fähigkeit zu, bestimmte gespeicherte Prozeduren auszuführen:
GRANT EXECUTE ON dbo.sp_mystoredprocedure TO MYUSER;
Ab SQLServer 2012 eleganter ändern Rolle :
use mydb
go
ALTER ROLE db_datareader
ADD MEMBER MYUSER
go
ALTER ROLE db_datawriter
ADD MEMBER MYUSER
go
Es ist besser, eine neue Rolle zu erstellen, dann Ausführungsberechtigungen für diese Rolle zu erteilen, auszuwählen usw. und schließlich Benutzer dieser Rolle zuzuweisen.
Rolle erstellen
CREATE ROLE [db_SomeExecutor]
GO
Erteilen Sie dieser Rolle die Berechtigung
GRANT EXECUTE TO db_SomeExecutor
GRANT INSERT TO db_SomeExecutor
Um Benutzerdatenbank hinzuzufügen> Sicherheit >> Rollen> Datenbanksolen> Eigenschaften> Hinzufügen (unten rechts), können Sie AD-Benutzer suchen und dann hinzufügen
ODER
EXEC sp_addrolemember 'db_SomeExecutor', 'domainName\UserName'
Bitte beziehen Sie sich auf diesen Beitrag