أهم 50 سؤالاً وإجابات لمقابلة SQL Server (2024)

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

أسئلة وأجوبة مقابلة SQL Server للطلاب الجدد


1. ما هما وضعي المصادقة في SQL Server؟

هناك وضعان للمصادقة –

  • وضع الويندوز
  • وضع مختلط

يمكن تغيير الأوضاع عن طريق تحديد قائمة الأدوات الخاصة بخصائص تكوين SQL Server واختيار صفحة الأمان.

👉 تنزيل مجاني بصيغة PDF: أسئلة وأجوبة مقابلة SQL Server


2. ما هو ملف تعريف SQL؟

SQL Profiler هي أداة تسمح لمسؤول النظام بمراقبة الأحداث في خادم SQL. يستخدم هذا بشكل أساسي لالتقاط وحفظ البيانات حول كل حدث في ملف أو جدول للتحليل.


3. ما هو الإجراء المخزن العودي؟

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

CREATE PROCEDURE [dbo].[Fact]
(
@Number Integer,
@RetVal Integer OUTPUT
)
AS
DECLARE @In Integer
DECLARE @Out Integer
IF @Number != 1
BEGIN
SELECT @In = @Number – 1
EXEC Fact @In, @Out OUTPUT - Same stored procedure has been called again(Recursively)
SELECT @RetVal = @Number * @Out
END
ELSE
BEGIN
SELECT @RetVal = 1
END
RETURN
GO

4. ما هي الاختلافات بين الجداول المؤقتة المحلية والعالمية؟

  • تكون الجداول المؤقتة المحلية مرئية عند وجود اتصال، ويتم حذفها عند إغلاق الاتصال.
CREATE TABLE #<tablename>
  • تكون الجداول المؤقتة العامة مرئية لجميع المستخدمين، ويتم حذفها عند إغلاق الاتصال الذي أنشأها.
CREATE TABLE ##<tablename>

5. ما هو قيد التحقق؟

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


6. هل يمكن ربط خوادم SQL بخوادم أخرى؟

خادم SQL يمكن توصيله بأي قاعدة بيانات تحتوي على موفر OLE-DB لإعطاء رابط. مثال: لدى Oracle موفر OLE-DB الذي لديه رابط للاتصال بمجموعة خادم SQL.


7. ما هو الاستعلام الفرعي وخصائصه؟

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

  • يجب ألا يحتوي الاستعلام الفرعي على ترتيب حسب الجملة
  • يجب وضع استعلام فرعي في الجانب الأيمن من عامل المقارنة للاستعلام الرئيسي
  • يجب وضع الاستعلام الفرعي بين قوسين لأنه يجب تنفيذه أولاً قبل الاستعلام الرئيسي
  • يمكن تضمين أكثر من استعلام فرعي

8. ما هي أنواع الاستعلام الفرعي؟

هناك ثلاثة أنواع من الاستعلام الفرعي -

  • استعلام فرعي ذو صف واحد يقوم بإرجاع صف واحد فقط
  • استعلام فرعي متعدد الصفوف يقوم بإرجاع صفوف متعددة
  • استعلام فرعي متعدد الأعمدة يقوم بإرجاع أعمدة متعددة إلى الاستعلام الرئيسي. مع نتيجة الاستعلام الفرعي، سيتم تنفيذ الاستعلام الرئيسي.

9. ما هو وكيل خادم SQL؟

يلعب وكيل SQL Server دورًا حيويًا في المهام اليومية لمسؤول خادم SQL (DBA). الغرض من وكيل الخادم هو تنفيذ المهام بسهولة باستخدام محرك الجدولة الذي يسمح بتشغيل وظائفنا في التاريخ والوقت المحددين.


10. ما هي المهام المجدولة في SQL Server؟

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


11. ما هو COALESCE في SQL Server؟

