Chcąc wykonać migrację danych z programu Płatnik zapisanej w formacie Access 32 bit, napotkałem sporo trudności. Wiele osób radzi zainstalować SQL Serwer w wersji 32 bitowej i przenieść najpierw na ten serwer. Następnie na docelowy a później proponują żeby wykonać konwersję stopniowo do najwyższej wersji SQL.
Migracja Płatnik Access na SQL jest to operacja czasochłonna i problematyczna ponieważ potrzebny jest 32 bitowy system operacyjny żeby zainstalować 32 bitowy serwer SQL.
Udało mi się znaleźć rozwiązanie oparte na Microsoft SQL Server Migration Assistant (SSMA) for Access .
Dlatego program do wykonania migracji za darmo można pobrać ze strony Microsoftu https://www.microsoft.com/en-us/download/details.aspx?id=54255.
W ustawieniach projektu należy zmienić niektóre typy pól, menu Tools -> Project Settings -> Type Mapping 
date na datetimetext[*..*]
text[*..*] na varchar[*]
memo na varchar[max]
W ustawieniach projektu na kolejnej zakładce, menu Tools -> Project Settings -> General; Conversion trzeba ustawić by nie były dodawane kolumny ze znacznikami czasu.
Jeżeli nie zapomnieliśmy w ustawieniach generalnych projektu wybrać wersji serwera na który będzie przenoszona baza danych, łączymy się z serwerem SQL i wskazujemy gdzie będzie umieszczona nowa baza.
Na stronie https://bakus.dev/1343/migracja-platnika-z-axcess-32bit-do-mssql-server-2014 znalazłem informację że po Migracji Płatnik Access na SQL należy usunąć ograniczenia dotyczące zerowej długości wszystkich pól. Operację tą można wykonać korzystając z SQL Management Studio.
Dlatego proponuję użyć poniższego skryptu:
SELECTCONCAT('ALTER TABLE [', CONSTRAINT_CATALOG, '].[', TABLE_SCHEMA, '].[', TABLE_NAME, '] DROP CONSTRAINT [', CONSTRAINT_NAME, '];')FROM[PLATNIK].[INFORMATION_SCHEMA].[TABLE_CONSTRAINTS]WHERECONSTRAINT_TYPE = 'CHECK';
W moim przypadku formuła ta nie zadziałała, aby rozwiązać ten problem, stworzyłem pustą bazę korzystając z programu Płatnik na serwerze MSSQL, zrobiłem migrację prze konwertowanej bazy Płatnik do nowo utworzonej bazy danych.
