Yes you can. You open the FTP site in IIS and change the SSL Settings from Require to Allow.
You have to check with the owners of the FTP site if this is allowed and I would recommend to use https if possible as this way you are transmitting the username and password using cleartext
Short Answer: Nothing at all is wrong with a domain account. When all the computers participating are in the same domain, go that way. Easier to manage and maintain and secure.
Your confusion here lies in the way the documents you are looking at are structured. In the document you reference in the comments above you see this section:
If your replication topology includes computers that are not in the
same domain or are in domains that do not have trust relationships
with each other, you can use Windows Authentication or SQL Server
Authentication for the connections made by agents (For more
information about domains, see the Windows documentation). It is
recommended as a security best practice that you use Windows
Authentication.
To use Windows Authentication:
Add a local Windows account (not a domain account) for each agent at
the appropriate nodes (use the same name and password at each node).
For example, the Distribution Agent for a push subscription runs at
the Distributor and makes connections to the Distributor and
Subscriber. The Windows account for the Distribution Agent should be
added to the Distributor and Subscriber.
Ensure that a given agent (for example the Distribution Agent for a
subscription) runs under the same account at each computer.
The article isn't saying "if you want to use a Domain account, we suggest you use a local account" - but I totally see why anyone would read it that way.
The article is saying, instead, "Use a domain account where you can. IF your computers are not in the same domain, here's a little trick you can use."
That trick, sometimes referred to as pass through authentication has you create an account on each computer. Same name. Same password. By doing that - windows will pass the credentials through and, for all intents and purposes of this conversation, the apps (SQL and Replication objects) won't realize it isn't really a "domain account" - and it will just work.
If, however, the computers are on the same domain? Just use the domain account.
If you go back to that first link you commented with - you'll notice the "if your replication topology includes computers that are not in the same domain..." line isn't bulleted or indented. Really the bullet about the local to each should be indented off of that.
Best Answer
I finally got it resolved. The issue was missing OLE DB driver.
I just downloaded latest driver. Then I got
msoledbsqlr.rll
driver in directoryC:\Windows\SysWOW64\1033
. Then I copied toC:\Program Files\Microsoft SQL Server\150\COM
directory, so it can be found bysnapshot.exe
, which is executable run by Snapshot Agent.Alternatvely, one can define environmental variable to point to
C:\Windows\SysWOW64\1033
direcotry, so it will be found there.Another issue might be that 64-bit SQL tries to use 32-bit drivers (
msoledbsql.dll
,msoledbsqlr.rll
), but it wasn't issue in my case.