it-swarm.asia

ما هي بعض أفضل الممارسات لاستخدام المخططات في SQL Server؟

أفهم القدرات لمخططات SQL Server ، ولكن ما هي أفضل الممارسات؟ من المؤكد أنها تعطي طبقة أخرى من الأمان ، وتوفر تجميعًا منطقيًا لكائنات قاعدة البيانات داخل قاعدة البيانات ، ولكن ما هو النموذجي الموجود هناك؟ في كثير من الأحيان ، في تجربتي ، لا أرى العديد من المخططات المخصصة المستخدمة. هل هذا نموذجي؟ هل هو السيناريو الأقل تكرارًا حيث يجب استخدام المخططات المخصصة؟

25
anon

نحن نستخدمهم

  • لفصل الأذونات لكل عميل (على سبيل المثال ، لدينا مخططات سطح المكتب و WebGUI وما إلى ذلك)
  • للتجميع المنطقي مثل (مخططات البيانات والتدريج لجداولنا).

ملاحظات مفيدة وعملية بعد الكتاب الأبيض الذي ذكره ماريان:

  • منح على المخطط: لا مزيد من الأذونات لكل كائن. لذا فإن proc الجديدة في مخطط WebGUI لديها أذونات المخطط تلقائيًا
  • مجموعات لطيفة في مستكشف كائن SSMS
  • OBJECT_SCHEMA_NAME
  • تضطر إلى تأهيل أسماء الكائنات (وهي أفضل ممارسة)
17
gbn

أعتقد أنه يمكن العثور على إجابة في هذه المقالة MSDN: أفضل ممارسات SQL Server - تنفيذ مخططات كائن قاعدة البيانات .

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

  • حماية كائنات قاعدة البيانات من التغيير من قبل المستخدمين دون علم مالك قاعدة البيانات
  • منع كائنات قاعدة البيانات ، وقواعد بيانات بائع البرامج المستقل (ISV) بشكل خاص ، من الوصول المخصص أو غير الصحيح للمستخدم مما يؤدي إلى ضعف أداء التطبيق
  • تجميع مجموعات الكائنات ذات الصلة (الكيانات المنطقية) معًا في قاعدة بيانات فعلية واحدة لتقليل النفقات الإدارية لقاعدة البيانات المادية ".

أستخدم بشكل خاص الجزء الثالث - ربط مجموعة الكائنات معًا بناءً على معناها المنطقي - مخططات مختلفة تنتمي إلى مشاريع مختلفة داخل نفس قاعدة البيانات.

15
Marian