Wie lade ich einen Verbindungsserver neu?


14

Ich verwende Microsoft SQL Server 2014 Enterprise Edition. Bei den Verbindungsservern, bei denen ein Neustart des Servers oder ein Beenden des MSSQLSERVERDienstes erforderlich ist, tritt ein Problem auf . Wenn der Server erneut ausgeführt wird, funktionieren die Verbindungsserver (zu DB2) nicht ordnungsgemäß, und der SQL Server zeigt den folgenden Fehler an:

Meldung 7302, Ebene 16,
Status 1, Zeile 10 Es kann keine Instanz des OLE DB-Anbieters "DB2OLEDB" für den Verbindungsserver "Airspe" erstellt werden.

Erst nach mehrmaligem Neustart des Servers funktioniert der Verbindungsserver.

  1. Warum muss der Server mehrmals neu gestartet werden, um die Verbindungsserver einzurichten?
  2. Gibt es noch andere Lösungen?

Dies ist das Skript zum Erstellen eines der Verbindungsserver:

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'

Dies ist die Anbieterkonfiguration: provider_configuration

Antworten:


1

Ich glaube, in der Konfiguration für DB2 Link fehlt etwas.

Die Verbindungszeichenfolge sollte zuerst so aussehen.

Provider=DB2OLEDB; User ID=db2user; Password=mypassword; Initial Catalog=mydatabase;
Network Transport Library=TCP; Host CCSID=37;PC Code Page=1208;
Network Address=111.111.111.333; Network Port=446; Package Collection=MSDB2COL; 
Process Binary as Character=False; Connect Timeout=15; Units of Work=RUW;
DBMS Platform=DB2/AS400;Defer Prepare=False;Rowset Cache Size=0; Max Pool Size=100;
Persist Security Info=True;Connection Pooling=True;Derive Parameters=False;

Bitte fügen Sie fehlende Parameter hinzu, damit das System keine Automatic / Rando-Parameter einstellt, mit denen das Problem behoben werden kann.



0

Community Wiki Antwort :

Das Problem war die Architektur. Wir hatten 32 Bits; Wir haben unser System jetzt mit SQL Server 2014 Enterprise 64-Bit auf einen anderen Server migriert und alle unsere Probleme sind gelöst - MelgoV ( Frageautor ).


Andere Vorschläge in Kommentaren für den Fall, dass sie anderen helfen:

Ein Neustart ist nicht normal, außer bei Konfigurationsänderungen. Sie sollten die Option " In Bearbeitung" deaktivieren, wenn Sie sich um die Stabilität Ihrer Kerndatenbank kümmern. Andernfalls können Fehler im Treiber für den Verbindungsserver zum Absturz Ihres Moduls führen.

Es ist nicht trivial, sich an die Arbeit zu machen, und hat eine Reihe von Konsequenzen, z. Erwarten Sie, einen Tag damit zu verbringen, das zu entwirren, wenn Sie diesen Weg gehen.


Das Problem kann mit dem Microsoft-Treiber selbst zusammenhängen. Verwenden Sie stattdessen einen von IBM bereitgestellten Treiber . Anweisungen zur Installation finden Sie hier . Vom Hersteller bereitgestellte Treiber sind häufig weit überlegen: Sie sind stabiler und performanter als die von Microsoft standardmäßig bereitgestellten Treiber.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.