الفريق العربي للبرمجةأرشيف المنتديات · 2000 – 2023
نسخة أرشيفية للقراءة فقط — التسجيل والمشاركة مغلقان، والمحتوى محفوظ كما كان.

كيف أحمي قاعدة البيانات الخاصة بي على السيرفر من التعديل؟

مغلق
بدأه Rashed_mg في 15 أغسطس 2007 · 13 رد · 2,103 مشاهدة · في قواعد بيانات Microsoft SQL Server
مشاركة: واتساب X فيسبوك تيليجرام
#1 صاحب الموضوع

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته . . .

الرجاء المساعدة من أخواني الأعزاء

عندي برنامج مصمم بــ VB6 + SQL SERVER 2000

وأريد أن أضعه على سيرفر وعدد 5 عملاء ولكن الذي حيرني ولم أجد الطريقة الشافية له :

1. طريقة قفل قاعدة البيانات حيث أني أدخل عليها بدون أن يطلب مني اسم مستخدم

(لم أحمّل قاعدة البيانات على السيرفر إلى الآن ولكن من شرح الشباب في المنتدى أعتقد أن الطريقة ليست صعبة ولكن أعتقد أن العميل يستطيع استعراض قاعدة البيانات كاملة والتعديل عليها )

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

2. طريقة ربط العملاء بالسيرفر مفصلة ولو كانت بالصور أكون من الشاكرين .

ما رأيكم بنظام التشغيل الأفضل لتحميله على السيرفر حيث أن الموجود الآن win2003 Server , أستطيع تغيير نظام السيرفر بدون مشاكل حيث أنه خارج العمل الآن .

ياليت الشرح يكون مفصل .

جزاكم الله خيراً على تعاونكم .

أخوكم : أبوإبراهيم .

#2

السلام عليكم ورحمة الله وبركاته

لا توجد طريقة الى حد ما لقفل القاعدة خاصة على مدير نظام الويندوز اي عنما تقوم بالدخول الى sql server تكون داخل كمدير النظام ولو دخل واحد اخر غير مدير النظام فلن يستطيع الدخول على القاعدة

وبالنسبة لاعطاء الصلاحيات افضل ان تراجع الدروس حيث يوجد ما تطلبه

طريقة الربط العملاء بالسيرفر وتتكلم عن vb6 فلا يوجد بها اي تعقيد سوى انك تريد تغيير connectionstring وهذا يعتمد على طريقة البرمجة اي يجب تغيير في connectionstring بدل localhost او النقطة اسم السيرفر

وبالنسبة ل win2003 Server اعتقد انه ممتاز وافضل من 2000

واسف على الاختصار

#3
اقتباس
فهل أستطيع إقفالها بحيث أضع عدة مستخدمين لقاعدة البيانات لكل منهم صلاحياته المستقلة بعضهم مدير وبعضهم مدخل وبعضهم مستعرض فقط .

أولاً العملية لا تسمى إقفال بل تحكم بالصلاحيات وهذا أمر ليس معقداً في SQL Server ..

خاصة إذا كان عندك الشبكة Domain يعني عندك ADS على الشبكة اللي هو السيرفر نفسه ..

يعني التحكم بالمستخدمين و صلاحيات كل منهم على الشبكة مركزي بهالحالة يعني على السيرفر نفسه .

بالتوفيق ..

post-35322-1187270306_thumb.png

post-35322-1187270388_thumb.png

post-35322-1187270422_thumb.png

post-35322-1187270442_thumb.png

تم تعديل هذه المشاركة بواسطة imadouzoun في 16 أغسطس 2007 في 16:20

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#4

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته . . .

جزاكم الله خيراً أخويّ العزيزين

الطريقة المستخدمة للربط بين البرنامج وقاعدة البيانات هي ODBC .

فهل معنى ذلك أنني لا أحتاج تحميل SQL SERVER 2000 على جهاز العميل .

عملت هذه المحاولة بعد إرسال السؤال :

حاولت أن أربط جهازين فيهما win xp pro sp2 مع بعض بحيث وضعت القاعدة SQL SERVER 2000 على جهاز

وحاولت ربط الجهاز الثاني عن طري إنشاء ODBC ووضعت اسم السيرفر واستخدمت SQL SERVER authentication واسم

المستخدم sa وتم قبول الاتصال بنجاح .

ملاحظة : عند استخدام WINDOWS authentication لا يقبل الاتصال .

لكن عند تشغيل برنامجي تظهر الرسالة التالية :

U11P_xSoRKpLKVF.JPG

