テストデータベースといくつかのテストログインがあり、スクリプトを使用してdb_ownerにアクセスを許可します。通常、ログインしてユーザー名を右クリックし、ユーザーマッピングに移動して、データベースを選択して関連付け、所有者にアクセスしてクリックする必要があります。 OK。
ターゲットデータベースのコンテキストで実行する(つまり、最初にUSE (database)
を実行する)という2つのことを行う必要があります。
CREATE USER [LoginName] FOR LOGIN [LoginName]
EXEC sp_addrolemember N'db_owner', N'LoginName'
一般に、SQL Server Management Studio 2005以降を使用している場合、操作のUIに移動してダイアログボックスに入力し(この場合、ユーザーをデータベースに割り当ててロールを追加します)、[上部の[スクリプト]ボタン。コマンドを実行する代わりに、アクションのスクリプトを新しいクエリウィンドウに書き込みます。
sp_addrolemember を使用します
EXEC sp_addrolemember 'db_owner'、 'MyUser'
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
私は誰かを助けるかもしれない別の解決策を提案したいと思います...
-- 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