SQL Server認証を通じてODBC接続を確立できる必要があります。
SSMSでは、特定のデータベースですべての権利を持つことができるようにユーザーに許可を与えるにはどうすればよいですか?
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パーミッションを細かく付与できます。
これはすべて SQL ServerのMSDN Books Online に文書化されています。
そして、はい、グラフィカルに行うこともできます-SSMSで、データベースにアクセスし、Security > Users
にアクセス許可を付与するユーザーを右クリックし、下部にあるProperties
adnで、「データベースロールメンバーシップ」を表示します。ユーザーをdbロールに追加します。
本当にすべての権利を持たせたい場合:
use YourDatabase
go
exec sp_addrolemember 'db_owner', 'UserName'
go
次のように。ユーザーデータベースの所有者になります。
EXEC sp_addrolemember N'db_owner', N'USerNAme'