إن المستعرض الذي تستخدمه غير معتمد

إنك تحتاج إلى تحديث المستعرض لاستخدام الموقع.

التحديث إلى أحدث إصدار من Internet Explorer

INF: يعتمد تدقيق عرضاً قواعد بيانات سلسلة ملكية كائن على تسجيل الدخول التي تم تعيين مالكي كائن

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

اضغط هنا لرابط المقالة باللغة الانجليزية272424
تمت أرشفة هذه المقالة. وتظهر "كما هي" ولن يتم تحديثها بعد الآن.
الموجز
كتب SQL Server الفورية يوضح سلاسل الملكية يتم التحقق من الإجراءات المخزنة وطرق التي تعبر قواعد البيانات. يمكنك مشاهدة ذلك بسهولة عند تعيين مالك الكائنات التابعة في كل قاعدة بيانات تسجيل الدخول نفس. ومع ذلك، إذا كان لديك المستخدمين في كلا قواعد البيانات التي لها نفس الاسم المستخدم ولكن لا يتم تعيين تسجيل الدخول نفس (غالباً كما يحدث مع مالك قاعدة البيانات [DBO]) ، قد يبدو أن تكون عملية التحقق سلاسل الملكية بشكل غير صحيح. على سبيل المثال، إذا تم تعيين DBO لكل قاعدة بيانات تسجيل الدخول نفس مالك الكائنات الموجودة في قواعد البيانات هو DBO لم يتم تحديد أذونات. ومع ذلك، إذا تم تعيين DBO لكل قاعدة بيانات على تسجيل دخول مختلفة ، يتم تحديد سلاسل الملكية. يمكن أن يحدث هذا مع مستخدمين آخر غير DBO إذا تختلف أسماء المستخدمين أسماء تسجيل الدخول.
معلومات أخرى
يمكن منح أذونات على طريقة عرض أو إجراء مخزن مستخدم في قاعدة بيانات. إذا كان ذلك طريقة العرض أو الإجراء المخزن بالوصول إلى الكائنات في قاعدة بيانات أخرى التي يملكها مستخدم إلى تسجيل دخول مختلفة ، يتم تحديد الأذونات لكائنات الأساسي. إذا لم يكن للمستخدم أذونات على كائنات في قاعدة البيانات الأخرى ، يتم إرجاع الخطأ التالي:
تم رفض على كائن الإذن % ls خطأ 229: ' %. * ls '، أو قاعدة البيانات' %. * ls ، المالك ' %. * ls'.
ومع ذلك، في حالة تسجيل الدخول الأساسية المعينة الكائنات في الاستعلام نفسه ، لا يتم التحقق من الأذونات ويتم تنفيذ الاستعلام دون أخطاء أعلاه حتى إذا لم يكن لدى المستخدم أذونات إلى جداول المصدر.

لمشاهدة مثال عن هذا اتبع الخطوات التالية:
  1. تعيين لأعلى بيئة إعادة تشكيل مع قاعدتي بيانات مختلفتين; db1 قاعدة "المعارف" مع البيانات ويحتوي db2 طريقة عرض تحديد من الجدول في db1.
    USE masterGOCREATE DATABASE db1CREATE DATABASE db2EXEC sp_addlogin Owner1EXEC sp_addlogin Owner2EXEC sp_addlogin TestUserGO-- setup database #1, DBO is Owner1USE db1EXEC sp_changedbowner Owner1EXEC sp_adduser TestUserCREATE TABLE BaseTable (TableColumn CHAR(20))INSERT BaseTable VALUES ('Select Succeeded')GO-- setup database #2USE db2EXEC sp_adduser TestUserGOCREATE VIEW      CrossDatabaseView           AS SELECT * FROM db1.dbo.BaseTableGOGRANT SELECT  ON CrossDatabaseView           TO publicGO					
  2. تنفيذ التعليمات البرمجية التالية لعرض نتائج مختلفة استناداً إلى ما إذا كان DBO نفس أو مختلفة:
    SET NOCOUNT ONGOPRINT '***** results with both DBOs the same *****'PRINT ''USE db2EXEC sp_changedbowner Owner1SETUSER 'TestUser'GOSELECT * FROM CrossDatabaseViewGOSETUSERGOPRINT ''PRINT '***** results with each DBO different *****'PRINT ''USE db2EXEC sp_changedbowner Owner2SETUSER 'TestUser'GOSELECT * FROM CrossDatabaseViewGOSETUSERGO					
  3. تنظيف قواعد البيانات و تسجيلات الدخول التي تم إنشاؤها في هذا المثال:
    USE masterGODROP DATABASE db1DROP DATABASE db2EXEC sp_droplogin Owner1EXEC sp_droplogin Owner2EXEC sp_droplogin TestUserGO					
تقاطع الأمان BOL عبر بين DBO قاعدة البيانات المشتركة الملكية

تحذير: تمت ترجمة هذه المقالة تلقائيًا

خصائص

رقم الموضوع: 272424 - آخر مراجعة: 01/16/2015 20:41:58 - المراجعة: 4.3

  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 Standard Edition
  • kbnosurvey kbarchive kbmt kbinfo kbpending KB272424 KbMtar
تعليقات