読み取りおよび書き込みアクセス権を持つ特定のデータベースへのアクセスをユーザーに許可したい。ユーザーはすでにドメインで利用可能ですが、DBでは利用できません。
それでは、新しいユーザーとパスワードを作成して、そのアクセス権をどのように与えることができますか?
誰かが、新しいユーザーとパスワードを作成せずにユーザーにアクセスを許可したいユーザー、ドメイン、DBを指定するだけでそれができると言った。
これは私が実装していた古い方法です。それは動作しますが、ドメインで利用可能なものを使用するのではなく、新しいログインとユーザーを作成します:
use DBName;
create login a_2 with password='Aa123';
create user a_2 for login a_2;
grant insert to a_2;
grant select to a_2;
これは2段階のプロセスです。
windowsアカウントに基づいて、そのユーザーのSQL Serverにloginを作成する必要があります
CREATE LOGIN [<domainName>\<loginName>] FROM WINDOWS;
データベースにアクセスするには、次のログイン許可を付与する必要があります。
USE (your database)
CREATE USER (username) FOR LOGIN (your login name)
そのユーザーをデータベースに追加したら、必要な権限を与えることができます。 db_datareader
データベースロールを割り当てて、すべてのテーブルを読み取ることができます。
USE (your database)
EXEC sp_addrolemember 'db_datareader', '(your user name)'