القيام برحلة إلى Access من خلال SQL Server
Applies ToAccess لـ Microsoft 365 Access 2024 Access 2021 Access 2019 Access 2016

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

Access محلياً وفي السحابة

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

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

إدارة قاعدة البيانات

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

أمان SQL Server

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

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

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

الاستعلامات وذات الصلة

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

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

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

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

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

أنواع البيانات

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

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

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

مقالات متنوعة

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

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

الموارد

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

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

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

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

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

HADR

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

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

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

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

أعلى الصفحة

أمان SQL Server

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

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

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

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

مصادقة 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.

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

أمان التطبيق

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

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

إخفاء البيانات جزئياً

إخفاء البيانات جزئياً

قناع بيانات كامل

إخفاء البيانات كلياً

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

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

أمان صف SQL Server

هناك نوعان من مسندات الأمان:

  • يقوم عامل تصفية بتصفية الصفوف من استعلام. يكون عامل التصفية شفافاً، ولا يمكن للمستخدم النهائي القيام بأي تصفية.

  • يمنع المسند أي إجراء غير مصرح به ويمنح استثناءً إذا تعذر تنفيذ الإجراء.

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

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

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

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

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

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

أعلى الصفحة

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

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

تتألف عملية القانون العام لحماية البيانات (GDPR) من ثلاث خطوات

الخطوة 1: تقييم مخاطر التوافق وإدارتها

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

تساعدك الأداة الجديدة، وهي اكتشاف بيانات SQL وتصنيفها، والمضمنة في 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 على التأكد من وجود سجلات دائمة من أنشطة الوصول إلى قاعدة البيانات ومعالجتها. وهو ينفذ تدقيقاً دقيقاً يتعقب أنشطة قاعدة البيانات لمساعدتك على فهم التهديدات المحتملة أو إساءة مشتبه بها أو الانتهاكات الأمنية وتحديدها. يمكنك بسهولة إجراء التحليلات الجنائية للبيانات.

  • الجداول الزمنية لـ 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.

خطة التنفيذ

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

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

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

  • التغييرات التي تم إجراؤها على جدول أو طريقة عرض مشار إليها بواسطة الاستعلام (ALTER TABLE وALTER VIEW).

  • التغييرات في الفهارس المستخدمة من بواسطة خطة التنفيذ.

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

للحصول على مزيد من المعلومات، اطلع على خطط التنفيذ.

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

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

ALTER DATABASE AdventureWorks2012 SET QUERY_STORE = ON;

للحصول على مزيد من المعلومات، اطلع على مراقبة الأداء باستخدام مخزن الاستعلامات.

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

ربما تتمثل الطريقة الأسهل لتحسين أداء الاستعلامات في "التصحيح التلقائي للخطط"، وهي ميزة متوفرة في قاعدة بيانات 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 في تحريرها واختبارها بشكل تفاعلي باستخدام محرر 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 على العديد من الميزات بما في ذلك ما يلي:

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

  • يمكنك الإشارة إلى نفس 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، ولكن يمكنك التحكم في هذه القيم باستخدام الوسيطات.

للحصول على مزيد من المعلومات، اطلع على CREATE TABLE، IDENTITY (خاصية).

فهارس

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

أعلى الصفحة

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

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

  • آلية الرجوع    يجب أن تكون المعاملة وحدة صغيرة من العمل؛ إما أن يتم إجراء جميع تعديلات البيانات الخاصة بها أو يتم تنفيذ أي منها.

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

  • العزل    تُعد التغييرات التي يتم إجراؤها بواسطة المعاملات المتزامنة معزولة عن المعاملة الحالية.

  • الاستمرارية    بعد اكتمال المعاملة، تكون التغييرات دائمة حتى في حالة فشل النظام.

ويمكنك استخدام معاملة لضمان تكامل البيانات المضمونة، مثل السحب النقدي من أجهزة الصراف الآلي أو الإيداع التلقائي للراتب. يمكنك القيام بالمعاملات الصريحة أو الضمنية أو ذات النطاق الدفعي. فيما يلي مثالان لـ 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 للبيانات. إن الكلمة الأساسية 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

تنزيل قواعد البيانات النموذجية

أعلى الصفحة

هل تحتاج إلى مزيد من المساعدة؟

الخروج من الخيارات إضافية؟

استكشف مزايا الاشتراك، واستعرض الدورات التدريبية، وتعرف على كيفية تأمين جهازك، والمزيد.

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