Abaixo está uma instrução que descreve uma tarefa de geração de SQL, combinada com uma entrada que fornece mais contexto sobre os esquemas de tabela disponíveis. Escreva o código SQL que responda adequadamente à solicitação
 ###Instrução: Qual é o número de embarcações que visitaram o Porto de Sydney no último mês com histórico de violações de segurança, e qual é a porcentagem dessas embarcações em relação ao número total de embarcações que visitaram o porto no mesmo período?
 ###Tabelas: 
CREATE TABLE vessels (id INT, name TEXT, safety_violations INT, visit_date DATE, visit_port TEXT);
SELECT COUNT(*), (COUNT(*) * 100.0 / (SELECT COUNT(*) FROM vessels WHERE visit_date >= DATEADD(month, -1, GETDATE()) AND visit_port = 'Sydney')) AS percentage_of_total FROM vessels WHERE visit_date >= DATEADD(month, -1, GETDATE()) AND visit_port = 'Sydney' AND safety_violations > 0;