A server level DDL trigger can check the recovery model of a newly-created database and rollback when not FULL. Below is an example trigger that uses THROW
to rollback the statement with an error message.
CREATE TRIGGER srv_ddl_trigger_create_database
ON ALL SERVER
FOR CREATE_DATABASE
AS
--check the recovery model of new database and rollback if not FULL
IF EXISTS(
SELECT 1
FROM sys.databases
WHERE name = EVENTDATA().value('(/EVENT_INSTANCE/DatabaseName)[1]','sysname')
AND recovery_model_desc <> 'FULL')
BEGIN
THROW 50000, 'New databases must be created with FULL recovery model',1;
END;
GO