it-swarm.asia

لماذا يجب علي استخدام Visual Studio 2010 عبر SSMS لتطوير قاعدة البيانات الخاصة بي؟

يقدم Visual Studio 2010 مشاريع قواعد البيانات ومجموعة كاملة من الميزات ذات الصلة التي يفترض أنها تسهل تطوير قاعدة البيانات. لقد استخدمت SQL Server Management Studio (SSMS) لسنوات عديدة للقيام بتطوير قاعدة البيانات الخاصة بي دون مشكلة.

  • لماذا يجب أن أزعج VS2010 عندما يعمل لي SSMS؟ ما الذي يفعله بشكل أفضل من SSMS؟
  • ولكن ربما كانت فرضيتي غير صحيحة ولا تزال SSMS تتفوق على VS لتطوير قاعدة البيانات. إذا كان الأمر كذلك ، فما هي الطرق المحددة التي يكون ذلك صحيحا؟
42
Nick Chammas

في الواقع كنت مغمورًا بعض الشيء مع VS2010 ، لأكون صادقًا. أعتقد أن إنشاء جدول نصي للمدرسة القديمة وملفات الإجراءات المخزنة أسهل للعمل معها. إذا كنت بحاجة إلى إدارة المخطط ، فيمكنك الحصول على Redgate SQL Compare Pro مقابل بضع مئات من الدولارات.

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

على الرغم من أنني أفضل SSMS ، فقد استخدمت كليهما. بعض الإيجابيات والسلبيات:

  • يحتوي SSMS على واجهة مستخدم "تعمل فقط" بشكل جيد لتطوير SQL. مجرد بناء واستخدام نصوص إنشاء أكثر ملاءمة بكثير من الأطواق VS2010 التي تجبرك على القفز من خلالها. أكثر مرونة (+ SSMS).

  • يحتوي VS2010 على إدارة المخطط الأساسية (أي إنشاء برنامج نصي للاختلاف/التصحيح) (+ VS2010). ومع ذلك ، ليس كل ذلك جيدًا ولديه بعض العيوب. على سبيل المثال يطابق قيود على الاسم. إذا كان لديك قيود تحقق أو قيود افتراضية على عمود دون تسميتها ، يقوم SQL Server بإنشاء اسم عشوائي خلف الكواليس. سيؤدي هذا إلى إرباك VS2010 إذا قمت بتثبيت البرنامج النصي على جهاز مختلف حيث قد يكون للقيود أسماء مختلفة. Redgate أرخص وأفضل. (+ VS2010 ، لكن معيبة).

  • VS2010 خرقاء حقًا - تحتاج إلى الحصول على ملف واحد لكل جدول أو كائن DB آخر. بشكل أساسي ، يجب عليك القيام بالأشياء بطريقة VS2010 ، وهي معقدة للغاية. (- VS2010)

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

  • يأتي SSMS مزودًا بـ SQL Server - لا يمكنه تجاوز السعر (+ SSMS).

  • لا يزال VS2010 ليس لديه مستودع مناسب مثل (على سبيل المثال) PowerDesigner أو Oracle Designer. لا يمكنك بسهولة الاستعلام عن نموذج البيانات دون تثبيته في قاعدة بيانات. (- VS2010).

على العموم ، أود أن أقيم VS2010 حول B-. لقد كان أخرقًا في مشروع قاعدة بيانات بسيط نسبيًا مع جدولين حقائق وحوالي 15 بُعدًا.

أكبر نموذج بيانات قمت به على الإطلاق كان لنظام إدارة قضايا المحاكم ، والذي كان يحتوي على حوالي 560 جدولًا. لن أوصي بـ VS2010 لمشروع بهذا الحجم (قمت بذلك على Oracle Designer). بشكل أساسي ، تحاول أن تكون ذكيًا وأن النموذج لا يعمل جيدًا حقًا. أنت أفضل حالًا باستخدام أفضل أدوات النمذجة مثل PowerDesigner أو مجرد استخدام نصوص إنشاء الجداول يدويًا.

