Anti-disturbance control problem is studied for ship dynamic positioning systems with disturbances and thruster faults. The disturbances include slowly-varying environmental disturbances and norm bounded disturbances. For the slowly-varying environmental disturbance, a stochastic disturbance observer is established to give the online estimation. For thruster faults, a fault diagnosis observer is designed. Then, a composite anti-disturbance control (CADC) strategy is raised, which ensures asymptotic mean-square boundedness of the closed-loop system. Finally, the simulation example proves the validity of the controller.