Як перезавантажити пов'язаний сервер?


14

Я використовую Microsoft SQL Server 2014 Enterprise Edition. Проблема виникає з підключеними серверами, коли потрібно перезапустити сервер або зупинити MSSQLSERVERпослугу. Коли сервер запускається знову, пов'язані сервери (до DB2) не працюють належним чином, і SQL Server показує цю помилку:

Msg 7302, рівень 16, стан 1, рядок 10
Неможливо створити екземпляр постачальника OLE DB "DB2OLEDB" для пов'язаного сервера "Airspe".

Тільки після перезавантаження сервера кілька разів починає працювати пов'язаний сервер.

  1. Чому необхідно перезапустити сервер кілька разів, щоб встати на зв’язані сервери?
  2. Є інші рішення?

Це сценарій створення одного з пов'язаних серверів:

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'

Це конфігурація провайдера: конфігурація провайдера

Відповіді:


1

Я вважаю, чогось не вистачає в конфігурації для DB2 Link.

рядок з'єднання повинен виглядати таким чином.

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;

Будь ласка, додайте відсутні параметри, щоб система не встановлювала параметри автоматичного / рандо, що повинно вирішити проблему.


1

Ви можете перевірити, чи створений запит на зв’язаний сервер створений або запускається в контексті користувача, який є локальним адміністратором ОС, щоб виключити цю проблему

https://support.microsoft.com/en-us/help/2647989/error-message-when-you-try-to-create-an-instance-of-an-ole-db-provider-in-sql- сервер-не може створити-екземпляр-ole-db-провайдера


0

Відповідь вікі спільноти :

Проблемою була архітектура. У нас було 32 біти; ми перенесли нашу систему на інший сервер із 64-розрядною версією SQL Server 2014 Enterprise, і всі наші проблеми закінчилися - MelgoV (автор запитань).


Інші пропозиції, залишені в коментарях, якщо вони допомагають іншим:

Зазвичай не потрібно перезавантажувати, за винятком змін конфігурації. Вам слід вимкнути параметр вхідного процесу, якщо ви піклуєтесь про стабільність вашої основної бази даних - інакше помилки в пов'язаному драйвері сервера можуть призвести до виходу з ладу вашого двигуна.

Працювати неважливо, і це має низку ефективних ефектів, наприклад, як і що він використовує для представлення даних про безпеку в мережі. Розраховуйте провести день, намагаючись роз'єднати це, якщо підете цією стежкою.


Проблема може бути пов'язана з самим драйвером Microsoft. Замість цього використовуйте наданий IBM драйвер . Інструкції з її встановлення можна знайти тут . Драйвери, що постачаються постачальниками, часто набагато кращі: стабільніші та з більш високою продуктивністю, порівняно з тими, які надає Microsoft.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.