القيام برحلة إلى Access من خلال SQL Server

ينطبق على
Access لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

بمجرد ترحيل البيانات من Access إلى SQL Server، أصبح لديك الآن قاعدة بيانات العميل/الخادم، والتي قد تكون حلاً محلياً في السحابة أو حل Azure. في كلتا الحالتين، Access هو الآن طبقة العرض التقديمي و SQL Server هو طبقة البيانات. الآن هو الوقت المناسب لإعادة التفكير في جوانب الحل، وخاصةً أداء الاستعلام والأمان واستمرارية الأعمال، حتى تتمكن من تحسين الحل الخاص بقاعدة البيانات وتوسيع نطاقه.

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

في هذه المقالة.

إدارة قاعدة البيانات
دفع استمرارية الأعمال
أمان SQL Server
التعامل مع مخاوف الخصوصية
إنشاء لقطات قاعدة البيانات
التحكم في التزامن
الاستعلامات وذات الصلة
تحسين أداء الاستعلام
طرق الاستعلام
إضافة مفاتيح وفهارس
تنفيذ العمليات
استخدام القيود والمشغلات
أنواع البيانات
استخدام الأعمدة المحسوبة
الطابع الزمني للبيانات
إدارة العناصر الكبيرة
مقالات متنوعة
العمل باستخدام البيانات الهيكلية
التعامل مع نص JSON


الموارد

دفع استمرارية الأعمال

بالنسبة لحل Access، فإنك ترغب في الحفاظ على تشغيله بأقل قدر من الانقطاع، ولكن الخيارات الخاصة بقاعدة بيانات Access الموجودة على الخادم محدودة. ويُعد النسخ الاحتياطي لقاعدة بيانات Access ضرورياً لحماية البيانات، ولكنه يتطلب نقل المستخدمين دون اتصال بالإنترنت. ثم يحدث تعطل غير مخطط له بسبب ترقيات صيانة الأجهزة/البرامج، أو انقطاعات الشبكة أو انقطاع التيار الكهربائي، أو تعطل الأجهزة، أو الاختراقات الأمنية، أو حتى الهجمات عبر الإنترنت. لتقليل وقت التوقف عن التعطل وتأثيره على عملك، يمكنك إنشاء نسخة احتياطية من قاعدة بيانات SQL Server أثناء استخدامها. بالإضافة إلى ذلك، يقدم SQL Server أيضاً استراتيجيات التوفر عالي (HA) والاسترداد في حالة الكوارث (DR). ويطلق على التقنيتين المدمجتين HADR. لمزيد من المعلومات، راجع استمرارية الأعمال واسترداد قاعدة البياناتودفع استمرارية الأعمال باستخدام SQL Server (كتاب إلكتروني).

النسخ الاحتياطي أثناء الاستخدام

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

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

HADR

إن أهم التقنيتين لتحقيق توفر عالي المنتجات الكبيرة واستمرارية الأعمال هما النسخ المتطابق والتنظيم. يدمج SQL Server تقنية النسخ المتطابق والتنظيم مع "وضع تجاوز الفشل لمثيلات نظام المجموعات الدائم" و"وضع توافر المجموعات الدائم".

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

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

لمزيد من المعلومات، راجع Always On Failover Cluster Instancesومجموعات قابلية وصول عالية التوفر AlwaysOn: حل قابلية وصول عالية والإصلاح بعد كارثة.

أعلى الصفحة

أمان SQL Server

على الرغم من أنه يمكنك حماية قاعدة بيانات Access باستخدام "مركز التوثيق" وبتشفير قاعدة البيانات، فإن SQL Server لديه ميزات أمان أكثر تقدماً. لنلق نظرة على ثلاث قدرات تبرز لمستخدم Access. لمزيد من المعلومات، راجع تأمين SQL Server.

مصادقة قاعدة البيانات

هناك أربع طرق مصادقة قاعدة البيانات في SQL Server، كل منها يمكنك تحديدها في سلسلة اتصال ODBC. للحصول على مزيد من المعلومات، اطلع على إنشاء ارتباط إلى قاعدة بيانات Azure SQL Server أو استيراد البيانات منها. تحتوي كل طريقة على الميزات الخاصة بها.

مصادقة Windows المتكاملة استخدم بيانات اعتماد Windows للتحقق من صحة المستخدم وأدوار الأمان وقصر المستخدمين على الميزات والبيانات. يمكنك الاستفادة من بيانات اعتماد المجال وإدارة حقوق المستخدم بسهولة في التطبيق. اختياريا، أدخل أسماء كيان الخدمة (SPNs). لمزيد من المعلومات، راجع اختيار وضع المصادقة.

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

