1

私は現在、テーブルの権限をチェックする必要があるvb.netプログラムを作成しています(テーブルが存在しない場合はデータベースの権限、データベースが存在しない場合はSQLサーバーの権限)

権限を確認する方法はありますか?

  • ユーザー「testuser」のテーブル「testdb.testtable」の権限を確認する方法
  • ユーザー "testuser" のデータベース "testdb" に対するアクセス許可を確認する方法
  • サーバー上でユーザー "testuser" のアクセス許可を確認する方法

私はグーグルで検索してきましたが、得られた結果は2ページの長さのSQLスクリプトでした。

4

2 に答える 2

1

また、別の SQL クエリを作成することもできました。ただし、ユーザーがデータベースにアクセスできない場合、これはエラーを返します。

SELECT pe.*,object_name(pe.major_id), pr1.name as Grantee, pr2.name as Grantor, pr1.create_date,pr1.default_schema_name  from sys.database_permissions as pe
join sys.database_principals as pr1 on pe.grantee_principal_id = pr1.principal_id 
join sys.database_principals as pr2 on pe.grantor_principal_id = pr2.principal_id
where pr1.name = CURRENT_USER 
go

「use ReplaceWithNameOfDatabase」を追加して

クエリはそのデータベースに対して尋ねます。

私は以前にMSSQLを実際に使用したことはなく、MYSQLのみを使用したことがあり、ユーザーログインデータの保存方法には多くの大きな違いがあるようです。

私はこのSQL Serverを見つけました:テーブルの権限は 、少し変更して機能しました

于 2013-10-17T10:40:25.873 に答える