A database can use a simulated time zone rather than the time zone of the host computer.
By default, the database server uses the time zone of the computer on which the database server is running on. However, you can configure a database to run as though it is located in a different time zone. When the database runs in this simulated time zone, time calculations and functions use the simulated time zone. Only the scheduled events, transaction logs, and auditing records continue to use the time zone of the database server, not the simulated time zone.
This feature allows you to run different databases from the same database server and have each database appear to be running from a different time zone. For example, a company could host three databases on the same database server in Germany for customers in London, Rome, and Shanghai, and have the time zone of each database reflect that of the customer city.
This feature also allows you to run databases in different locations and have them all appear to be running in the same time zone. For example, you could have databases located in Alaska, New York, and Los Angeles, but have them all appear to running from Los Angeles. To determine the time zone that a database is running in, you can query the timezone or CurrentTimezoneOffset database property or the SYSTIMEZONE system view. The TimeZoneAdjustment database server property can be used to calculate the time zone of the database server.
Using a simulated time zone affects calculations using the CURRENT TIME special value or the NOW or GETDATE functions, but does not affect the value of the CURRENT UTC TIME or CURRENT SERVER TIME special values. Queries that result in a time, date, or timestamp (with the exception of values returned from tables) are returned using the database's time zone, if the database has the time_zone option set.
If you run a query against another database that returns a time, date, or timestamp, then that value is returned using the time zone of the database that you are currently connected to, not the time zone of the database you are running the query against.