SSMS بسيطة وموثوقة ولكنها يدوية. لديك تحكم لا نهائي في كيفية إدارة النموذج. قم بدمجها مع مدير مخطط مثل Redgate SQL Compare وربما أداة النمذجة اللائقة مثل PowerDesigner ولديك حزمة أفضل بكثير من VS2010.

ملخص لست متأكدًا من أنه يمكنني اقتباس أي ميزات أو مزايا قاتلة باستثناء (ربما) التكامل مع حلول VS التي تحتوي على مشاريع أخرى. إذا كان لديك بالفعل VS2010 premium أو نهائي ، فستحصل على أداة تطوير قاعدة بيانات معيبة إلى حد ما يتم طرحها باستخدام سلسلة أداة .Net الخاصة بك. سوف يدمج مشاريع DB في حل VS الخاص بك ، لذلك يمكنك استخدامه لجعل البرامج النصية لنشر sproc على الأقل.

ومع ذلك ، ليس لدى VS أداة النمذجة للتحدث عنها ، لذا فإن PowerDesigner أو حتى Erwin أفضل في هذا العدد. إدارة مخطط Redgate أفضل بكثير و SQL Compare Pro رخيصة جدًا (حوالي 400 جنيه إسترليني IIRC). يعمل IMHO SSMS بشكل أفضل بكثير لتطوير T-SQL ولكن يمكنك بالتأكيد القيام بذلك مع VS2010.

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

بديل

أعتقد أنه لا ينبغي للمرء أن يتراجع عن VS2010 أكثر من اللازم دون اقتراح بديل واحد على الأقل وتحديد إيجابياته وسلبياته. لأغراض هذا ، سأفترض مشروعًا كبيرًا. على الرغم من أنني أقوم بشكل أساسي بعمل A/P هذه الأيام ، فقد شاركت في مشروع 100 عام للعاملين حيث قمت بعمل نموذج البيانات (وبعض أعمال التطوير) واثنين آخرين في نطاق 10 سنوات من الموظفين ، حيث عملت بشكل رئيسي كمحلل أو مطور. في الغالب أعمل على أنظمة تخزين البيانات هذه الأيام ولكن المشاريع الأكبر كانت تطبيقات بشكل رئيسي. بناءً على تجربتي مع أدوات متنوعة ، إليك بعض الاقتراحات لسلسلة أدوات بديلة:

  • VS2010 احترافي أو أعلى. قد ترغب أو لا ترغب في استخدام ميزات إدارة المشاريع المتميزة أو النهائية.
  • التخريب ، AnkhSVN و TortoiseSVN - أفضل من TFS في أي يوم ويلعب بشكل جيد مع VS. إنها أيضًا قابلة تمامًا للزراعة خارج المستودعات المحلية من أجل مسارات عمل التطوير المتزامنة.
  • SSMS لتطوير T-SQL - إدارة المشاريع و SC التكامل ليس جيدًا جدًا ولكنه يعمل جيدًا لأعمال تطوير قاعدة البيانات.
  • مشروع VS2010 DB لتتبع ملفات sproc - خرقاء قليلاً إذا كنت تستخدم SSMS ولكن تعمل بشكل جيد. كما سيتم إنشاء برامج نصية للنشر.
  • PowerDesigner - طريقة أفضل في نمذجة قاعدة بيانات وإدارة عناصر مخطط قاعدة البيانات. كما أنها تقوم بـ UML إذا كنت تريد الدخول بشدة في MDA. إذا كنت ترغب في قيادة تصميم DB الخاص بك من نموذج كائن ، فقد تفكر في Sparx EA بدلاً من ذلك. إنها تقوم بأفضل عمل لـ Meta CASE (نموذج التعريف القابل للتوسيع) من أي أداة CASE رأيتها ، على الرغم من أن نمذجة قاعدة البيانات الخاصة بها تترك شيئًا مطلوبًا.
  • SQL Compare pro - استخدم هذا لإنشاء سكربتات تصحيح DB أو لاختبار سكربتات التصحيح اليدوية (انظر 1 أدناه).
  • Framemaker - ميزات برامج جماعية أكثر استقرارًا وأفضل بكثير من Word إذا كان لديك العديد من المحللين الذين يعملون على المواصفات. كما أنه يدعم التضمين المشروط ، لذلك يمكنك إصدار إصدارات من المواصفات مع إخفاء تغييرات WIP. يجعل MIF و MML من السهل دمج مستندات API وقواميس البيانات في وثائق المواصفات. من المفيد جدًا القيام بذلك حيث يمكنك عندئذٍ الإسناد الترافقي لها في المواصفات. تعمل مثبتات التسمية النصية على جعل المراجع التبادلية مستقرة عبر عمليات إعادة الاستيراد. يمكنك أيضًا استخدام TCS لمصدر واحد للوثيقة إلى مخرجات PDF و HTML و CHM.
  • أداة تتبع المشكلات مفتوحة المصدر - العديد من البرامج الجيدة المفتوحة المصدر (مثل TRAC ، Bugzilla على سبيل المثال لا الحصر). من السهل تعديل المصادر المفتوحة أو الاندماج في سير عمل مخصص ولا يمكنك تجاوز السعر.
  • NUnit أو أدوات الاختبار الأخرى - أيًا كانت أدوات الاختبار الآلي الأكثر ملاءمة لمتطلباتك.
  • أي شيء ما عدا مشروع MS - يعتبر ضارًا. مشروع MS ذو مظهر داخلي للغاية ويدفع خطط المشروع إلى نموذج لا يمثل بشكل فعال عدم اليقين أو المخاطر أو التبعيات على أصحاب المصلحة أو الأطراف الثالثة الأخرى (انظر 2 أدناه).

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

