Помилки sql сервера

Відмова з боку Microsoft SQL Server в доступі сервера 1С: Підприємства до бази даних від імені користувача SQL сервера є найбільш частою причиною повідомлення про помилку, що виникає при спробі підключення клієнтського додатка 1С: Підприємства до клієнт-серверної інформаційної базі. До таких помилок відносяться:

Microsoft OLE DB Provider for SQL Server. [DBNETLIB] [Connection Write (WrapperWrite ()).] General network error. Check your network documentation. HRESULT = 80004005, SQLSTATE = 08S01, native = 11

Помилка може виникнути в таких ситуаціях:

на SQL сервері встановлений режим аутентифікації "Windows only";

до даних від Microsoft SQL Server 7.0 (MDAC 2.1) застосовуються клієнтські компоненти;

на клієнтському комп'ютері використовується протокол "Multiprotocol" для доступу до SQL Server.

Щоб виправити становище, бажано налаштувати доступ до SQL сервера.

Microsoft OLE DB Provider for SQL Server. Connection failure. HRESULT = 80004005, SQLSTATE = 08501, native = 0

Помилка могла виникнути при перезавантаженні SQL сервера під час роботи сервера 1С: Підприємства. Якщо дана помилка з'явилася, то необхідно перезавантажити також сервер 1С: Підприємства.

Microsoft OLE DB Provider for SQL Server. [DBNMPNTW] [ConnectionOpen (CreateFile ()).] HRESULT = 80004005, SQLSTATE = 01000, native = 1326

Для початку, зверніть увагу на ідентифікатор бібліотеки, який записаний в квадратних дужках. Список деяких можливих значень представлений нижче:

DBNETLIB - бібліотека, яка використовується на клієнті SQL сервера для доступу до SQL сервера з будь-якого протоколу.
dbnmpntw - протокол Named Pipes для Win32
dbmssocn - протокол Winsock TCP / IP для WIN32
dbmsspxn - протокол SPX / IPX для WIN32
dbmsvinn - протокол Banyan Vines для Win32
dbmsrpcn - протокол Multi-Protocol (Windows RPC) для Win32
dbnmp3 - протокол Named Pipes для Win16
dbmssoc3 - протокол Winsock TCP / IP для Win16
dbmsspx3 - протокол SPX / IPX для Win16
dbmsvin3 - протокол Banyan Vines для Win16
dbmsrpc3 - протокол Multi-Protocol (Windows RPC) для Win16

В даному прикладі при спробі звернення до сервера 1С: Підприємства по протоколу "Named Pipes" користувачеві USER1CV8SERVER (від його імені працює сервер 1С: Підприємства) відмовлено в доступі системою безпеки того комп'ютера, на якому встановлений SQL сервер. Щоб виправити помилку, слід або використовувати інший протокол, або забезпечити комп'ютера з SQL сервером можливість аутентифікації користувача USER1CV8SERVER.

Microsoft OLE DB provider for SQL Server. Can not open database request in Login "upp". Login fails.

Якщо у Вас з'явилося таке повідомлення, це говорить про позаштатному завершення сервера 1С: Підприємства, коли інформаційна база знаходилася в монопольному режимі. В цей час база даних SQL сервера залишається в режимі одного, і сервер 1С: Підприємства не може до неї приєднатися. Щоб виправити цю помилку, запустіть Microsoft SQL Server Enterprise Manager, увійдіть в властивості бази даних, де розташовується інформаціанная база, і вимкніть однокористувальницький режим.

Подібна помилка може виникати, якщо для виконання якоїсь дії в 1С: Підприємстві потрібно перевести інформаційну базу в режим монопольного доступу, а переклад бази даних в одного користувача режим неможливий через те, що до неї, разом з сервером 1С: Підприємства, приєднано ще який-небудь додаток. Для виконання необхідних дій, які вимагають монопольний доступ до інформаційної бази, необхідно відключитися від відповідної бази даних усіма іншими додатками. Додатки, які під'єднані до бази даних, можна знайти в Microsoft SQL Server Query Analyzer.

Особливості виконання запитів SQL сервером

Головна причина виникнення наступних помилок - особливості виконання запитів SQL сервером Microsoft SQL Server. Помилки можуть виникати в наступних ситуаціях:

досягнення недокументованих програмних обмежень SQL сервера;

прояв на конкретному SQL запиті помилок Microsoft SQL Server.

Ці помилки зустрічаються досить рідко, і зазвичай, щоб їх усунути, просто переписують запит по-іншому.

Дана помилка означає, що вираз, вкладене в агрегатні функції або використане в розділі згруповані за, містить вкладені запити. Починаючи з 1С: Підприємства 8.0.9.32, дану помилку діагностує компілятор мови запитів.

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

Помилка може виникати при виконанні складних запитів. Якщо у Вас вискочило повідомлення про таку помилку, спробуйте видозмінити запит.

Щоб уникнути виникнення цієї помилки не використовуйте вкладених запитів з розділами "УПОРЯДОЧИТЬ ПО", якщо вихідний запит містить операцію "ОБ'ЄДНАТИ".


Помилки при виконанні операцій над даними

Такі помилки можуть виникати при виконанні запитів сервером у разі, якщо значеннями виразів виявляються дані, які неприпустимі для оголошених типів.

Microsoft OLE DB provider for SQL Server. Adding a value to a 'datetime' column caused overflow.HRESULT = 80040E07, SQLSTATE = 22077, native = 517


Помилки розміщення бази даних

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

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


Помилки виконання транзакцій

Повідомлення цього типу можуть виникнути при високому завантаженні сервера 1С: Підприємства через виниклих конфліктів транзакційних блокувань записів. Якщо у Вас виникло подібне повідомлення, повторіть виконання того ж самого інтерактивного дії.

Microsoft OLE DB provider for SQL Server. Transaction (Process ID 53) was deadlocked on lock resources with another process and has been chosen as the deadlock vitim. Rerun the transaction.HRESULT = 80004005, SQLSTATE = 40001, native = 1205

Повідомлення означає взаємне блокування транзакцій, початих двома або більшою кількістю користувачів. Якщо таке повідомлення з'являється часто, це свідчить про невдалі рішеннях, реалізованих в конфігурації. Щоб боротися з взаємним блокуванням, використовують ключове слово "ДЛЯ ЗМІНИ" в мові запитів.

Схожі статті