Azure مصادقة Active Directory المتكاملة الاتصال بقاعدة بيانات Azure SQL Server باستخدام Azure Active Directory. بعد تكوين مصادقة Azure Active Directory، لا يلزم تسجيل الدخول أو إدخال كلمة المرور مجدداً. لمزيد من المعلومات، راجع الاتصال بقاعدة بيانات SQL باستخدام Azure مصادقة Active Directory.

مصادقة كلمة مرور Active Directory اتصل ببيانات الاعتماد التي تم إعدادها في Azure Active Directory عن طريق إدخال اسم تسجيل الدخول وكلمة المرور. لمزيد من المعلومات، راجع الاتصال بقاعدة بيانات SQL باستخدام Azure مصادقة Active Directory.

تلميح استخدم Threat Detection لتلقي تنبيهات حول نشاط قاعدة البيانات الشاذة التي تشير إلى تهديدات أمنية محتملة لقاعدة بيانات Azure SQL Server. لمزيد من المعلومات، راجع الكشف عن تهديدات قاعدة بيانات SQL.

أمان التطبيق

يحتوي SQL Server على ميزتي أمان على مستوى التطبيق يمكنك الاستفادة منهما باستخدام Access.

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

قناع بيانات جزئي قناع بيانات جزئي قناع بيانات كامل قناع بيانات كامل

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

الأمان على مستوى الصف يمكنك التحكم في الوصول إلى صفوف قاعدة بيانات معينة بمعلومات حساسة استنادا إلى خصائص المستخدم باستخدام أمان Row-Level. يطبق نظام قاعدة البيانات قيود الوصول هذه مما يجعل نظام الأمان أكثر موثوقية وفعالية.

SQL Server أمان الصف هناك نوعان من دالات تقييم الأمان:

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

لمزيد من المعلومات، راجع أمان مستوى الصف.

حماية البيانات باستخدام التشفير

قم بحماية البيانات واجعلها في أمان، أثناء النقل وأثناء الاستخدام، دون التأثير على أداء قاعدة البيانات. لمزيد من المعلومات، راجع تشفير SQL Server.

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

التشفير أثناء النقل للحماية من التطفل و"هجمات الرجل في الوسط"، يمكنك تشفير البيانات المرسلة عبر الشبكة. يدعم SQL Server أمان طبقة النقل (TLS) 1.2 للاتصالات ذات الأمان العالي. يستخدم بروتوكول تدفق البيانات الجدولي (TDS) أيضاً لحماية الاتصالات عبر الشبكات غير الموثوق بها.

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

أعلى الصفحة

التعامل مع مخاوف الخصوصية

تنتشر المخاوف المتعلقة بالخصوصية على نطاق واسع لدرجة أن الاتحاد الأوروبي قد حدد المتطلبات القانونية من خلال القانون العام لحماية البيانات (GDPR). لحسن الحظ، يعتبر SQL Server الموجود على الخادم مناسب تماماً للاستجابة لهذه المتطلبات. يمكنك التفكير في تنفيذ القانون العام لحماية البيانات (GDPR) في إطار عمل ثلاثي الخطوات.

القانون العام لحماية البيانات (GDPR) هو عملية من ثلاث خطوات الخطوة 1: تقييم وإدارة مخاطر التوافق

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

تساعدك أداة جديدة، SQL Data Discovery and Classification، المضمنة في SQL Server Management Studio على اكتشاف بيانات حساسة وتصنيفها وتسميةها والإبلاغ عن ذلك من خلال تطبيق سمتين لبيانات التعريف على الأعمدة:

  • تسميات لتحديد حساسية البيانات.
  • أنواع المعلومات لتوفير دقة إضافية حول أنواع البيانات المخزنة في عمود.

هناك آلية اكتشاف أخرى يمكنك استخدامها وهي البحث عن النص الكامل، والذي يتضمن استخدام الدالتين CONTAINS وFREETEXT ووظائف قيم مجموعة الصفوف مثل CONTAINSTABLE وFREETEXTTABLE للاستخدام مع عبارة SELECT. باستخدام البحث عن النص الكامل، يمكنك البحث في الجداول لاكتشاف الكلمات أو مجموعات الكلمات أو الأشكال المختلفة لكلمة مثل المرادفات أو الأشكال الإعرابية. لمزيد من المعلومات، راجع البحث في النص الكامل.

الخطوة 2: حماية المعلومات الشخصية

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

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

