Migracja bazy Płatnik z MS Access do MS SQL
Migracja bazy Płatnik z MS Access do MS SQL.
Teoretycznie procedura bardzo prosta jeżeli nie wystąpią jakieś problemy.
Zaczynamy od postawienia bazy MS SQL Express lub od przygotowania nowej instancji na serwerze MS SQL
Domyślnie w Microsof SQL Server nie ma włączonej funkcji tworzenia bazy z poziomów programów. Gdy spróbujemy utworzyć bazę z poziomu aplikacji np. Płatnik pojawi się błąd z komunikatem:
Msg 15123, Level 16, State 1, Procedure sp_configure, Line 51
The configuration option 'Ad Hoc Distributed Queries' does not exist, or it may be an advanced option.
lub drugi komunikat
OpenRowset/OpenDatasource' of component 'Ad Hoc Distributed Queries' because this component is turned off as part of the security configuration for this server. A system administrator can enable the use of 'Ad Hoc Distributed Queries' by using sp_configure.
Aby włączyć obsługę tworzenia baz z aplikacji wykonujemy poniższe polecenia:
sp_configure 'show advanced options', 1 |
RECONFIGURE |
GO |
sp_configure 'ad hoc distributed queries', 1 |
RECONFIGURE |
GO |
Polecenie 1
sp_configure 'show advanced options', 1
reconfigure
po uruchomieniu dostajemy komunikat:
Configuration option 'show advanced options' changed from 0 to 1. Run the RECONFIGURE statement to install.
Polecenie 2
sp_configure 'show advanced options', 1
reconfigure
Prawidłowo zakończona komenda kończy się informacją:
Configuration option 'Ad Hoc Distributed Queries' changed from 0 to 1. Run the RECONFIGURE statement to install.
Jeżeli po wpisaniu polecenia
sp_configure 'show advanced options', 1
reconfigure
otrzymamy informację
Msg 15123, Level 16, State 1, Procedure sp_configure, Line 51
The configuration option 'Ad Hoc Distributed Queries' does not exist, or it may be an advanced option.
Może to oznaczać że nie wykonaliśmy poprawnie komendy pierwszej -
sp_configure 'Ad Hoc Distributed Queries', 1
lub nie zakończyliśmy jej komendą
reconfigure
Możliwe problemy
Rozpocznie się proces migracji bazy danych. UWAGA!!! Jeśli pojawi się błąd w stylu OLE DB provider: Microsoft Jet OLEDB.4.0 for linked Server (null) returned message Nie można użyć pliku lub Plik jest już w użyciu należy zamiast nazwy serwera użyć adresu IP serwera SQL ale wcześniej należy usunąć bazę danych poprzez SQL Server 2005 Management Studio Express. Po tych czynnościach wskazany jest restart usług lub serwera. Podanie adresu IP zamiast nazwy serwera jest szczególnie wskazane przy konfiguracji bazy SQL na stacjach roboczych które będą się łączyły z naszym serwerem