SSMS、T-SQL、PowerShell を駆使した SQL Server 2008 ユーザー権限付与
SQL Server 2008 におけるユーザーへの権限付与
SQL Server Management Studio (SSMS) を使用する
- SSMS を開き、該当する SQL Server インスタンスに接続します。
- オブジェクト エクスプローラーで、権限を付与するデータベースを展開します。
- セキュリティ フォルダを展開し、ユーザー フォルダを選択します。
- 権限を付与するユーザーを右クリックし、 プロパティ を選択します。
- アクセス許可 ページを選択します。
- 権限を付与するオブジェクトの種類 (データベース、スキーマ、オブジェクト など) を選択します。
- 該当するオブジェクトを選択します。
- アクセス許可 タブで、付与する権限を選択します。
- OK をクリックします。
T-SQL を使用する
GRANT <権限> TO <ユーザー名>
[ON <データベース名>]
[AS <ロール名>]
<権限>
: 付与する権限を指定します。詳細は、SQL Server のドキュメントを参照してください。<ユーザー名>
: 権限を付与するユーザー名を指定します。<データベース名>
(オプション): 権限を付与するデータベースを指定します。省略すると、現在のデータベースが使用されます。<ロール名>
(オプション): ユーザーを割り当てるロール名を指定します。
例:
GRANT SELECT, INSERT, UPDATE, DELETE
ON AdventureWorks
TO johndoe
この例では、johndoe
ユーザーに AdventureWorks
データベースに対する SELECT
、INSERT
、UPDATE
、DELETE
権限が付与されます。
補足:
- ユーザーに権限を付与する前に、そのユーザーが作成されていることを確認してください。
- ユーザーに権限を付与する際は、そのユーザーに必要な権限のみを付与するようにしてください。
SQL Server 2008 でユーザーに権限を付与するサンプルコード
例 1: ユーザーにデータベースに対する権限を付与する
USE AdventureWorks;
GRANT SELECT, INSERT, UPDATE, DELETE
ON AdventureWorks
TO johndoe;
USE AdventureWorks;
GRANT EXECUTE
ON dbo
TO johndoe;
この例では、johndoe
ユーザーに dbo
スキーマに対する EXECUTE
権限が付与されます。この権限により、johndoe
ユーザーは、dbo
スキーマ内のストアド プロシージャを実行することができます。
USE AdventureWorks;
GRANT SELECT
ON dbo.Customers
TO johndoe;
例 4: ユーザーをロールに割り当てる
USE AdventureWorks;
CREATE ROLE db_readers;
GRANT SELECT
ON AdventureWorks
TO db_readers;
GO
ADD USER johndoe TO db_readers;
この例では、まず db_readers
という名前のロールを作成します。次に、AdventureWorks
データベースに対する SELECT
権限を db_readers
ロールに付与します。最後に、johndoe
ユーザーを db_readers
ロールに割り当てます。これにより、johndoe
ユーザーは AdventureWorks
データベースに対する SELECT
権限を自動的に取得します。
これらの例はほんの一例です。SQL Server 2008 でユーザーに権限を付与する方法は他にもたくさんあります。詳細については、SQL Server のドキュメントを参照してください。
SQL Server 2008 でユーザーに権限を付与するその他の方法
SQL Server Management Studio Integrated Security を使用すると、Windows 認証を使用して SQL Server にログインできます。この場合、ユーザーに権限を付与するには、次の手順を実行します。
- Windows ユーザー ページを選択します。
- オブジェクトの選択 ダイアログ ボックスで、権限を付与する Windows ユーザーを選択します。
SQL Server PowerShell を使用すると、PowerShell コマンドレットを使用して SQL Server を管理できます。この場合、ユーザーに権限を付与するには、次のコマンドレットを使用します。
Grant-SqlServerPermission -LoginName johndoe -DatabaseName AdventureWorks -PermissionType Select,Insert,Update,Delete
Transact-SQL を使用してロールを作成し、ユーザーをそのロールに割り当てることもできます。これにより、ユーザーに一括で権限を付与することができます。
USE AdventureWorks;
CREATE ROLE db_readers;
GRANT SELECT
ON AdventureWorks
TO db_readers;
GO
ADD USER johndoe TO db_readers;
これらの方法は、より高度なユーザー向けです。SQL Server 2008 でユーザーに権限を付与する場合は、最良の方法を選択することが重要です。
sql sql-server sql-server-2008