سؤال

بشكل افتراضي إذا كان الاتصال إلى ملقم SQL بعيد عبر حساب لديه حق الوصول إلى القول 1 من 10 قواعد البيانات.سوف لا تزال ترى في "مستكشف كائن" جميع قواعد البيانات الأخرى ، من الواضح بسبب أذونات لا يمكنك في الواقع الاستعلام لهم ، ولكن يمكنك أن ترى أسمائهم.

لقد سمعت أن هناك طريقة تعطيل هذا السلوك ، ولكن كنت غير قادر على العثور على إجابة ، لا أحد يعرف كيفية القيام بذلك ؟ على سبيل المثال لدي SQL Server يسمى MyDbServer, له 4 قواعد البيانات ،

  1. MyDatabase
  2. YourDatabse
  3. PrivateDatabase
  4. ReallyPrivateDb

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

الأمن resons ، نحن لا نريد للمستخدمين لمعرفة أي قاعدة بيانات أخرى غير تلك التي تم تعيينها إلى.

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

المحلول

هذا بلوق يتحدث عن طرق إخفاء DBs لكل من SQL server 2000 و SQL server 2005.

نصائح أخرى

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

بإختصار:

use master
go
deny VIEW any DATABASE to login1
go

حيث login1 هو تسجيل الدخول إلى الحساب الذي تريد الحد.

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