SQL Server 2008:ユーザー名に特権を付与するにはどうすればよいですか?


102

SQL Server認証を通じてODBC接続を確立できる必要があります。

SSMSでは、ユーザーが特定のデータベースに対してすべての権利を持つことができるように、どのようにアクセス許可を付与しますか?

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

回答:


139

ユーザーにすべての読み取り権限を与えたい場合は、以下を使用できます。

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

これにより、db_datareaderそのユーザーにデフォルトのロール(すべてのテーブルに対する読み取り権限)が追加されます。

db_datawriterすべてのテーブルに対するすべての書き込み権限(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権限を細かく指定できます。

これはすべて、SQL ServerのMSDN Books Onlineに詳しく記載されています

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

代替テキスト


どういうわけか、SSMSのセキュリティツリーにユーザーノードがありません。ログインと資格情報のみです-これとは別に、sp_addrolememberが機能するためには、ユーザーが問題のデータベースにマップされている必要があります。データベースに存在します」というエラーが表示されます(stackoverflow.com/questions/7232559/…-承認された回答へのコメントを参照)-ユーザーのログインオブジェクトのプロパティを介してユーザーとデータベースのマッピングを作成できます
hello_earth

@ marc_s、SSMSを使用して特定のテーブルに関連する権限を付与するにはどうすればよいですか?
2014年



18

次のように。ユーザーデータベースの所有者になります。

EXEC sp_addrolemember N'db_owner', N'USerNAme'
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.