Migracja bazy danych Płatnik z Access 32 bit na MS SQL Server
Instalujemy po kolei
Microsoft Visual C++ Redistributable
Microsoft OLE DB Driver 19 for SQL Server (x64)
Microsoft SQL Server Migration Assistant (SSMA) for Access
SQL Server Management Studio (SSMS)
Uruchamiamy Migration Assistant (SSMA) for Access
Pomijamy Kreatora
Tools -> Default Project Settings
Zmieniamy “Add timestamp column” na Never
Tools -> Project Settings -> Type Mapping
zmieniamy
date na datetimetext[*..*]
text[*..*] na varchar[*]
memo na varchar[max]
Odpalamy kreatora, wybieramy bazę źródłową <nazwa>.mdb bazę docelową na serwerze MSSQL i wykonujemy konwersję.
Uruchom SQL Server Management Studio (SSMS) i usuń ograniczenia dotyczące zerowej długości wszystkich pól
polecenie poniżej wyświetli kwerendę która to zrobi
SELECT
ctu.TABLE_CATALOG
,ctu.TABLE_SCHEMA
,ctu.TABLE_NAME
,ctu.CONSTRAINT_CATALOG
,ctu.CONSTRAINT_SCHEMA
,ctu.CONSTRAINT_NAME
,cc.CHECK_CLAUSE
,[drop_statement]= 'ALTER TABLE [' + ctu.TABLE_CATALOG + '].['+ ctu.TABLE_SCHEMA+ '].[' + ctu.TABLE_NAME + '] DROP CONSTRAINT [' + ctu.CONSTRAINT_NAME +'];'
FROM [platnik].[INFORMATION_SCHEMA].[CONSTRAINT_TABLE_USAGE] ctu
join [platnik].[INFORMATION_SCHEMA].[CHECK_CONSTRAINTS] cc on ctu.CONSTRAINT_NAME=cc.CONSTRAINT_NAME
Tworzenie konta dla Płatnika
Uruchom SQL Server Management Studio (SSMS)
Utwórz konto dla bazy docelowej
Security -> Logins
Przejdź do User Mapping i ustaw usera jako właściciela bazy
Podłączanie Płatnika
Podłączamy się pod serwer MSSQL używając MSSQL Server Authentication, podając usera i hasło
Jeśli dostaniemy błąd
to zmieniamy sterownik połączenia z MSOLEDBSQL na SQLOLEDB (w moim przypadku musiałem tak zrobić pomimo migracji na MSSQL 2014 Standard)
Program accesspassview do odzyskiwania hasła do pliku mdb