it-swarm.com.de

SQL Server hat für die Anmeldung (Utilisateurs) ein Konto bei db_owner erstellt

Nous souhaitons donner à db_owner accès via un script. Gewohnheit, nous devrions Entrer dans connexions und cliquer avec le bouton de la souris sur le nom dutilisateur, puis sur Mappage utilisateur und sélectionner in der Basis von donées à la source l'associer. Donnez-lui un accès propriétaire, puis cliquez surOK.

24
user516883

Sie müssen zwei Schritte ausführen, die beide im Kontext der Zieldatenbank ausgeführt werden (d. H. Zuerst USE (database) ausführen):

  1. Fügen Sie diesen Benutzer als Login zur Datenbank hinzu: CREATE USER [LoginName] FOR LOGIN [LoginName]
  2. Fügen Sie diesen Benutzer der Rolle hinzu: EXEC sp_addrolemember N'db_owner', N'LoginName'

Wenn Sie über SQL Server Management Studio 2005 oder höher verfügen, können Sie im Allgemeinen für eine Operation in die Benutzeroberfläche gehen, das Dialogfeld ausfüllen (in diesem Fall den Benutzer der Datenbank zuweisen und Rollen hinzufügen) und dann auf die Schaltfläche " Script "Button oben. Anstatt den Befehl auszuführen, schreibt er ein Skript für die Aktion in ein neues Abfragefenster.

49
Tadmas

Verwenden Sie sp_addrolemember

EXEC sp_addrolemember 'db_owner', 'MyUser'

13
HardCode

So verwenden Sie ALTER ROLE mit einem vorhandenen Server-Login namens MyLogin.

USE MyDatabase
CREATE USER MyLogin FOR LOGIN MyLogin
ALTER ROLE db_owner ADD MEMBER MyLogin
GO

https://docs.Microsoft.com/de-de/sql/t-sql/statements/alter-role-transact-sql

3
Shaun Luttin

Ich möchte eine andere Lösung vorschlagen, die jemandem helfen könnte ...

-- create the user on the master database
USE [master] 
GO
CREATE LOGIN [MyUserName] WITH PASSWORD=N'MyPassword'
CREATE USER [MyUserName] FOR LOGIN [MyUserName]
GO

-- create the user on the target database for the login
USE [MyDatabaseName]
GO
CREATE USER [MyUserName] FOR LOGIN [MyUserName]
GO

-- add the user to the desired role
USE [MyDatabaseName]
GO
ALTER ROLE [db_owner] ADD MEMBER [MyUserName]
GO
1
user1477388