للحصول على مزيد من المعلومات، اطلع على تأمين SQL Server.

الخطوة 3: الاستجابة للطلبات بفعالية

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

يساعدك SQL Server 2017 في الإبلاغ عن المهام بعدة طرق:

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

لمزيد من المعلومات، راجع إنشاء نظام أساسي للثقة (كتاب إلكتروني)ورحلة إلى توافق GDPR.

أعلى الصفحة

إنشاء لقطات قاعدة البيانات

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

  • تسمية اللقطة تتطلب كل لقطة قاعدة بيانات اسم قاعدة بيانات فريدا. أضف الغرض والإطار الزمني للاسم لتسهيل تحديد التعريف. على سبيل المثال، لأخذ لقطة لقاعدة بيانات AdventureWorks ثلاث مرات في اليوم بفواصل زمنية مدتها 6 ساعات بين الساعة 6 صباحاً و6 مساءً استناداً إلى مدار 24 ساعة، قم بتسمية كل منهم AdventureWorks_snapshot_0600 وAdventureWorks_snapshot_1200 وAdventureWorks_snapshot_1800.
  • تحديد عدد اللقطات تستمر كل لقطة قاعدة بيانات حتى يتم إسقاطها بشكل صريح. نظراً لأن كل لقطة ستستمر في الاتساع، فقد تحتاج إلى الحفاظ على مساحة القرص عن طريق حذف لقطة أقدم بعد إنشاء لقطة جديدة. على سبيل المثال، إذا كنت تقدم تقارير يومية، فاحفظ لقطة قاعدة البيانات لمدة 24 ساعة، ثم قم بإسقاطها واستبدالها بأخرى جديدة.
  • الاتصال باللقطة الصحيحة لاستخدام لقطة قاعدة بيانات، تحتاج الواجهة الأمامية Access إلى معرفة الموقع الصحيح. عندما تستبدل لقطة جديدة بلقطة حالية، فإنك تحتاج إلى إعادة توجيه الوصول إلى اللقطة الجديدة. أضف منطقاً إلى الواجهة الأمامية لـ Access للتأكد من أنك تتصل بلقطة قاعدة البيانات الصحيحة.

إليك كيفية إنشاء لقطة قاعدة بيانات:


CREATE DATABASE AdventureWorks_dbss1800 ON 
( NAME = AdventureWorks_Data, FILENAME = 
'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Data\AdventureWorks_snapshot_0600' ) 
AS SNAPSHOT OF AdventureWorks; 

لمزيد من المعلومات، راجع لقطات قاعدة البيانات (SQL Server).

أعلى الصفحة

التحكم في التزامن

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

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

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

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

لمزيد من المعلومات، راجع مربع الحوار تعارض الكتابةوخاصية RecordLocks.

في SQL Server، يعمل التحكم في التزامن بهذه الطريقة:

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

يمكنك تحديد نوع عنصر التحكم في التزامن عن طريق تحديد عدة مستويات لعزل المعاملات، والتي تحدد مستوى الحماية للمعاملة من التعديلات التي تم إجراؤها بواسطة المعاملات الأخرى باستخدام عبارة SET TRANSACTION:


 SET TRANSACTION ISOLATION LEVEL
 { READ UNCOMMITTED
 | READ COMMITTED
 | REPEATABLE READ 
 | SNAPSHOT
 | SERIALIZABLE
 }
مستوي العزل الوصف
القراءة غير المكتملة يتم عزل المعاملات بشكل كاف لضمان عدم قراءة البيانات التالفة فعلياً.
القراءة المكتملة يمكن للمعاملات قراءة البيانات التي سبق قراءتها بواسطة معاملة أخرى دون انتظار إكمال المعاملة الأولى.
قراءة متكررة تحدث عمليات تأمين القراءة والكتابة على البيانات المحددة حتى انتهاء المعاملة، ولكن قد تحدث قراءات وهمية.
لقطة تستخدم إصدار الصف لتوفير تناسق القراءة على مستوى المعاملة.
التسلسل تُعد المعاملات معزولة تماماً عن بعضها البعض.

لمزيد من المعلومات، راجع دليل تأمين المعاملات وإصدار الصفوف.

أعلى الصفحة

تحسين أداء الاستعلام

بمجرد أن يكون لديك استعلام تمريري لـ Access يعمل، يمكنك الاستفادة من الطرق المعقدة التي يمكن لـ SQL Server جعله يعمل بكفاءة أكبر.

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

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

لمزيد من المعلومات، راجع الاستعلام بشكل أسرع باستخدام SQL Server (كتاب إلكتروني).