سلبيات: جهد أكبر لدمج الأدوات ، تكامل محدود لقاعدة البيانات في عملية البناء.

الافتراضات: تفترض أن التحكم في عملية التغيير/الإصدار أكثر أهمية من إدارة الإصدار المؤتمتة أو المتكاملة بإحكام لمخططات قاعدة البيانات. يفترض أيضًا أن إدارة مخطط قاعدة البيانات التلقائية ليست موثوقة بنسبة 100٪.

ليست تقنية عالية جدًا أو متكاملة بشكل رائع ، ولكن بالنسبة لمشروع معقد ، فمن المحتمل أن تكون مهتمًا أكثر بالتحكم من الميزات التلقائية اللطيفة. أود أن أزعم أنك أفضل حالًا مع مجموعة من أفضل أدوات التكاثر وأيًا كان بناء المنزل واختبار البرمجة النصية ضروريًا لدمجها. فقط حاول إبقاء البناء (أ) بسيطًا نسبيًا لفهمه و (ب) مؤتمتًا بالكامل.

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

  2. لقد أنجزت الكثير من أعمال مستودع البيانات والتكامل أكثر من تطوير التطبيقات حسب الطلب مؤخرًا ، لذلك أواجه هذا في كثير من الأحيان أكثر من فريق التطوير في معظم الحالات. ومع ذلك ، فإن أدوات ومنهجيات إدارة المشروع تؤدي مهمة سيئة للغاية في إدارة أصحاب المصلحة الخارجيين. في مشروع تكامل مثل مستودع البيانات ، أرغب حقًا في رؤية أداة إدارة المشروع التي تدفع حقاً التبعيات الخارجية (أي تلك التي لا أتحكم فيها) في مواجهة إدارة البرنامج. في أي مشروع تكامل غير تافه ، فإن التبعيات الخارجية هي إلى حد بعيد أكبر محركات الوقت الضائع.

27
ConcernedOfTunbridgeWells

لقد كنت ألعب مع كيفية بناء إجابة على هذا السؤال منذ نشره في الأصل. هذا صعب لأن حالة VS2010 ليست حول وصف ميزات وفوائد الأداة. يتعلق الأمر بإقناع القارئ بإجراء تحول أساسي في منهجه لتطوير قاعدة البيانات. ليس سهلا.

