Question 444 of 520
Database Administration and CMDBmediumMultiple ChoiceObjective-mapped

Correct sys_class_name for Server CIs in GlideRecord

This SNOW-CSA practice question tests your understanding of database administration and cmdb. The scenario asks you to isolate a root cause — eliminate options that address a different problem before choosing. A key principle to apply: glideRecord and Read Access. Once you have made your selection, read the full explanation to reinforce the concept and understand why each distractor is designed to mislead on exam day.

Exhibit

var gr = new GlideRecord('cmdb_ci');
gr.addQuery('sys_class_name', 'cmdb_ci_server');
gr.query();
while(gr.next()){
  gs.info(gr.name);
}

Refer to the exhibit. An administrator runs this script in a background script. The script runs without errors but does not output any CI names. All servers exist in the CMDB. What could be the issue?

Exhibit

var gr = new GlideRecord('cmdb_ci');
gr.addQuery('sys_class_name', 'cmdb_ci_server');
gr.query();
while(gr.next()){
  gs.info(gr.name);
}

Answer choices

Why each option matters

Answer the question above first, then reveal the full breakdown to understand why each option is right or wrong.

Correct answer & explanation

The administrator does not have read access to the cmdb_ci table.

The correct answer is C because the script runs without errors but returns no records, indicating a permission issue. In ServiceNow, if the administrator lacks read access to the 'cmdb_ci' table (or the specific table being queried), GlideRecord will not return any records even if they exist. The other options are incorrect: A is wrong because 'cmdb_ci_server' is the correct sys_class_name value for server CIs; B is false because the script runs without errors, so initialization is fine; D is false because the condition is not necessary for record output—the query itself would return all records without a condition.

Key principle: GlideRecord and Read Access

Answer analysis

Option-by-option breakdown

For each option: why learners choose it and why it is or isn't the right answer here.

  • The sys_class_name should be 'Server' instead of 'cmdb_ci_server'.

    Why it's wrong here

    Incorrect. The sys_class_name for server CIs is 'cmdb_ci_server', not 'Server'. Using 'cmdb_ci_server' is correct and should return matching records if they exist.

  • The GlideRecord is not properly initialized.

    Why it's wrong here

    Incorrect. If the GlideRecord were not properly initialized, the script would throw an error. Since it runs without errors, initialization is fine.

  • The administrator does not have read access to the cmdb_ci table.

    Why this is correct

    Correct. Lack of read access to the cmdb_ci table would cause the script to return no records silently, matching the described behavior.

    Related concept

    GlideRecord and Read Access

  • The script does not have a condition to check the number of records.

    Why it's wrong here

    Incorrect. A condition to check the number of records is not required for output; the script would still output CI names without it.

Common exam traps

Common exam trap: answer the scenario, not the keyword

Candidates often forget that security roles and ACLs can silently prevent GlideRecord from returning records. A script that runs without errors but yields no results should always prompt a check of access permissions before assuming the query logic is flawed.

Trap categories for this question

  • Command / output trap

    Incorrect. A condition to check the number of records is not required for output; the script would still output CI names without it.

Detailed technical explanation

How to think about this question

In ServiceNow, the CMDB uses a single 'cmdb_ci' table for all configuration items, with the 'sys_class_name' field distinguishing subtypes like 'cmdb_ci_server'. When querying via GlideRecord, you must use the actual table name (e.g., 'cmdb_ci'), not the sys_class_name value. This is a common pitfall because the sys_class_name appears as a 'table' in the CMDB UI but is not a database table. In real-world scenarios, this mistake often occurs when administrators copy the class name from the CMDB class hierarchy instead of the table name from the System Definition > Tables module.

KKey Concepts to Remember

  • GlideRecord and Read Access
  • sys_class_name

TExam Day Tips

  • Watch for words such as best, first, most likely and least administrative effort.
  • Review why wrong options are wrong, not only why the correct option is correct.

Key takeaway

GlideRecord and Read Access

Real-world example

How this comes up in practice

A practitioner preparing for the SNOW-CSA exam encounters this exact type of scenario on the job. The correct answer here is not the most general option — it is the best answer for the specific constraint described. GlideRecord and Read Access Real exam questions reward reading the full scenario before eliminating options, because the constraint defines which answer fits.

What to study next

Got this wrong? Here's your next step.

Review glideRecord and Read Access, then practise related SNOW-CSA questions on the same topic to reinforce the concept.

Related practice questions

Related SNOW-CSA practice-question pages

Use these pages to review the topic behind this question. This is how one missed question becomes focused revision.

Practice this exam

Start a free SNOW-CSA practice session

Short sessions build daily habit. Longer sessions build exam-day stamina. Try a timed session to simulate real conditions.

FAQ

Questions learners often ask

What does this SNOW-CSA question test?

Database Administration and CMDB — This question tests Database Administration and CMDB — GlideRecord and Read Access.

What is the correct answer to this question?

The correct answer is: The administrator does not have read access to the cmdb_ci table. — The correct answer is C because the script runs without errors but returns no records, indicating a permission issue. In ServiceNow, if the administrator lacks read access to the 'cmdb_ci' table (or the specific table being queried), GlideRecord will not return any records even if they exist. The other options are incorrect: A is wrong because 'cmdb_ci_server' is the correct sys_class_name value for server CIs; B is false because the script runs without errors, so initialization is fine; D is false because the condition is not necessary for record output—the query itself would return all records without a condition.

What should I do if I get this SNOW-CSA question wrong?

Review glideRecord and Read Access, then practise related SNOW-CSA questions on the same topic to reinforce the concept.

What is the key concept behind this question?

GlideRecord and Read Access

About these practice questions

Courseiva creates original exam-style practice questions with explanations and wrong-answer analysis. It does not publish real exam questions, exam dumps, or protected exam content. Learn why practice questions differ from exam dumps →

How Courseiva writes practice questions · Editorial policy

Keep practising

More SNOW-CSA practice questions

Last reviewed: Jun 24, 2026

Question Discussion

Share a tip, memory trick, or ask about the reasoning behind this question. Do not post real exam questions, leaked content, braindumps, or copyrighted exam material. Comments are moderated and may be removed without notice.

Loading comments…

Sign in to join the discussion.

This SNOW-CSA practice question is part of Courseiva's free ServiceNow certification practice question bank. Courseiva provides original exam-style practice questions with explanations, topic-based practice, mock exams, readiness tracking, and study analytics to help learners prepare for the SNOW-CSA exam.