منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب
مشاركة قاعدة بيانات سيكول سيرفر - نسخة قابلة للطباعة

+- منتدى فيجوال بيسك لكل العرب | منتدى المبرمجين العرب (http://vb4arb.com/vb)
+-- قسم : قسم لغة الفيجوال بيسك VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=182)
+--- قسم : قسم اسئلة VB.NET (http://vb4arb.com/vb/forumdisplay.php?fid=183)
+--- الموضوع : مشاركة قاعدة بيانات سيكول سيرفر (/showthread.php?tid=32306)



مشاركة قاعدة بيانات سيكول سيرفر - makky - 01-12-19

عندي قاعدة بيانات mdf مدمجة مع البرنامج.عملت للفولدر اللي هي فيه مشاركة علي الشبكه .المشكله انا لو البرنامج فاتح علي جهاز الجهاز التاني ميقدرش يستخدم القاعده ويدي خطا.هل ليها حل ولا لازم اسطب السيكول سيرفر كامل واعمل attach للقاعده علي ال instance


RE: مشاركة قاعدة بيانات سيكول سيرفر - علي بنيان - 01-12-19

السلام عليكم
في هذا الفيديو اجابة مفصلة عن اسئلتك بطريقة احترافية






RE: مشاركة قاعدة بيانات سيكول سيرفر - ابو ليلى - 01-12-19

السلام عليكم و رحمة الله و بركاته
بالنسبة لنسخ LocalDB , هناك سناريو متبع لدى هذه الحزمة عندما يتم تنصيبها .
من المعروف لدينا انه اذا اردت تنصيب نسخة SQL SERVER تصل الى خطوة خاصة باعطاء اسم مفترض للسيرفر او تتركه على الخيار التلقائي (ما يسمى Named Instance).
مع Local DB الامر مختلف حيث هناك اسلوبين لتعريف (دعنا نقول السيرفر فرضأ)
-الحالة الاولى Automatic Instance ,يختار اسم لوحده (مرد ذلك وجود اكثر من نسخة او مشغل لنفس النسخة)؟؟
-الحالة الثانية Named Instanse , مملوكة من قبل تطبيق محدد بعينه هو المسؤول عن ادارتها, و هذا التكنيك جدا ممتاز لتوفير العزل لهذا المشغل (يوفر موارد النظام ويزيد من كفائة التشغيل في حال كان هناك اكثر من مستخدم لقاعدة واحدة و كل منهم يستخدم مشغله الخاص), يتم انشاء المشغل مسبقاً من قبل المستخدم من خلال دوال Api خاصة بالتعامل مع LocalDB , او من خلال ملف App.Config

وصلنا للمفيد:
لدعم عدة مستخدمين للتعامل مع نفس المشغل تم دعم:
-الحالة الثالثة Shared Instance ,مالك المشغل يمكن ان يسمح للمستخدمين الاخرين بالتشارك معه على المشغل.
كلال الحالتين السابقتين يمكن جعلهما قابلين للمشاركة و يجب ان يكون اسم المشغل فريد في الاسم (كون المشغل سيكون مرئي من كل الاجهزة) .
فقط مشغل واحد تشاركي يمكن انشائه , و يمكن جعله في لحظة غير تشاركي و اعادته للمشاركة.
لاتمام هذا الامر يجب عليك التعامل مع  SqlLocalDB Utilty   مجرد محرر اوامر يمكنك التعامل معه بتعليمات خاصة.
فمثلا لجعل مشغل تشاركي تكتب LocalDBShareInstance  و غير تشاركي  LocalDBUnShareInstance  
لمعلومات اوفى تابع الرابط التالي   SqlLocalDB Utilty
كما تجدر الاشارة الى ان هناك قواعد للمشاركة (مثل اختيار مجلد عام بعيد عن قرص النظام) لان التعامل مع القرص C يحتاج صلاحيات خاصة و غيرها...الخ
الشيئ الاخير هو نص الاتصال في حال المشاركة سيجري عليه تعديل بسيط تابعه في الرابط في الاسفل.
يمكنك قراءة المزيد في هذا المقال 
SQL Server Express LocalDB

الشيئ المخزي في هذه التقنية انها كان يجب ان تكون مضاهية لقواعد Sql Lite ولم تصل الى المطلوب
من عيوبها التي ستقع بها و اشيعها وقوعاً ,يتم اغلاق المشغل اذا قام الادمن بتسجيل الخروج, و كذلك المشغل يغلق نفسه تلقائيا بعد 5 دقائق  و لايتم اعادة تشغيله الا اذا تلقى اتصال جديد على القاعدة و ليس من اي مستخدم (من المستخدم الاداري فقط)
انصحك باستخدام SqlExpress  معها.

هناك مقالات يمكنك تصفحها و الاستفادة من معلوماتها.

Using LocalDB with Full IIS, Part 1: User Profile
Using LocalDB with Full IIS, Part 2: Instance Ownership

بالتوفيق