هناك إجابات على هذا السؤال من محترفي قواعد البيانات المخضرمين ، مع مزيج من الخلفية يشمل DBA ، المطور/dba وكلاهما OLTP وتخزين البيانات. ليس من المجدي بالنسبة لي أن أتناول هذا لكل جانب من جوانب قاعدة البيانات التطور في جلسة واحدة ، لذلك سأحاول تقديم قضية لسيناريو معين.

إذا كان مشروعك يناسب هذه المعايير ، أعتقد أن هناك حالة مقنعة لـ VS2010:

  • يستخدم فريقك VS2010 لتطوير التطبيقات.
  • يستخدم فريقك TFS للتحكم في المصدر وإدارة الإنشاءات.
  • قاعدة بياناتك هي SQL Server.
  • فريقك لديه بالفعل ، أو مهتم باختبار VS الآلي.

إذا كنت تقوم بتقييم VS2010 لتطوير قاعدة البيانات ، فإن الكتاب المقدس سيكون دليل قاعدة بيانات Visual Studio من Visual Studio ALM Rangers . أي اقتباسات تالية لا تحتوي على مراجع ستكون من هذا المستند.

نذهب بعد ذلك ...

لماذا تختلف عملية تطوير قاعدة البيانات عن تطوير التطبيقات؟

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

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

ما هو الخطأ في SSMS؟

يطلق عليه SQL Server Management Studio لسبب ما. كأداة قائمة بذاتها ، من غير العملي إدارة جهود التطوير الخاصة بك if ستتبع أفضل الممارسات المقبولة.

باستخدام البرامج النصية وحدها ، لتطبيق ممارسات التحكم في المصدر المعمول بها على التطوير الذي تقوم به ، سيتعين عليك الحفاظ على تعريفات الكائن (على سبيل المثال ، CREATE TABLE script) وتغيير النصوص البرمجية (مثل ALTER TABLE) والعمل بجد للتأكد من أنها لا تزال متزامنة.

تصبح سلسلة الإصدارات الخاصة بالتغييرات في الجدول سريعة جدًا. مثال بسيط للغاية:

-- Version 1
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20))

-- Version 2
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20), Description VARCHAR(50))

-- Version 3
CREATE TABLE dbo.Widget (WidgetId INT, Name VARCHAR(20), Description VARCHAR(100))

بواسطة الإصدار 3 ، يحتوي البرنامج النصي لتغيير قاعدة البيانات على:

ALTER TABLE dbo.Widget ADD Description VARCHAR(50)
ALTER TABLE dbo.Widget ALTER COLUMN Description VARCHAR(100)

إذا كان الإصدار المباشر من قاعدة البيانات هذه هو الإصدار 1 وإصدارنا التالي هو الإصدار 3 ، فسيكون النص أدناه هو كل ما هو مطلوب ولكن بدلاً من ذلك سيتم تنفيذ عبارتي ALTER.

ALTER TABLE dbo.Widget ADD Description VARCHAR(100)

تضيف 5 سنوات من 4 أسابيع من العدو السريع إلى بعض البرامج النصية للإصدار المسلية وتتطلب معالجة إضافية للإنسان لتقليل التأثير على وقت النشر.

فهل هناك خطأ في SSMS؟ لا ، إنه جيد لما هو جيد لـ SQL Server وإدارته وإدارته. ما لا يدعي القيام به هو مساعدة مطور قواعد البيانات في مهمة معقدة (في بعض الأحيان) لإدارة التغيير.


إذا لم تتمكن من بناء كل نسخة من قاعدة البيانات من المصدر والترقية إلى أي إصدار مستقبلي ، فإن التحكم بالمصادر معطّل. إذا كنت لا تعتقد ذلك ، اسأل إريك سينك .


ماذا عن SSMS + <- إدراج أداة مقارنة المخطط ->؟