تحسين الاستعلامات

تعمل العديد من الأدوات معا لمساعدتك في تحليل أداء الاستعلام وتحسينه: محسن الاستعلام وخطط التنفيذ ومخزن الاستعلام.

كيفية عمل تحسين الاستعلام محسن الاستعلام

إن "مُحسِّن الاستعلامات" هو أحد أهم مكونات SQL Server. استخدم "مُحسِّن الاستعلامات" لتحليل استعلام وتحديد الطريقة الأكثر فعالية للوصول إلى البيانات المطلوبة. ويتكون الإدخال إلى "مُحسِّن الاستعلامات" من الاستعلام ومخطط قاعدة البيانات (تعريفات الجدول والفهرس) وإحصائيات قاعدة البيانات. إن مخرجات "مُحسِّن الاستعلامات" هي خطة تنفيذ.

لمزيد من المعلومات، راجع SQL Server Query Optimizer.

خطة التنفيذ

تُعد خطة التنفيذ تعريفاً يقوم بترتيب الجداول المصدر للوصول إليها والطرق المستخدمة لاستخراج البيانات من كل جدول. ويُعد التحسين عملية اختيار خطة تنفيذ واحدة من العديد من الخطط المحتملة. حيث تتضمن كل خطة تنفيذ محتملة على تكلفة متعلقة بمقدار موارد الحوسبة المستخدمة، ويختار "مُحسِّن الاستعلامات" الخيار الأقل تكلفة.

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

يجب إعادة ترجمة خطة جديدة للاتصال التالي الذي ينفذ الاستعلام. تتضمن الشروط التي تبطل الخطة ما يلي:

  • التغييرات التي تم إجراؤها على جدول أو طريقة عرض مشار إليها بواسطة الاستعلام (ALTER TABLE وALTER VIEW).
  • التغييرات في الفهارس المستخدمة من بواسطة خطة التنفيذ.
  • التحديثات على الإحصائيات المستخدمة في خطة التنفيذ، والتي تم إنشاؤها إما صراحةً من عبارة، مثل UPDATE STATISTICS، أو تلقائياً.

لمزيد من المعلومات، راجع خطط التنفيذ.

مخزن الاستعلامات

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


ALTER DATABASE AdventureWorks2012 SET QUERY_STORE = ON;

لمزيد من المعلومات، راجع مراقبة الأداء باستخدام Query Store.

التصحيح التلقائي للخطط

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

لمزيد من المعلومات، راجع الضبط التلقائي.

المعالجة التكييفية للاستعلامات

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

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

  • ملاحظات منح الذاكرة في وضع الدفعة يمكن أن تتسبب تقديرات العلاقة الأساسية الضعيفة في "تسرب الاستعلامات إلى القرص" أو أخذ الكثير من الذاكرة. يضبط SQL Server 2017 منح الذاكرة بناءً على ملاحظات التنفيذ، ويزيل التمددات في القرص، ويحسّن التزامن للاستعلامات المكررة.
  • الصلات التكيفية لوضع الدفعة تحدد الصلات التكيفية ديناميكيا نوع صلة داخلية أفضل (الصلات الحلقية المتداخلة أو الصلات المدمجة أو روابط التجزئة) أثناء وقت التشغيل، استنادا إلى صفوف الإدخال الفعلية. وبالتالي، يمكن أن تتغير الخطة ديناميكياً إلى استراتيجية ربط أفضل أثناء التنفيذ.
  • التنفيذ المتداخل عادة ما يتم التعامل مع الدالات ذات القيمة الجدولية متعددة العبارات كمربع أسود عن طريق معالجة الاستعلام. يمكن لـ SQL Server 2017 تقدير عدد الصفوف بشكل أفضل لتحسين عمليات انتقال البيانات.

يمكنك جعل أحمال العمل مؤهلة تلقائياً للمعالجة التكييفية للاستعلامات من خلال تمكين مستوى توافق 140 لقاعدة البيانات:


ALTER DATABASE [YourDatabaseName] SET COMPATIBILITY_LEVEL = 140;

لمزيد من المعلومات، راجع معالجة الاستعلام الذكي في قواعد بيانات SQL.

أعلى الصفحة

طرق الاستعلام

هناك العديد من الطرق التي يمكنك بها الاستعلام في SQL Server، ولكل منها مزايا خاصة بها. تريد أن تعرف ما هي، حتى تتمكن من اتخاذ القرار الصحيح لحل Access. أفضل طريقة لإنشاء استعلامات TSQL الخاصة بك هي تحريرها واختبارها بشكل تفاعلي باستخدام محرر Transact-SQL SQL Server Management Studio (SSMS)، والذي يحتوي على intellisense لمساعدتك في اختيار الكلمات الأساسية الصحيحة والتحقق من وجود أخطاء في بناء الجملة.

