web-dev-qa-db-ja.com

ログイン(ユーザー)データベースへのdb_ownerアクセス​​を与えるSQL Server

テストデータベースといくつかのテストログインがあり、スクリプトを使用してdb_ownerにアクセスを許可します。通常、ログインしてユーザー名を右クリックし、ユーザーマッピングに移動して、データベースを選択して関連付け、所有者にアクセスしてクリックする必要があります。 OK

28
user516883

ターゲットデータベースのコンテキストで実行する(つまり、最初にUSE (database)を実行する)という2つのことを行う必要があります。

  1. そのユーザーをデータベースへのログインとして追加します:CREATE USER [LoginName] FOR LOGIN [LoginName]
  2. そのユーザーをロールに追加します:EXEC sp_addrolemember N'db_owner', N'LoginName'

一般に、SQL Server Management Studio 2005以降を使用している場合、操作のUIに移動してダイアログボックスに入力し(この場合、ユーザーをデータベースに割り当ててロールを追加します)、[上部の[スクリプト]ボタン。コマンドを実行する代わりに、アクションのスクリプトを新しいクエリウィンドウに書き込みます。

53
Tadmas

sp_addrolemember を使用します

EXEC sp_addrolemember 'db_owner'、 'MyUser'

13
HardCode

MyLoginという名前の既存のサーバーログインでALTER ROLEを使用する方法を次に示します。

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

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

6
Shaun Luttin

私は誰かを助けるかもしれない別の解決策を提案したいと思います...

-- 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
5
user1477388