هذه بالتأكيد خطوة في الاتجاه الصحيح وتزيل الكثير من الجهد اليدوي المطلوب للحفاظ على البرامج النصية. ولكن (وهي كبيرة ولكن) ، عادة ما تكون هناك خطوات يدوية.

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

في أي وقت يجب أن ننخرط فيه بين البشر في عملية البناء أو النشر ، نقدم المخاطر ونجعل العملية غير قابلة للتكرار.

إذا كنت أنت وفريقك من بين القلائل الذين لديهم مقارنة مخطط مؤتمتة بالكامل ونشرها ، فتفضلوا بقبول فائق التقدير! أنتم يا رفاق على الأرجح منفتحون على المزايا التي يقدمها VS2010 على النحو التالي:

  • لقد قبلت بالفعل أن الخطوات اليدوية خطيرة.
  • ترى قيمة الأتمتة.
  • أنت على استعداد لاستثمار الوقت اللازم لإنجاحه.

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


لماذا VS2010؟

السؤال الذي يطرحهNickChammas هو البحث عن ميزات قاتلة توضح سبب كون VS2010 مغيرًا لتطوير قواعد البيانات. لا أعتقد أنه يمكنني تقديم القضية على هذا الأساس.

ربما بشكل هزلي ، حيث يرى آخرون عيوبًا في هذه الأداة ، أرى أسبابًا قوية للتبني:

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

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

قد يتطلب اعتماد مشاريع قواعد البيانات تحولًا عقليًا ( يصعب كسر العادات القديمة ) لبعض المطورين أو على الأقل تغيير في العملية أو سير العمل. سيحتاج المطورون الذين طوروا تطبيقات قاعدة البيانات حيث تمثل قاعدة بيانات الإنتاج الإصدار الحالي من قاعدة البيانات إلى اعتماد نهج قائم على شفرة المصدر حيث يصبح رمز المصدر هو الوسيلة التي يتم فيها التغيير إلى قواعد البيانات . في Visual Studio Database Projects ، المشروع والشفرة المصدر هما "إصدار واحد من الحقيقة" لمخطط قاعدة البيانات ويتم إدارته باستخدام سير عمل SCM من المحتمل أن يتم استخدامه بالفعل من قبل المطور أو المؤسسة لأجزاء أخرى من حزمة التطبيق الخاصة بهم. بالنسبة للبيانات ، تظل قاعدة بيانات الإنتاج "نسخة واحدة من الحقيقة" كما ينبغي.

لقد وصلنا إلى التحول الأساسي الضروري لاعتماد نهج VS2010 لتطوير قاعدة البيانات بنجاح ...

تعامل مع قاعدة البيانات الخاصة بك على أنها رمز

لا مزيد من تغيير قاعدة البيانات الحية. سيتبع كل تغيير في قاعدة البيانات نفس نمط تغيير التطبيق. تعديل المصدر ، البناء ، النشر. هذا ليس تغييرًا مؤقتًا في الاتجاه من Microsoft ، هذا هو المستقبل لـ SQL Server . قاعدة البيانات كرمز هنا لتبقى.

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

نعم ، هناك أدوات أخرى تتبع نمطًا مشابهًا وبالنسبة للمشاريع خارج القيود التي وضعتها على إجابتي ، فهي تستحق النظر على قدم المساواة. ولكن ، إذا كنت تعمل مع Visual Studio و Team Foundation Server ALM ، فلا أعتقد أنه يمكنهم المنافسة.

ما هو الخطأ في مشاريع قاعدة البيانات VS2010؟

تحرير: فما هي وجهة نظرك إذن؟