طرق العرض

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


CREATE VIEW HumanResources.EmployeeHireDate AS 
SELECT p.FirstName, p.LastName, e.HireDate 
FROM HumanResources.Employee AS e JOIN Person.Person AS p 
ON e.BusinessEntityID = p.BusinessEntityID;

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


CREATE VIEW Sales.vOrders 
WITH SCHEMABINDING 
AS 
 SELECT SUM(UnitPrice*OrderQty*(1.00-UnitPriceDiscount)) AS Revenue, 
 OrderDate, ProductID, COUNT_BIG(*) AS COUNT 
 FROM Sales.SalesOrderDetail AS od, Sales.SalesOrderHeader AS o 
 WHERE od.SalesOrderID = o.SalesOrderID 
 GROUP BY OrderDate, ProductID; 

CREATE UNIQUE CLUSTERED INDEX IDX_V1 
 ON Sales.vOrders (OrderDate, ProductID); 

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

لمزيد من المعلومات، راجع طرق العرضوإنشاء طرق عرض مفهرسة.

إجراءات مخزنة

إن الإجراء المخزن هو مجموعة واحدة أو أكثر من عبارات TSQL التي تأخذ معلمات الإدخال، وتُرجع معلمات الإخراج، وتشير إلى النجاح أو الفشل بقيمة الحالة. وهي تعمل كطبقة وسيطة بين الواجهة الأمامية لـ Access والواجهة الخلفية لـ SQL Server. يمكن أن تكون الإجراءات المخزنة بسيطة مثل عبارة SELECT أو معقدة مثل أي برنامج. إليك مثال على ذلك:


CREATE PROCEDURE HumanResources.uspGetEmployees 
 @LastName nvarchar(50), 
 @FirstName nvarchar(50) 
AS 
 SET NOCOUNT ON; 
 SELECT FirstName, LastName, Department 
 FROM HumanResources.vEmployeeDepartmentHistory 
 WHERE FirstName = @FirstName AND LastName = @LastName 
 AND EndDate IS NULL; 

عند استخدام إجراء مخزن في Access، فإنه عادةً ما يُرجع مجموعة نتائج إلى نموذج أو تقرير. ومع ذلك، قد ينفذ إجراءات أخرى لا ترجع نتائج، مثل عبارات DDL أو DML. عند استخدام استعلام تمريري، تأكد من تعيين خاصية إرجاع السجلات بشكل مناسب.

لمزيد من المعلومات، راجع الإجراءات المخزنة.

تعبيرات الجدول الشائعة

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


-- Define the CTE expression name and column list. 
WITH Sales_CTE (SalesPersonID, SalesOrderID, SalesYear) 
AS 
-- Define the CTE query. 
( 
 SELECT SalesPersonID, SalesOrderID, YEAR(OrderDate) AS SalesYear 
 FROM Sales.SalesOrderHeader 
 WHERE SalesPersonID IS NOT NULL 
) 
-- Define the outer query referencing the CTE name. 
SELECT SalesPersonID, COUNT(SalesOrderID) AS TotalSales, SalesYear 
FROM Sales_CTE 
GROUP BY SalesYear, SalesPersonID 
ORDER BY SalesPersonID, SalesYear;

تحتوي CTE على العديد من الميزات بما في ذلك ما يلي:

  • نظرا لأن CTEs عابرة، فلا يتعين عليك إنشاؤها كعناصر قاعدة بيانات دائمة مثل طرق العرض.
  • يمكنك الإشارة إلى نفس CTE أكثر من مرة في استعلام أو عبارة DML، مما يجعل التعليمات البرمجية أكثر قابلية للإدارة.
  • ويمكنك استخدام الاستعلامات التي تشير إلى CTE لتحديد مؤشر.

لمزيد من المعلومات، راجع WITH common_table_expression.

الدالات المعرّفة بواسطة المستخدم

يمكن أن تقوم الدالة المعرّفة بواسطة المستخدم (UDF) بإجراء استعلامات وحسابات وإرجاع إما القيم الرقمية أو مجموعات نتائج البيانات. وهي تشبه الدالات في لغات البرمجة التي تقبل المعلمات وتنفذ إجراءً مثل العمليات الحسابية المعقدة وتُرجع نتيجة هذا الإجراء كقيمة. إليك مثال على ذلك:


