Yes, but note that you need to run the restic client on the Windows machine. How you trigger that (manually, scheduled, by a remote call that runs it on the Windows machine, etc) is not something that restic is concerned with.
Yes, but only as files in the filesystem. If there’s a risk that data change during the backup, you should manage that separately, e.g. by making database dumps. Restic does have support for filesystem snapshots using Windows’ VSS through the --use-fs-snapshot
option.
Restic does not have application-specific awareness or processing like e.g. Veeam does for some software, the closest you get is that it can use a filesystem snapshot. See also this reply for more comments on this topic: Does restic snapshot provide crash consistency? - #4 by rawtaz