ملحوظة : هل أحتاج تغيير عنوان الموضوع إذا كان طريقة الربط التي استخدمتها صحيحة ؟

أخوكم : أبوإبراهيم

#5

اولا لا تحتاج الى تنزيل sql server على الاجهزة الاخرى .

وبالنسبة لاتصال يمكنك استخدام sa او انشاء مستخدم اخر صلاحيات فقط على قاعدة البيانات وتتحكم بالصلاحيات من داخل برنامجك اي يكون مستخدم واحد لكل الاجهزة مثل sa

#6
TareqVB كتب:
اولا لا تحتاج الى تنزيل sql server على الاجهزة الاخرى .

وبالنسبة لاتصال يمكنك استخدام sa او انشاء مستخدم اخر صلاحيات فقط على قاعدة البيانات وتتحكم بالصلاحيات من داخل برنامجك اي يكون مستخدم واحد لكل الاجهزة مثل sa

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته . . .

جزاك الله خيراً أخي العزيز طارق على تفاعلك السريع

لكن لم تخبرني ما المشكلة التي سببت ظهور هذه الرسالة (التي ظهرت عند دخولي على برنامجي المصمم بـ vb ) :

U11P_xSoRKpLKVF.JPG

مع العلم أني أنشأت ODBC واخترت خيار SQL SERVER authentication وأدخلت اسم المستخدم sa وعند وصولي لخطوة اختبار الاتصال يتصل بنجاح لكن من داخل برنامجي يعطيني الرسالة السابقة .

لكن عند اختيار WINDOWS authentication والضغط على زر التالي تظهر الرسالة التالية :

U11P_t2dO3AU9c.JPG

ولا يسمح لي بإكمال خطوات إعداد ODBC .

أخوك : أبوإبراهيم .

#7

السلام عليكم ورحمة الله وبركاته :

اقتباس
اولا لا تحتاج الى تنزيل sql server على الاجهزة الاخرى .

معليش أخي طارق بس هذا الكلام غير دقيق و للتصحيح , يحتاج الأخ إلى تنصيب أدوات الزبائن يعني :

SQL Server Client Tools

وهذا الكلام طبعاً غير اللي عم تحكي عنو !

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

أما بالنسبة للأخ الكريم أبو ابراهيم :

اقتباس
لكن لم تخبرني ما المشكلة التي سببت ظهور هذه الرسال

فظهرت هذه الرسالة لتقول لك إن المستخدم Guest على الجهاز المذكور لا يحق له الاتصال بالـ SQL Server ..

يعني لازم تحل المشكلة كالتالي :

أن تتأكد من أن حساب الـ Windows الخاص بمستخدم الجهاز الذي ظهرت عليه المشكلة هذا قد تم

إضافته إلى الـ LogIns كما شرحت لك في المشاركة السابقة كيفية إضافة مستخدم من أحد أجهزة الشبكة ..

المشكلة أن الأعضاء لا يدققون بما نكتبه من أجلهم و هذه مشكلة ..

فمستخدم النظام الذي حاول الدخول والاتصال بالـ SQL Server ليس مضافاً إلى لائحة مستخدمي الـ SQL Server ..

بالتوفيق ..

تم تعديل هذه المشاركة بواسطة imadouzoun في 17 أغسطس 2007 في 00:47

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#8

اخ عماد يبدو انك لم تنتبه على ما ذكره الاخ ابو ابراهيم

اقتباس
عندي برنامج مصمم بــ VB6 + SQL SERVER 2000

فلماذا يحتاج SQL Server Client Tools ؟؟

وبالنسبة لاستخدام windows authentication اتصور انه لن بستطيع التعامل معها بسبب عدم وجود دومين وسيجد مشاكل كثيرة بها لذلك من الافضل له استخدام SQL authentication عن طريق المستخدم Sa

#9

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته . . .

غفر لكما ولوالديكما وإيانا ووالدينا ولجمبع المؤمنين والمؤمنات الأحياء منهم والأموات

آسف على سوء التفاهم الذي حصل بينكما

أستخدم VB6 + SQL SERVER 2000

طريقة الربط المستخدمة ODBC

ملحوظة : نحن في مكان موجود فيه شبكة لكنها تستخدم حاليا في الاتصال بالانترنت (الصلاحيات للدخول للإنترنت حسب الجهاز ولي حسب المستخدم فأي مستخدم للجهاز هذا admin أو guest يستطيع الدخول على الإنترنت من جهاز مسموح له بالدخول فقط) وتستخدم في الطباعة من أكثر من جهاز على طابعة واحدة .