CREATE FUNCTION dbo.ISOweek (@DATE datetime) 
RETURNS int WITH SCHEMABINDING -- Helps improve performance
WITH EXECUTE AS CALLER 
AS 
BEGIN 
 DECLARE @ISOweek int; 
 SET @ISOweek= DATEPART(wk,@DATE)+1 
 -DATEPART(wk,CAST(DATEPART(yy,@DATE) as CHAR(4))+'0104'); 
-- Special cases: Jan 1-3 may belong to the previous year 
 IF (@ISOweek=0) 
 SET @ISOweek=dbo.ISOweek(CAST(DATEPART(yy,@DATE)-1 
 AS CHAR(4))+'12'+ CAST(24+DATEPART(DAY,@DATE) AS CHAR(2)))+1; 
-- Special case: Dec 29-31 may belong to the next year 
 IF ((DATEPART(mm,@DATE)=12) AND 
 ((DATEPART(dd,@DATE)-DATEPART(dw,@DATE))>= 28)) 
 SET @ISOweek=1; 
 RETURN(@ISOweek); 
END; 
GO 
SET DATEFIRST 1; 
SELECT dbo.ISOweek(CONVERT(DATETIME,'12/26/2004',101)) AS 'ISO Week'; 

ولكن تتضمن UDF بعض القيود. على سبيل المثال، لا يمكنهم استخدام وظائف نظام معينة غير محددة، أو تنفيذ عبارات DML أو DDL، أو إجراء استعلامات SQL ديناميكية.

لمزيد من المعلومات، راجع الدالات المعرفة من قبل المستخدم.

أعلى الصفحة

إضافة مفاتيح وفهارس

أياً كان نظام قاعدة البيانات الذي تستخدمه، فإن المفاتيح والفهارس تعمل معاً.

المفاتيح

في SQL Server، تأكد من إنشاء مفاتيح أساسية لكل جدول ومفاتيح خارجية لكل جدول مرتبط. الميزة المماثلة في SQL Server لنوع البيانات Access AutoNumber هي خاصية IDENTITY، والتي يمكن استخدامها لإنشاء قيم المفاتيح. بمجرد تطبيق هذه الخاصية على أي عمود رقمي، يصبح للقراءة فقط ويحتفظ به نظام قاعدة البيانات. وعند إدراج سجل في جدول يحتوي على عمود IDENTITY، يزيد النظام تلقائياً قيمة عمود IDENTITY بمقدار 1 ويبدأ من 1، ولكن يمكنك التحكم في هذه القيم باستخدام الوسيطات.

لمزيد من المعلومات، راجع إنشاء جدول، الهوية (الخاصية).

فهارس

كما هو الحال دائماً، فإن اختيار الفهارس هو إجراء توازن بين سرعة الاستعلام وتكلفة التحديث. في Access، لديك نوع واحد من الفهرس، لكن في SQL Server لديك اثني عشر. ولحسن الحظ، يمكنك استخدام "مُحسِّن الاستعلامات" لمساعدتك على اختيار الفهرس الأكثر فاعلية بشكل موثوق. وفي Azure SQL، يمكنك استخدام إدارة الفهارس التلقائية، وهي ميزة الضبط التلقائي، التي توصي بإضافة الفهارس أو إزالتها بالنيابة عنك. بخلاف Access، يجب عليك إنشاء الفهارس الخاصة بك للمفاتيح الخارجية في SQL Server. ويمكنك أيضاً إنشاء فهارس في طريقة عرض مفهرسة لتحسين أداء الاستعلام. الجانب السلبي لعرض مفهرس هو زيادة الحمل عند تعديل البيانات في الجداول الأساسية لعرض العرض، لأنه يجب تحديث طريقة العرض أيضا. لمزيد من المعلومات، راجع SQL Server دليل وفهرسة بنية الفهرس والتصميم.

أعلى الصفحة

تنفيذ العمليات

من الصعب تنفيذ "عملية معاملة عبر الإنترنت" (OLTP) عند استخدام Access، ولكنه سهل نسبياً مع SQL Server. تُعد المعاملة وحدة عمل واحدة تقوم بتنفيذ جميع التغييرات في البيانات عند نجاحها ولكنها تتراجع عن التغييرات في حالة عدم نجاحها. يجب أن تحتوي المعاملة على أربع خصائص، يشار إليها غالباً باسم ACID:

  • Atomicity يجب أن تكون المعاملة وحدة عمل ذرية؛ إما أن يتم تنفيذ جميع تعديلات البيانات الخاصة به، أو لا يتم تنفيذ أي منها.
  • الاتساق عند الانتهاء، يجب أن تترك العملية جميع البيانات في حالة متناسقة. وهذا يعني أنه يتم تطبيق جميع قواعد تكامل البيانات.
  • العزله يتم عزل التغييرات التي تم إجراؤها بواسطة المعاملات المتزامنة عن المعاملة الحالية.
  • المتانه بعد اكتمال المعاملة، تكون التغييرات دائمة حتى في حالة فشل النظام.

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


