web-dev-qa-db-ja.com

Sql Serverデータベースの単一テーブルへの読み取りアクセスのみを許可する方法

特定のユーザー-xyzに対して、SQL Serverデータベースの単一テーブルへの読み取りアクセスのみを提供したい

これらの質問に答えました:

ユーザーにSQL Serverのデータベースへの読み取りアクセスを許可する方法は?

データベースへのSQL Serverログインアクセスの許可-SQL Server

SQL Server 2005の2つのテーブルへの読み取り専用アクセスを許可する最良の方法?

しかし、それは私にとっていくつかの基本的な質問を提起します。役割とユーザー名を介してアクセスを与えることの違いは何ですか?

これを行うための効率的な方法を提供してください

17
Sree

この方法でこの問題を回避しました。

CREATE LOGIN XYZ
WITH PASSWORD = 'PASSWORD'

XYZのログインが作成された後、作成された上記のログインのユーザーを作成します

CREATE USER xyz FOR LOGIN xyz

次に、選択、更新許可を付与します。私の場合は、特定のテーブルで選択するだけです

GRANT SELECT ON DBNAME.TABLE_NAME TO USERNAME

私がこれについて言及したソースは

  1. http://technet.Microsoft.com/en-us/library/aa337545.aspxというタイトルの下部のコード部分を参照)データベースユーザーを作成する))

  2. http://social.msdn.Microsoft.com/Forums/sqlserver/en-US/959f9307-0494-4883-9d17-fad684705864/grant-select-permission-on-a-table?forum=sqldatabaseengine

31
Sree

ユーザー名を介してアクセスを許可するのは、そのユーザーのみに固有です。

ただし、ロールを介したアクセス許可は、そのロールに属するすべてのユーザーに適用されます。ロールは、ユーザーのグループにアクセス許可を割り当てるために使用されます。