السيرفر الذي سأضع فيه قاعدة البيانات ليس نفس السيرفر الذي عليه ISA الذي هو برنامج الاتصال بالانترنت.

وفهمت من كلامك أخي عماد : أن أنشئ Domain وأنشئ عليه مستخدمين ثم أدخلهم في قائمة مستخدمي SQL SERVER وأحدد صلاحياتهم .

لكن الطريقة هذي تكون متعبة للمستخدمين حيث سيضطرون للدخول Login إلى السيرفر , وأجهزتهم تستخدم دئماً خارج الشبكة فعندما يحتاجون استخدام أي برنامج أو أي ملف مخزن على الجهاز لن يستطيعوا استخدامه إلا بأن يعملوا خروج من الويندوز وإعادة الدخول إلى السيرفر .

فهل أستطيع إضافة الأجهزة إلى Domain وأضيفها في SQL SERVER بدون النظر للمستخدم الداخل على جهاز العميل ؟

وإذا لم تنفع هذه الطريقة , فسأعمل إعداد للسيرفر بالخطوات التي ذكرت ثم أخبرك بالناتج إن شاء الله ؟

ويا أخ طارق كيف أعمل اتصال بقاعدة البيانات باستخدام SQL authentication سواء عن طريق المستخدم Sa أو غيره , حيث أنني أنشأت المستخدمين وأنشأت ODBC كما ذكرت لك سابقاً ولكن لم ينفع ؟ لأني بحثت ولم أوفق بالإجابة .

أخوكم : أبوإبراهيم

#10
اقتباس
يا أخ طارق كيف أعمل اتصال بقاعدة البيانات باستخدام SQL authentication سواء عن طريق المستخدم Sa أو غيره , حيث أنني أنشأت المستخدمين وأنشأت ODBC كما ذكرت لك سابقاً ولكن لم ينفع ؟ لأني بحثت ولم أوفق بالإجابة .

الاجابة

اقتباس
وحاولت ربط الجهاز الثاني عن طري إنشاء ODBC ووضعت اسم السيرفر واستخدمت SQL SERVER authentication واسم

المستخدم sa وتم قبول الاتصال بنجاح .

#11
اقتباس
اخ عماد يبدو انك لم تنتبه على ما ذكره الاخ ابو ابراهيم

لا يا أخي الكريم أنا لا أجيب على أي سؤال قبل أن أفهمه جيداً ثم أنتقي الإجابة الأفضل إذا وجدت و أساعد غيري بها ..

فأنا لا أحب الإجابات المتسرعة أو الغير مدروسة و التي هدفها المشاركة لمجرد المشاركة فقط ..

أنا أحب الإجابات المفيدة و التي تنفع الآخرين .. تبقى هذه وجهة نظري ليس إلا ..

اقتباس
فلماذا يحتاج SQL Server Client Tools ؟؟

أنا الذي أريد أن أسألك لماذا يحتاج الـ SQL Server على بقية الأجهزة التي لا تتواجد عليها قاعدة البيانات و ليست السيرفر

الذي يريد الأخ وضع قاعدة البيانات عليه !!!

لا حظ ما قلته أنت :

اقتباس
اولا تحتاج الى تنزيل sql server على الاجهزة الاخرى .

فقط الجهاز المركزي (السيرفر) نقوم بتنصيب الـ SQL Server عليه أما أجهزة الشبكة الأخرى فلا داعي لتنصيب مخدم الـ SQL عليها .

فقط نقوم بتنصيب أدوات الزبائن (أدوات لازمة للإتصال بالسيرفر) و تسمى الـ SQL Server Client Tools ..

بالتوفيق أخي طارق و أخي أبو ابرهيم ..

تم تعديل هذه المشاركة بواسطة imadouzoun في 18 أغسطس 2007 في 19:47