-- Using an explicit transaction

BEGIN TRANSACTION; 
DELETE FROM HumanResources.JobCandidate 
 WHERE JobCandidateID = 13; 
COMMIT; 

-- the ROLLBACK statement rolls back the INSERT statement, but the created table still exists.

CREATE TABLE ValueTable (id int); 
BEGIN TRANSACTION; 
 INSERT INTO ValueTable VALUES(1); 
 INSERT INTO ValueTable VALUES(2); 
ROLLBACK;

لمزيد من المعلومات، راجع المعاملات.

أعلى الصفحة

استخدام القيود والمشغلات

تتضمن جميع قواعد البيانات طرق للحفاظ على تكامل البيانات.

القيود

في Access، يمكنك فرض التكامل المرجعي في علاقة الجدول من خلال الاقتران بين المفاتيح الأساسية الخارجية والتحديثات وعمليات الحذف المتتالية وقواعد التحقق من الصحة. للحصول على مزيد من المعلومات، اطلع على الدليل إلى علاقات الجداول وتقييد إدخال البيانات باستخدام قواعد التحقق من الصحة.

في SQL Server، يمكنك استخدام قيود UNIQUE وCHECK، وهي عناصر قاعدة بيانات تفرض تكامل البيانات في جداول SQL Server. للتحقق من صحة قيمة في جدول آخر، استخدم قيد مفتاح خارجي. وللتحقق من وجود قيمة في عمود ما ضمن نطاق معين، استخدم قيد التحقق من الصحة. تُعد هذه العناصر خط الدفاع الأول وهي مصممة للعمل بكفاءة. لمزيد من المعلومات، راجع القيود الفريدة والتحقق من القيود.

المشغلات

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

لمزيد من المعلومات، راجع المشغلات - DMLوالمشغلات - DDLوتصميم مشغل T-SQL.

أعلى الصفحة

استخدام الأعمدة المحسوبة

في Access، يمكنك إنشاء عمود محسوب بإضافته إلى استعلام وإنشاء تعبير، على سبيل المثال:


Extended Price: [Quantity] * [Unit Price]

في SQL Server، تسمى الميزة المماثلة العمود المحسوب، وهو عمود ظاهري لا يتم تخزينه فعلياً في الجدول، ما لم يتم وضع علامة على العمود PERSISTED. مثل العمود المحسوب، يستخدم العمود المحسوب بيانات من أعمدة أخرى في تعبير. لإنشاء عمود محسوب، أضفه إلى جدول. على سبيل المثال:


CREATE TABLE dbo.Products 
( 
 ProductID int IDENTITY (1,1) NOT NULL 
 , QtyAvailable smallint 
 , UnitPrice money 
 , InventoryValue AS QtyAvailable * UnitPrice 
); 

لمزيد من المعلومات، راجع تحديد الأعمدة المحسوبة في جدول.

أعلى الصفحة

الطابع الزمني للبيانات

في بعض الأحيان، يمكنك إضافة حقل جدول لتسجيل طابع زمني عند إنشاء سجل حتى تتمكن من تسجيل إدخال البيانات. في Access، يمكنك ببساطة إنشاء عمود تاريخ بالقيمة الافتراضية ل =Now(). لتسجيل تاريخ أو وقت في SQL Server، استخدم نوع بيانات datetime2 بالقيمة الافتراضية ل SYSDATETIME().

ملاحظه تجنب الخلط بين rowversion وإضافة طابع زمني إلى بياناتك. إن الكلمة الأساسية timestamp مرادفة لـ rowversion في SQL Server، ولكن يجب عليك استخدام الكلمة الأساسية rowversion. في SQL Server، تُعد rowversion نوع بيانات يكشف الأرقام الثنائية الفريدة التي يتم إنشاؤها تلقائياً داخل قاعدة البيانات، وتُستخدم بشكل عام كآلية لصفوف جدول الإصدار الذي تم وضع عليه طابع. ومع ذلك، فإن نوع بيانات rowversion هو مجرد رقم متزايد، ولا يحتفظ بتاريخ أو وقت، وهو غير مصمم لإضافة طابع زمني إلى صف.

