كيف يمكنني إنشاء جدول من الأذونات الممنوحة لجداول قاعدة البيانات لمستخدم قاعدة البيانات؟

StackOverflow https://stackoverflow.com/questions/212681

  •  03-07-2019
  •  | 
  •  

سؤال

ولدي قاعدة بيانات SQL Server 2000 مع حوالي بضع مئات من الجداول. هناك العديد من حسابات المستخدمين SQL التي يمكن الوصول إلى قاعدة البيانات هذه ولكن كل واحد له أذونات مختلفة الممنوحة على الجداول في DB.

وكيف أقوم بإنشاء النصي أن تعطيني تقرير الأذونات الممنوحة لمستخدم معين. أي لتوليد شيء من هذا القبيل:

Table      SELECT   DELETE   UPDATE    INSERT    ALTER
-----      ------   ------   ------    ------    -----
Invoices   Yes      No       Yes       Yes       No
Orders     Yes      Yes      Yes       Yes       No
Customers  Yes      No       Yes       Yes       No

ووهلم جرا. إنه يوم الجمعة، يا SQL-فو منخفضة اليوم ولدي مليون أشياء أخرى يجب القيام به قبل الحصول على الانتهاء هنا اليوم وإذا كان شخص ما نصي مفيد للقيام بذلك بالفعل ثم وسأكون ممتنا إلى الأبد:)

هل كانت مفيدة؟

المحلول

Select TABLE_NAME, PRIVILEGE_TYPE
from INFORMATION_SCHEMA.TABLE_PRIVILEGES 
where GRANTEE = @username

وهذا وستعمل في خادم SQL 2000/2005/2008

نصائح أخرى

وأنا لست متأكدا إذا كان يعمل هذا الإجراء SQL 2000 أم لا، فإنه لا تحصل على الشكل الصحيح، ولكن قد تحصل على جزء من الطريق هناك، يمكنك يمكنكم محور بها للحصول على الشكل الخاص بك.

sys.sp_helprotect @Username = 'myUser'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top