I often use Azure Data Studio's Schema Compare in lower environments like dev and uat, to get information about the schemas, before I commence with making changes and/or testing.

I need to compare the production schema (source of truth for the schema), to the lower environments as well. But, how do I know, that when I run the Schema Compare, I do not impact the production system? How do I know that I would not cause downtime or loss of data?

Obviously, if I apply a schema update on prod, that would have an impact. But I'm not asking about that, but rather specifically the comparison operation itself.

enter image description here

I could not find a statement from MS in the docs, that clarifies if Schema Compare is meant to be ran against production databases.

  • See if this helps stackoverflow.com/questions/2077807/…
    – nbk
    Commented May 13 at 11:53
  • @nbk Unfortunately not. What I need to do is compare schemas, not data.
    – Divan
    Commented May 13 at 12:02
  • 1
    I have no knowledge of exact mechanics, but my understanding is that schema compare uses the sys.* tables (like sys.tables, sys.columns, etc.) to compare the schema and will therefore be extremely lightweight. The only impact I can see is if someone is actively modifying the schema at the same time. I have done occasional schema compares against my (very busy) prod environment and have never encountered issues. Commented May 13 at 12:26
  • "How do I know that I would not cause...loss of data?" - How do you know when you sneeze, you wouldn't cause loss of data?
    – J.D.
    Commented May 13 at 14:29

1 Answer 1


if Schema Compare is meant to be ran against production databases.

Yes. The intent is that you have a new schema version, use the schema compare with production to identify the changes that need to be made to apply those changes to production.

Not the answer you're looking for? Browse other questions tagged or ask your own question.