لمزيد من المعلومات، راجع rowversion. للحصول على مزيد من المعلومات حول استخدام rowversion لتقليل تعارضات السجلات، راجع ترحيل قاعدة بيانات Access إلى SQL Server.

أعلى الصفحة

إدارة العناصر الكبيرة

في Access، يمكنك إدارة البيانات غير المنظمة، مثل الملفات والصور، باستخدام نوع بيانات المرفق. وفي مصطلحات SQL Server، تسمى البيانات غير المنظمة بـ Blob (عنصر كبير ثنائي) وهناك عدة طرق للتعامل معها:

FILESTREAM يستخدم نوع البيانات varbinary(max) لتخزين البيانات غير المنظمة على نظام الملفات بدلا من قاعدة البيانات. لمزيد من المعلومات، راجع الوصول إلى بيانات FILESTREAM باستخدام Transact-SQL.

FileTable يخزن الكائنات الثنائية كبيرة الحجم في جداول خاصة تسمى FileTables ويوفر التوافق مع تطبيقات Windows كما لو كانت مخزنة في نظام الملفات ودون إجراء أي تغييرات على تطبيقات العميل. يتطلب FileTable استخدام FILESTREAM. لمزيد من المعلومات، راجع FileTables.

مخزن BLOB البعيد (RBS) يخزن العناصر الثنائية الكبيرة (BLOBs) في حلول تخزين السلع بدلا من الخادم مباشرة. حيث يؤدي هذا إلى توفير المساحة وتقليل موارد الأجهزة. لمزيد من المعلومات، راجع بيانات الكائن الثنائي الكبير (Blob).

أعلى الصفحة

العمل باستخدام البيانات الهيكلية

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

تسلسل هرمي نموذجي لمزيد من المعلومات، راجع البيانات الهرميةوالبرنامج التعليمي: استخدام نوع بيانات التسلسل الهرمي.

أعلى الصفحة

التعامل مع نص JSON

JavaScript Object Notation (JSON) هي خدمة ويب تستخدم نصاً الذي يمكن قراءته بالعين لإرسال البيانات كأزواج ذات قيمة للسمات في اتصال خادم المستعرض غير المتزامن. على سبيل المثال:


{
"firstName": "Mary",
"lastName": "Contrary",
"spouse": null,
"age": 27
}

لا يحتوي Access أي طرق مضمنة لإدارة بيانات JSON، ولكن في SQL Server يمكنك تخزين بيانات JSON وفهرستها والاستعلام عنها واستخراجها بسلاسة. ويمكنك تحويل نص JSON وتخزينه في جدول أو تنسيق البيانات كنص JSON. على سبيل المثال، قد ترغب في تنسيق نتائج الاستعلام كـ JSON لتطبيق ويب أو إضافة بنيات بيانات JSON إلى صفوف وأعمدة.

ملاحظه JSON غير مدعوم في VBA. كبديل، يمكنك استخدام XML في VBA باستخدام مكتبة MSXML.

لمزيد من المعلومات، راجع بيانات JSON في SQL Server.

أعلى الصفحة

الموارد

الآن هو التوقيت المناسب للتعرّف على المزيد حول SQL Server وTransact SQL (TSQL). كما رأيت، هناك العديد من الميزات مثل Access، ولكن أيضا القدرات التي لا يمتلكها Access ببساطة. للارتقاء برحلتك إلى المستوى أعلى، إليك بعض المصادر التعليمية:

المورد الوصف
الاستعلام باستخدام Transact-SQL الدورة التدريبية المستندة إلى الفيديو
البرامج التعليمية لمحرك قاعدة البيانات برامج تعليمية حول SQL Server 2017
Microsoft Learn التدريب العملي لتعلم Azure
SQL Server التدريب والشهادة القيام بدور الخبير
SQL Server 2017 الصفحة المتنقل إليها
وثائق SQL Server معلومات التعليمات
Azure وثائق قاعدة بيانات SQL معلومات التعليمات
الدليل الأساسي للبيانات في السحابة (كتاب إلكتروني) نظرة عامة على السحابة
ورقة بيانات SQL Server 2017 ملخص مرئي للميزات الجديدة
مقارنة إصدار Microsoft SQL Server ملخص الميزات حسب الإصدارات
إصدارات Microsoft SQL Server Express تنزيل SQL Server Express 2017
نموذج قواعد بيانات SQL تنزيل قواعد البيانات النموذجية

أعلى الصفحة