1. ホーム
  2. sql

[解決済み] SQL Server 2008: ユーザー名に特権を与えるにはどうすればよいですか?

2022-10-17 21:33:35

質問

SQL Server 認証による ODBC 接続を確立できるようにする必要があります。

SSMS で、特定のデータベースでユーザーが ALL RIGHTS を持つことができるように許可を与えるにはどうすればよいですか。

は、SSMS でこれをグラフィカルに行う方法はありますか?

どのように解決するのですか?

ユーザーにすべての読み取り権限を与えたい場合、以下の方法があります。

EXEC sp_addrolemember N'db_datareader', N'your-user-name'

これはデフォルトの db_datareader ロール (すべてのテーブルの読み取り権限) をそのユーザに追加します。

また db_datawriter ロールがあります - これはユーザーにすべてのテーブルの WRITE パーミッション (INSERT、UPDATE、DELETE) を与えるものです。

EXEC sp_addrolemember N'db_datawriter', N'your-user-name'

より細かく指定する必要がある場合には GRANT コマンドを使うことができます。

GRANT SELECT, INSERT, UPDATE ON dbo.YourTable TO YourUserName
GRANT SELECT, INSERT ON dbo.YourTable2 TO YourUserName
GRANT SELECT, DELETE ON dbo.YourTable3 TO YourUserName

など、特定のテーブルに対して細かくSELECT, INSERT, UPDATE, DELETE権限を与えることができます。

これはすべて MSDN ブックス オンライン for SQL Server .

また、グラフィカルに行うこともできます。SSMS でデータベースに移動して Security > Users で、権限を与えたいユーザーを右クリックして、次に Properties をクリックすると、下部に "データベースロールメンバーシップ" が表示され、ユーザーをデータベースロールに追加することができます。