دروس و كتب مفيدة----------------------كتيب الإجرائيات المخزنةتعرف على اللغة Transact SQL <<-->> كتيب عن تنصيب قواعد البيانات Sql Server باللغة العربية كتيب عن إنشاء قواعد البيانات في SQL Server باللغة العربية <<-->> درس مع الأمثلة عن المؤشرات و التعامل معها في الـ T-SQLالعبارات الشرطية و الحلقات في T-SQL <<-->> شرح لبعض الـ Extended Stored Procedure استخدام مكتبات الـ Dot Net الخاصة بك في الـ Sql Server 2005 <<-->> التعامل مع المصفوفات من خلال الـ T-SQLتعابير الجداول الشائعة في SQL Server 2005 <<-->>الاتصال بالأداة SQL Server Management Studioحلول سريعة و لمحات برمجية --------------------------------التصدير إلى إكسل : طريقة أولى : طريقة بسطر واحد من الكود <<-->> طريقة ثانية : طريقة تحتاج إنشاء إجرائية مخزنةً تجهيز بيانات جدول بالصيغة XML تمهيداً لحفظها كملف <<-->> تصدير البيانات إلى ملفات نصية برمجياً إغلاق جميع الإتصالات المفتوحة بقاعدة بيانات محددة .. تمهيداً لاسترجاعها أو حذفها <<-->> الاستعلام بناء على وقت مخزن بالصيغة العربية ضمن حقل نصي ..حذف السجلات المتكررة و إبقاء عدد محدد منها في جدول.. <<-->> أسرع طريقة لحذف سجلات جدول كيف احصل على اسم جهازي والباسوورد باستخدام T-SQL <<-->> حشر أنواع الصور المختلفة في حقل من نوع Image باستخدام إجرائية مخزنة .كيف تعرف أنواع الصور المخزنة في حقل من نوع Image .. <<-->> إجرائيات مخزنة ببارامترات ديناميكية مفيدة جداً للاستعلامات استخدام رقم الحقل بدلاً من الإسم في عبارات الإستعلام <<-->> من هو أضخم الجداول في قاعدة بياناتي ؟معرفة زمن تنفيذ الإجرائيات ( لتختار الطريقة الأسرع بين إجرائياتك المخزنة ) <<-->> التعامل مع الـ Rules برمجياً الحصول على آخر صف في الجدول <<-->> قراءة ملفات XML باستخدام T-SQL برمجياً (مثال مرفق)سحب بيانات ملف إكسل إلى الـ SQL Server <<-->> تشفير النسخة الاحتياطية بكلمة مرور <<-->> التخلص من البيانات المكررة <<-->> حل مشكلة التاريخ الهجريDifferential Backup بالتعريف---------- لا إله إلا الله .. محمد رسول الله

أخوكم في الله..  Imad Ozone

#12

بسم الله الرحمن الرحيم

السلام عليكم ورحمة الله وبركاته . . .

غفر لكما ولوالديكما وإيانا ووالدينا ولجمبع المؤمنين والمؤمنات الأحياء منهم والأموات

كما وعدتكما بأني سأجرب الطريقة وسأعود :)

كما قال أخي طارق , لأحتاج لتنزيل SQL Server ولا أي من أدواته .

فالربط عن طريق ODBC وباستخدام SQL Server authentication باستخدام مستخدم أنشأته عن طريق برنامج SQL Server .

والذي كان يسبب المشكلة التالية :

U11P_t2dO3AU9c.JPG

التي كانت تظهر سابقا عند استخدام SQL Server authentication هو أنني لم أحدد اسم المستخدم في Adodc عند الربط بين vb وبين SQL Server وذلك من الصفحة الثانية في خصائص Adodc .

وجزاكم الله خيراً على تعاونكما أخويّ العزيزين .

أخوكم : أبوإبراهيم :rolleyes:

#13

انا بالحقيقه اؤيد كلام الاخ طارق بإنة لا نحتاج إلى SQL Server Client Toolsفي اجهزة العميل

لإنه من خبرة في برامج كثيره خاصة بالـ .NET نقوم فقط بربط برنامجنا عن طريق الـ ADO طبعاً من خلال كلاس الـ SQLClient

اللذي من خلاله نقوم بتعريف الـ connection بتزويده بالـ provider و اسم المستخدم وكلمة المرور ويتم الربط تلقائياً

ولم تظهر لي مشاكل ابداً بخصوص الـ SQL Server Client Tools

رســالـة من يتيــم

AytamResalhGIFmesg.gif

http://www.aytam.org.sa/message_aytam.php

----

أتمنى لك التوفيق اخي cold0zero في موقعك

logo.gif
#14

حسب معرفتي المتواضعة و اذا كنت قد فهمت السؤال الاول حول منع مدير الدومين من الدخول الى قاعدة البيانات فهناك طريقة توصلت لها منذ عدة أيام , و هي بحذف Login معين من قاعدة البيانات و هو "BUILTIN\Administrators" ما ان تحذفه لن يستطيع المدراء من الدخول الى قاعدة البيانات

newslatterlogo.jpg

هذا الموضوع مغلق.

مواضيع مشابهة