ما هو الحد الأدنى لدور SQL Server الذي يسمح بإنشاء/إسقاط المشغل؟

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

سؤال

المتطلبات المسبقة:

يوجد تطبيق عميل/خادم مكتوب في Delphi32.RDBMS هو SQL Server 2005.تتطلب وظيفة تطبيق معينة إنشاء/إسقاط المشغلات (من التطبيق الذي يستخدم عبارات DDL المخصصة) في قاعدة البيانات الهدف.

مشكلة:

إذا كان المستخدم ينتمي إلى أدوار مسؤول النظام، فلا توجد مشكلة في إنشاء/إسقاط المشغلات.ومع ذلك، يعتبر هذا دورًا متساهلاً للغاية بالنسبة لمستخدم التطبيق.

أسئلة:

  • ما هو الحد الأدنى القياسي (أي.الأكثر تقييدًا) دور SQL Server الذي يمكن استخدامه لإنشاء/إسقاط المشغلات؟
  • هل يشكل إنشاء دور مخصص، بدلاً من استخدام الأدوار القياسية، نهجًا أكثر دقة لحل هذه المشكلة؟
هل كانت مفيدة؟

المحلول

هناك خيارات مختلفة اعتمادًا على نطاق المنحة (أي مشغل في قاعدة بيانات، أو أي مشغل في مخطط أو جدول محدد).

بشكل عام، يتم توثيق الأذونات المطلوبة لعملية SQL في مرجع SQL.على سبيل المثالل CREATE TRIGGER على SQL 2008 انظر هنا (قم بالتمرير لأسفل إلى "الأذونات")، في هذه الحالة:

يتطلب مشغل DML إذن ALTER على الجدول أو العرض الذي سيتم إنشاء المشغل عليه

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

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top