يتم استخدام COALESCE لإرجاع أول تعبير غير فارغ ضمن الوسائط. تُستخدم هذه الوظيفة لإرجاع قيمة غير فارغة من أكثر من عمود في الوسائط.

مثال -

Select COALESCE(empno, empname, salary) from employee;

12. كيف يمكن التعامل مع الاستثناءات في برمجة SQL Server؟

تتم معالجة الاستثناءات باستخدام بنيات TRY—-CATCH ويتم التعامل معها عن طريق كتابة البرامج النصية داخل كتلة TRY ومعالجة الأخطاء في كتلة CATCH.


13. ما هو الغرض من وظيفة FLOOR؟

يتم استخدام الدالة FLOOR لتقريب قيمة غير صحيحة إلى أقل عدد صحيح سابق. يتم إعطاء المثال

FLOOR(6.7)

يعود 6.


14. هل يمكننا التحقق من الأقفال في قاعدة البيانات؟ إذا كان الأمر كذلك، كيف يمكننا أن نفعل هذا التحقق من القفل؟

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


15. ما هو استخدام وظيفة تسجيل؟

يتم استخدام وظيفة SIGN لتحديد ما إذا كان الرقم المحدد موجبًا وسالبًا وصفرًا. سيعود هذا +1 أو -1 أو 0.

مثال -

SIGN(-35) returns -1

16. ما هو الزناد؟

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


17. ما هي أنواع المحفزات؟

هناك أربعة أنواع من المحفزات وهي:

  • إدراج
  • حذف
  • تحديث
  • بدلا من

18. ما هو عمود الهوية في عبارات الإدراج؟

يتم استخدام عمود IDENTITY في أعمدة الجدول لجعل هذا العمود كرقم تزايدي تلقائي أو مفتاح بديل.


19. ما هو الجزء الأكبر في SQL؟

تعد النسخة المجمعة أداة تستخدم لنسخ كمية كبيرة من البيانات من الجداول. تُستخدم هذه الأداة لتحميل كمية كبيرة من البيانات في SQL Server.


20. ما هو الاستعلام الذي سيتم استخدامه للحصول على قائمة المشغلات في قاعدة البيانات؟

استعلام للحصول على قائمة المشغلات في قاعدة البيانات-

Select * from sys.objects where type='tr'

21. ما هو الفرق بين الاتحاد و الاتحاد ALL؟

  • UNION: لتحديد المعلومات ذات الصلة من جدولين، يتم استخدام أمر UNION. إنه مشابه لأمر JOIN.
  • UNION All: الأمر UNION ALL يساوي الأمر UNION، فيما عدا أن UNION ALL يحدد كافة القيم. لن يقوم بإزالة الصفوف المكررة، بل سيقوم باسترداد كافة الصفوف من جميع الجداول.

22. كيف يتم تمثيل الجداول المؤقتة العالمية ونطاقها؟

يتم تمثيل الجداول المؤقتة العامة بالرمز ## قبل اسم الجدول. سيكون النطاق خارج الجلسة بينما تكون الجداول المؤقتة المحلية داخل الجلسة. يمكن العثور على معرف الجلسة باستخدام @@SPID.


أسئلة وأجوبة مقابلة SQL Server للخبرة

23. ما هي الاختلافات بين الإجراء المخزن وSQL الديناميكية؟

الإجراء المخزن عبارة عن مجموعة من البيانات التي يتم تخزينها في نموذج مترجم. Dynamic SQL عبارة عن مجموعة من البيانات التي تم إنشاؤها ديناميكيًا في وقت التشغيل ولن يتم تخزينها في قاعدة بيانات ويتم تنفيذها ببساطة أثناء وقت التشغيل.


24. ما هو الترتيب؟

يتم تعريف الترتيب لتحديد ترتيب الفرز في الجدول. هناك ثلاثة أنواع من ترتيب الفرز -

  1. حساسية الموضوع
  2. حالة الأحرف
  3. ثنائي

25. كيف يمكننا حساب عدد السجلات في الجدول؟

