Have you upgraded from SQL Server 2016 to 2017 before? Can we use a SQL Server 2016 user database backup and restore to SQL Server 2017? Is in place upgrade approach better than do a backup/restore? We have a huge user database about 900GB need to upgrade. Please advice.
Yes, you can restore a SQL 2016 on a SQL 2017 without issues.
Consider upgrading the compatability level of the database to SQL 2017(140) after migrating the database, cause the 2016 db will still have the 2016 compatability level(130).
Also if you're doing any migrations consider using the Database migration assistant, it's a free microsoft tool where can you let microsoft check for you if you can do the migration without issues, it also checks for features you have to change or can possibly use after the migration.
My suggestion will be create a standby to 2017. This way you will have practically no downtime.
Server A will be 2016, Server B 2017, create a log shipping from Server A to B, at the time of the migration, put Server A in read only, apply the last tlog backup to Server B, and then open Server B, if everything works fine, leave server B and stop server A.
If need to go back, simply drop server B and enable read/write to server A.