AndrewBickerton ذكر في تعليق أنني لم أجب على السؤال الأصلي لذا سأحاول أن ألخص "لماذا يجب علي استخدام Visual Studio 2010 عبر SSMS لتطوير قاعدة البيانات الخاصة بي؟" هنا.

  • SSMS ليست أداة تطوير قاعدة بيانات. نعم ، يمكنك تطوير TSQL باستخدام SSMS ولكنه لا يوفر ميزات غنية IDE ميزات VS2010.
  • يوفر VS2010 إطار عمل للتعامل مع قاعدة البيانات الخاصة بك كرمز.
  • VS2010 يجلب تحليل الرمز الثابت إلى رمز قاعدة البيانات الخاصة بك.
  • يوفر لك VS2010 الأدوات اللازمة لأتمتة دورة البناء - النشر - الاختبار بشكل كامل.
  • يقوم SQL2012 و Visual Studio vNext بتوسيع قدرات مشاريع قواعد البيانات. تعرف على VS2010 الآن ولديك بداية في أدوات تطوير قاعدة البيانات للجيل القادم.
19
Mark Storey-Smith

قد تبدو VS رائعة إذا كنت لا تعرف SSMS أو استخدمت أدوات من جهة خارجية. تبرز الثغرات في VS إذا كنت تستخدم أدوات Red Gate لمقارنة المخطط وما إلى ذلك ومكونات SSMS الإضافية المجانية أيضًا.

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

7
gbn

أستخدم Visual Studio على نطاق واسع (حسنًا ، BIDS) لتصميم تقرير SSRS وحزم SSIS. لم أستطع القيام بعمل جيد جدًا ، على الإطلاق ، في Management Studio. Visual Studio هي بيئة تطوير أكثر اكتمالًا وتكاملاً بكثير ، وهي مرتبطة بأنظمة التحكم في المصدر بشكل أفضل أيضًا. وهذا كله ينعكس في السعر!

6
Peter Schofield

لنكون صادقين ، يذهب تصويتي مباشرة إلى SQL Server Management Studio لتصميم قاعدة البيانات وتطويرها وإدارتها (من الواضح). من الأسهل كتابة:

create table newTable
(
    someId int identity(1, 1) not null primary key clustered,
    ...... you get the idea
)

ثم انقر في جميع الأماكن الصحيحة. SSMS هو تخطيط رائع ورائع للعمل فيه. وأنا مطور برامج .NET بطبيعته. ولكن عندما يتعلق الأمر بتصميم قاعدة البيانات وترميزها ، سأختار SSMS 11 مرة من أصل 10.

6
Thomas Stringer

لا توجد أفضل ممارسة ، ولكن مع مشروع قاعدة بيانات VS 2010 ووحدة تحكم التعليمات البرمجية المصدر (VSS 2010 ، Subversion ، وما إلى ذلك) يمكنك إصدار قاعدة البيانات الخاصة بك.

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

باستخدام هذه الطريقة ، يمكنك الحصول على قاعدة بيانات مُحدَّثة. يمكنك تحديد نسخة كل تعديل واسترجاع التغييرات الخاصة بك.

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

هنا إجراء جيد خطوة بخطوة لمشروع قاعدة البيانات.

5
Nico

أستخدم SSMS أكثر من VS2010 لأنه موجود عند تثبيت SQL Server. ربما يكون هذا هو الشيء الأكثر أهمية في استخدام SSMS أكثر من VS2010 ، IMHO.

لقد وجدت أيضًا أن البائعين مثل Red-Gate يضعون أدوات تتكامل مع SSMS وليس بالضرورة VS2010. يمكن أن يكون هذا إيجابيًا لأنه يسمح لك بتحسين SSMS حيث لم تقم Microsoft بذلك. أحد الأمثلة على ذلك هو التحكم في مصدر SQL الخاص بـ Red-Gate ، وهو إضافة إلى SSMS تسمح لك بتوصيل SSMS بنظام التحكم في المصدر الخاص بشركتك سواء كان ذلك Visual Studio Foundation أو ما لديك. يحتوي VS2010 على هذا المدمج ولكن بالمقارنة مع سعر أداة Reg-Gate ، لقد وفرت للتو مجموعة من المال دون الحاجة إلى شراء VS2010.

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

إذا بدأت اللعب مع SQL Server 2012 ، فقد تكون لاحظت أن SSMS يحصل على تركيبة VS2010 ببطء ولكن بثبات. لذا في النهاية قد لا تتمكن من معرفة الفرق بينهما.

2
user507