فولوwing هي الاستعلامات التي يمكن استخدامها للحصول على عدد السجلات في الجدول -

Select * from <tablename> Select count(*) from <tablename> Select rows from sysindexes where id=OBJECT_ID(tablename) and indid<2

26. ما هو الأمر المستخدم للحصول على إصدار SQL Server؟

Select SERVERPROPERTY('productversion')

يستخدم للحصول على إصدار SQL Server.


27. ما هو أمر UPDATE_STATISTICS؟

يتم استخدام أمر UPDATE_STATISTICS لتحديث الفهارس الموجودة في الجداول عندما يكون هناك قدر كبير من عمليات الحذف أو التعديلات أو النسخ المجمعة في الفهارس.


28. ما فائدة عبارة SET NOCOUNT ON/OFF؟

افتراضيًا، يتم تعيين NOCOUNT على OFF ويقوم بإرجاع عدد السجلات التي تأثرت عند تنفيذ الأمر. إذا كان المستخدم لا يريد عرض عدد السجلات المتأثرة، فيمكن ضبطه بشكل صريح على ON- (SET NOCOUNT ON).


29. ما هو جدول خادم SQL المستخدم للاحتفاظ بالبرامج النصية للإجراءات المخزنة؟

Sys.SQL_Modules هو جدول SQL Server يستخدم لتخزين البرنامج النصي للإجراء المخزن. يتم حفظ اسم الإجراء المخزن في الجدول المسمى Sys.Procedures.


30. ما هي الجداول السحرية في SQL Server؟

أثناء عمليات DML مثل الإدراج والحذف والتحديث، يقوم SQL Server بإنشاء جداول سحرية للاحتفاظ بالقيم أثناء عمليات DML. تُستخدم هذه الجداول السحرية داخل المشغلات لمعاملات البيانات.


31. ما هو الفرق بين SUBSTR وCHARINDEX في SQL Server؟

يتم استخدام الدالة SUBSTR لإرجاع جزء معين من السلسلة في سلسلة معينة. لكن وظيفة CHARINDEX تعطي موضع الحرف في سلسلة محددة.

SUBSTRING('Smiley',1,3)

يعطي نتيجة Smi

CHARINDEX('i', 'Smiley',1)

يعطي 3 نتيجة كما تظهر في 3rd موضع الخيط


32. كيف يمكنك إنشاء تسجيل دخول؟

يمكنك استخدام فولوwing الأمر لإنشاء تسجيل الدخول

CREATE LOGIN MyLogin WITH PASSWORD = '123';

33. ما هو عامل التشغيل ISNULL()؟

يتم استخدام الدالة ISNULL للتحقق مما إذا كانت القيمة المعطاة فارغة أم لا في خادم SQL. توفر هذه الوظيفة أيضًا استبدال القيمة بالقيمة NULL.


34. ما فائدة عبارة FOR؟

جملة FOR تستخدم بشكل أساسي لـ XML وخيارات المتصفح. تُستخدم هذه الجملة بشكل أساسي لعرض نتائج الاستعلام بتنسيق XML أو في المتصفح.


35. ما هو الحد الأقصى لعدد الفهرس لكل جدول؟

بالنسبة لـ SQL Server 2008، يمكن استخدام 100 فهرس كحد أقصى لعدد كل جدول. يمكن استخدام فهرس متفاوت المسافات و1 فهرسًا غير متفاوت المسافات لكل جدول في SQL Server.

يمكن استخدام 1000 فهرس كحد أقصى لكل جدول. يمكن استخدام فهرس متفاوت المسافات و1 فهرسًا غير متفاوت المسافات لكل جدول في SQL Server.

يمكن استخدام فهرس متفاوت المسافات و1 فهرسًا غير متفاوت المسافات لكل جدول في SQL Server.


36. ما هو الفرق بين الالتزام والرولباك؟

