2011-08-29 15 views
17

私たちは、テストデータベースと、スクリプトを介してdb_ownerへのアクセスを許可するいくつかのテストログインを持っています。通常、ログインに入り、ユーザー名を右クリックしてユーザーマッピングに移動し、関連付けるデータベースを選択し、所有者のアクセス権を与えて、OKをクリックする必要があります。ログイン(ユーザー)を与えるSQL Server db_ownerデータベースへのアクセス

答えて

39

あなたは、両方のターゲット・データベースのコンテキストで実行されている、2つのことを行う必要がある(すなわち、最初のUSE (database)を実行) :CREATE USER [LoginName] FOR LOGIN [LoginName]

  1. は、データベースへのログインとそのユーザーを追加します。 210
  2. はロールにそのユーザーを追加します:EXEC sp_addrolemember N'db_owner', N'LoginName'

を一般的に、あなたはSQL Server Management Studioの2005以上を持っている場合、あなたは、操作のためのUIに入り、この場合、(ダイアログボックスに必要事項を記入することができ、ユーザーをデータベースに割り当てます(ロールを追加する&)、上部にある[スクリプト]ボタンをクリックします。コマンドを実行する代わりに、アクションのスクリプトを新しいクエリウィンドウに書き込みます。

+1

ユーザーがすでに存在する場合は、最初にデータベースにマップし、sp_addrolemember SPを実行するだけです。これはできますか? – user516883

+0

データベース*へのマッピングは*最初のクエリです。これは、ログイン(ユーザー名/パスワード)が既にサーバー上に作成されていることを前提としています。ターゲットデータベースの 'sys.database_principals'を見れば、既にマッピングされているかどうかを確認することができます。おかげさまで – Tadmas

+0

まさに私が必要としたもの。 – user516883

7

使用sp_addrolemember

EXEC sp_addrolemember 'のdb_owner'、 'MyUserと'

+1

私はそれはメッセージ15410、レベル11、状態1、プロシージャsp_addrolememberを言う1ということと試みたが、ライン75 ユーザーまたはロール 'QA-Tester1' は、このデータベースに存在しません。 – user516883

関連する問題