Sto usando Microsoft SQL Server 2014 Enterprise Edition. Si verifica un problema con i server collegati in cui è necessario riavviare il server o arrestare il MSSQLSERVER
servizio. Quando il server è di nuovo in esecuzione, i server collegati (a DB2) non funzionano correttamente e SQL Server mostra questo errore:
Messaggio 7302, livello 16, stato 1, riga 10
Impossibile creare un'istanza del provider OLE DB "DB2OLEDB" per il server collegato "Airspe".
Solo dopo aver riavviato il server più volte il server collegato inizia a funzionare.
- Perché è necessario riavviare il server più volte per ottenere server collegati?
- Ci sono altre soluzioni?
Questo è lo script per creare uno dei server collegati:
EXEC master.dbo.sp_addlinkedserver
@server = N'AIRS',
@srvproduct=N'Microsoft OLE DB Provider for DB2',
@provider=N'DB2OLEDB',
@datasrc=N'###.###.###.##',@provstr=N'Provider=DB2OLEDB;
Data Source=#####;Persist Security Info=True;Password=**********;
User ID=######;Initial Catalog=######;
Network Address=###.###.###;Package Collection=AICOLDP;DBMS Platform=DB2/AS400',
@catalog=N'#####'
EXEC master.dbo.sp_addlinkedsrvlogin @rmtsrvname=N'AIRS',@useself=N'False',@locallogin=NULL,@rmtuser=N'#####',@rmtpassword='########'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'collation compatible', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'data access', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'dist', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'pub', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'rpc', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'rpc out', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'sub', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'connect timeout', @optvalue=N'0'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'collation name', @optvalue=null
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'lazy schema validation', @optvalue=N'false'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'query timeout', @optvalue=N'0'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'use remote collation', @optvalue=N'true'
EXEC master.dbo.sp_serveroption @server=N'AIRS', @optname=N'remote proc transaction promotion', @optvalue=N'true'