كل عبارة بين BEGIN وCOMMIT تصبح ثابتة في قاعدة البيانات عند تنفيذ COMMIT. يتم إرجاع كل عبارة بين BEGIN وROOLBACK إلى الحالة التي تم فيها تنفيذ ROOLBACK.


37. ما هو الفرق بين أنواع varchar وnvarchar؟

Varchar وnvarchar متماثلان ولكن الاختلاف الوحيد هو أنه يمكن استخدام nvarhcar لتخزين أحرف Unicode للغات متعددة كما أنه يأخذ مساحة أكبر عند مقارنته بـ varchar.


38. ما فائدة @@SPID؟

يقوم @@SPID بإرجاع معرف الجلسة لعملية المستخدم الحالية.


39. ما هو الأمر المستخدم لإعادة ترجمة الإجراء المخزن في وقت التشغيل؟

يمكن تنفيذ الإجراء المخزن بمساعدة الكلمة الأساسية التي تسمى RECOMPILE.

مثال

Exe <SPName>  WITH RECOMPILE

أو يمكننا تضمين WITHRECOMPILE في الإجراء المخزن نفسه.


40. كيفية حذف الصفوف المكررة في SQL Server؟

يمكن حذف الصفوف المكررة باستخدام ميزة CTE وROW NUMER في SQL Server.


41. أين يتم تخزين أسماء مستخدمي SQL Server وكلمات المرور في SQL Server؟

يتم تخزين أسماء المستخدمين وكلمات المرور في sys.server_principals وsys.sql_logins. ولكن لا يتم تخزين كلمات المرور في النص العادي.


42. ما هو الفرق بين GETDATE وSYSDATETIME؟

كلاهما متماثلان، لكن GETDATE يمكن أن يعطي وقتًا حتى المللي ثانية ويمكن أن يوفر SYSDATETIME الدقة حتى النانو ثانية. يعد وقت SYSDATE أكثر دقة من GETDATE.


43. كيف يمكن نسخ البيانات من جدول إلى جدول آخر؟

INSERT INTO SELECT

يُستخدم هذا الأمر لإدراج البيانات في جدول تم إنشاؤه بالفعل.

SELECT INTO

يُستخدم هذا الأمر لإنشاء جدول جديد ويمكن نسخ بنيته وبياناته من الجدول الموجود.


44. ما هو الجدول؟

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


45. ما هو الأمر الذي يتم استخدامه لرسائل الخطأ التي يحددها المستخدم؟

RAISEERROR هو الأمر المستخدم لإنشاء وبدء معالجة الأخطاء لجلسة معينة. يتم تخزين تلك الرسائل المحددة من قبل المستخدم في جدول sys.messages.


46. ​​ماذا نعني بنوع بيانات XML؟

يتم استخدام نوع بيانات XML لتخزين مستندات XML في ملف مزود خدمة قاعدة البيانات. يتم إنشاء الأعمدة والمتغيرات وتخزين مثيلات XML في قاعدة البيانات.


47. ما هو مركز السيطرة على الأمراض؟

يتم اختصار CDC باسم Change Data Capture والذي يستخدم لالتقاط البيانات التي تم تغييرها مؤخرًا. هذه الميزة موجودة في SQL Server 2008.


48. ما هو حقن SQL؟

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

حتى المعلمات يمكن التلاعب بها من قبل المهاجمين المهرة وذوي الخبرة.


49. ما هي الأساليب المستخدمة للحماية من هجوم حقن SQL؟

فولوwing هي الطرق المستخدمة للحماية من هجوم حقن SQL:

  • استخدام المعلمات للإجراءات المخزنة
  • تصفية معلمات الإدخال
  • استخدم مجموعة المعلمات مع Dynamic SQL
  • في جملة مثل، أحرف هروب المستخدم

50. ما هو الفهرس المفلتر؟

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

ستساعد أسئلة المقابلة هذه أيضًا في حياتك (شفهي)