ماهو الافضل في عملية الاتصال ؟
استخدام
Windows Authentication
او
Sql server Authentication
ولماذا !
ماهو الافضل في عملية الاتصال ؟
استخدام
Windows Authentication
او
Sql server Authentication
ولماذا !
إختيارك للطريقة المناسبة يعتمد على أشياء كثيرة منها الصلاحيات الممنوحة للمستخدمين لقاعدة البيانات...
بمعنى إذا كنت تريد مستخدم معين يقوم بعملية الـ Backup فعليك إعطائه هذه الصلاحية عن طريق SQL Server Authentication على سبيل المثال و هكذا..
في هذا الرابط ستجد العديد من المقالات التي قد تفيدك في إستخدام الطريقة المناسبة..
و هذه المقالة المفيدة أيضاً لـ طارق إبراهيم: الامان فى MS SQL Server
تم تعديل هذه المشاركة بواسطة محمد عبد العليم في 20 مايو 2007 في 00:57
رأس الحكمة الإيمان بالله
اشكرك استاذ محمد عبد العليم
ووصلت لما اريد من خلال مقال الاخ طارق إبراهيم
طيب ممكن سؤال بنفس الموضوع وهو كما يلي
ايهما افضل ...
- ان اتصل بقاعدة السيرفر من اجهزة العملاء بدون MSDE (اي فقط اضع رقم الايبي للجهاز الذي يحتوي قاعدة بيانات )
- ام اتصل بقاعدة السيرفر بتنصيب اداوت في اجهزة العملاء Clinet
وهل يستوجب انشاء يوزر في حال استخدام هذه الخاصية Windows Authentication .. أم فقط اكتفي بصلاحيات الافتراضيه Sa
فالاخ طارق لم يوضح هذه المسأله
اقتباس- ان اتصل بقاعدة السيرفر من اجهزة العملاء بدون MSDE (اي فقط اضع رقم الايبي للجهاز الذي يحتوي قاعدة بيانات )- ام اتصل بقاعدة السيرفر بتنصيب اداوت في اجهزة العملاء Clinet
أجهزة العملاء لا تحتاج تنصيب أي أدوات، فقط قم بوضع الـ IP الخاص بالسيرفر في الـ Connection String كما قلت أنت..
اقتباسوهل يستوجب انشاء يوزر في حال استخدام هذه الخاصية Windows Authentication
في حال إستخدام الـ Windows Authentication لا نقوم بإنشاء user جديد، انما كل من هو له الصلاحية في الدخول على الويندوز تكون له الصلاحية للإتصال بقاعدة البيانات بطريقة إفتراضية..
اقتباسأم فقط اكتفي بصلاحيات الافتراضيه Sa
لو قمت بإستخدام هذه الطريقة فإن هذا معناه إنك تستخدم الـ SQL Server Authentication أو الـ Mixed Mode
لو كنت تريد إستخدام الـ SQL Server Authentication فعليك تحديد كلمة المرور الخاصة بحساب الـ sa ، و وضع هذه الإعتمادات (أي كلمة المرور PWD و الـ sa كـ UID) في الـ Connection String الخاص بالتطبيق، لكن إحذر... فحساب الـ sa له كل الصلاحيات، و أن كنت تريد إعطاء صلاحيات معينة لمستخدم معين قم بإنشاء Login جديد (أي user جديد) و ضعه في الـ Role المناسب لصلاحياته، ثم قم بوضع الإعتمادات الخاصة به في الـ Connection String على جهازه.
رأس الحكمة الإيمان بالله
اقتباسأجهزة العملاء لا تحتاج تنصيب أي أدوات، فقط قم بوضع الـ IP الخاص بالسيرفر
اشكرك ... لأني بالفعل كنت محتار في هذه النقطة خصوصا انها تضبط بدون اداوات .. ولكن راودني الشك بأن طريقتي قد تكون خاطئه
طيب يا استاذ محمد عبد العليم
اتمنى ان تتحمل اسئلتي قليلا واريد ان اسئل عندما اتصل برقم IP الخاص بالسيرفر تكون عملية الاتصال بطيئة نوعا حيث يستغرق البرنامج لظهور 5 الى 10 ثواني ... وقمت بازالة اكواد الاتصال من حدث التحميل ووضعتها في زر امر ولكن البرنامج يصبح في حالة تصلب اثناء الاتصال في خلال المدة التي ذكرتها ومن ثم يفتح كل شي طبيعي فهل هذا طبيعي اما هناك خلال في اكواد الاتصال او ماذا ؟ خصوصا ان 5 او 10 ثواني تعتبر كثيرة .جدااااا
وهناك امر اخر اذا قمت بتنصيب SQL Server بالاختيار التالي Windows Authentication
كيف اغير هذه الخاصية الى SQL Server Authentication
اقتباسعندما اتصل برقم IP الخاص بالسيرفر تكون عملية الاتصال بطيئة نوعا حيث يستغرق البرنامج لظهور 5 الى 10 ثواني ... وقمت بازالة اكواد الاتصال من حدث التحميل ووضعتها في زر امر ولكن البرنامج يصبح في حالة تصلب اثناء الاتصال في خلال المدة التي ذكرتها ومن ثم يفتح كل شي طبيعي فهل هذا طبيعي اما هناك خلال في اكواد الاتصال او ماذا ؟ خصوصا ان 5 او 10 ثواني تعتبر كثيرة .جدااااا
أعتقد إنك تستخدم SQL Server 2000 طالاما إن هذه المشكلة تحدث معك... و يوجد حلان، الأول هو تنزيل SQL Server SP2 و تنصيبه على السيرفر، الثاني هو بدلاً من وضع الـ IP في الـ Connection String ضع إسم السيرفر... لكن الأفضل أن تقوم بتحميل SP2 و تنصيبها..
اقتباسوهناك امر اخر اذا قمت بتنصيب SQL Server بالاختيار التالي Windows Authenticationكيف اغير هذه الخاصية الى SQL Server Authentication
إفتراضاً إنك تعمل على SQL Server 2000 .. إقتح الـ Enterprise Manager -->> إضغط على علامة + بجانب Microsoft SQL Servers -->> ثم SQL Server Group -->> ثم إضغط بالزر الأيمن على إسم السيرفر (غالباً سيكون local) و ‘ختر Properties ثم إضغط على Security ثم إختر SQL Server and Windows
رأس الحكمة الإيمان بالله
اقتباسأعتقد إنك تستخدم SQL Server 2000 طالاما إن هذه المشكلة تحدث معك... و يوجد حلان، الأول هو تنزيل SQL Server SP2 و تنصيبه على السيرفر، الثاني هو بدلاً من وضع الـ IP في الـ Connection String ضع إسم السيرفر... لكن الأفضل أن تقوم بتحميل SP2 و تنصيبها..
بالفعل استخدم هذا الاصدار مع التحديث SP4 هل اطبق ما قلت مع هذا التحديث ام لا بد ان استقر على sp2
اما بالنسبة للشق الثاني
فقد قمت بتغير الخاصية وظهرت لي نافذة لأداخال كلمة المرور فهل سأغير كلمة المرور الخاصة بـ Sa ام ماذا
تم تعديل هذه المشاركة بواسطة vBsQ في 21 مايو 2007 في 23:26
Technical Lead Developer
اللهم قنى شر الجهل و الجهلاء
( اقْتَرَبَ لِلنَّاسِ حِسَابُهُمْ وَهُمْ فِي غَفْلَةٍ مَّعْرِضُونَ ) {الأنبياء:1}
اخ Night Coder
الكلام كله وضح عندي الله يعطيك العافيه انت والاخ محمد
سأقول لكم ما يجري معي لكي تعرف مدى صحة ما اقوم به .....
الوضع كالتالي :
قمت بتنصيب قاعدة البيانات على جهاز تم اعطائه صلاحيات كامله من قبل السيرفر الويندز 2003 كـادمن ..... ولم اقم بتنصيبها على السيرفر مباشرة
وجعلت وضعيتها الافتراضية
Windows Authentication
اي بمعنى ان الجهاز الموجودة عليه القاعدة هو عضو من الشبكة
وعندما احاول ان اتصل بهذه القاعدة عن طريق IP الجهاز من خلال جهاز له صلاحيات يوزر لابد اولا ان اقوم بأدخال اسم المستخدم وكلمة المرور الخاصة بالجهاز ... وبعدها يتم الاتصال بنجاح
المشكلة في عملية الاضافة للقاعدة والتحديث وكأنه يمنع ذلك اذا كان الجهاز له صلاحيات يوزر ... اما اذا اتصلت بالقاعدة من جهاز له صلاحيات ادمن
لا توجد مشكلة .... ولكن تحديث عملية الاتصال ببطىء كما ذكرت ذلك سابقا ...وايضا تحدث مع الجهاز المعطى له صلاحيات يوزر
لهذا قلت لابد ان اجرب عملية الاتصال بشكل SQL Server and Windows
فهل ما اقوم به جيد ولا خطأ .....
انتظر التعليق
تم تعديل هذه المشاركة بواسطة vBsQ في 22 مايو 2007 في 11:00
في مايكروسوفت ينصحو ا دائما باستخدام Windows Authentication وخاصة في المؤسسات الكبيرة .
كذلك تستعمل Windows Authentication عند وجود دومين او سيرفر حتى يتم التحقق من صلاحيات المستخدم اي لا ان تستعمل نفس المستخدم على جميع الاجهزة للحصول على المصادقة فأنت في هذه الحالة كانك استخدمت مصادقة ال الاس قيول سيرفر.
لذلك اختصر على نفسك واستخدم مصادقة ال الاس قيول سيرفر مع استخدام مستخدم غير مدير النظام SA .
هذا الموضوع مغلق.