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);
}
A
The sys_class_name should be 'Server' instead of 'cmdb_ci_server'.
Why wrong: 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.
B
The GlideRecord is not properly initialized.
Why wrong: Incorrect. If the GlideRecord were not properly initialized, the script would throw an error. Since it runs without errors, initialization is fine.
C
The administrator does not have read access to the cmdb_ci table.
Correct. Lack of read access to the cmdb_ci table would cause the script to return no records silently, matching the described behavior.
D
The script does not have a condition to check the number of records.
Why wrong: Incorrect. A condition to check the number of records is not required for output; the script would still output CI names without it.
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.
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 →
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.
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.
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.
Sign in to join the discussion.