Ошибки в SQL режиме (FAQ): различия между версиями
Smorodin (обсуждение | вклад) |
Smorodin (обсуждение | вклад) |
||
Строка 35: | Строка 35: | ||
Возможные проблемы: | Возможные проблемы: | ||
− | * | + | * не отрабатывает протокол Общая память: в Диспетчере конфигурации отключить протокол Общая память, включить протокол TCP/IP и перезапустить службу SQL-севера |
* нарушается таблица маршрутизации вследствии каких-либо причин (н-р установка подключения к интернет через модем): использовать в качестве имени сервера его ip-адрес | * нарушается таблица маршрутизации вследствии каких-либо причин (н-р установка подключения к интернет через модем): использовать в качестве имени сервера его ip-адрес | ||
* ERRORLOG в папке sql сервера сильно вырос и не может переименоваться на ERRORLOG.1*, для создания нового. Тут, возможно, не хватает прав на внесение изменений в этой папке(необходимо админам проверить), либо кривая установка SQL сервера(Остановить службу SQL сервера и удалить вручную C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG, если не помогло, переустановка). | * ERRORLOG в папке sql сервера сильно вырос и не может переименоваться на ERRORLOG.1*, для создания нового. Тут, возможно, не хватает прав на внесение изменений в этой папке(необходимо админам проверить), либо кривая установка SQL сервера(Остановить службу SQL сервера и удалить вручную C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG, если не помогло, переустановка). |
Версия 09:29, 17 февраля 2013
В данной статье перечислены наиболее часто возникающие ошибки при работе программ в SQL режиме и описаны способы их устранения.
Содержание
- 1 Недопустимое имя объекта DOCS (или DO1DATA)
- 2 В Альта-ГТД не работает поиск
- 3 Невозможно подключиться к серверу с удаленной машины
- 4 При работе с программой внезапно теряется подключение к серверу
- 5 На локальной (удаленной) машине невозможно подключиться к SQL-серверу (Сервер не найден)
- 6 "Разрешение CREATE DATABASE запрещено в базе данных "master" при создании БД
- 7 "Ошибка операции CREATE DATABASE. Некоторые из перечисленных имен файлов не были созданы" при созднии БД
- 8 "Не удаётся найти указанного поставщика" при подключении к БД
- 9 Locking optimistic failed: user with class identifier...
- 10 Несоответствующий (ошибочный, и т.д.) лог-файл *.ldf
- 11 База данных находится в режиме "Подозрительный"
Недопустимое имя объекта DOCS (или DO1DATA)
Данная ошибка обычно возникает при первичном подключении к базе данных ГТД.
Для устранения ошибки сделайте следующее:
- Откройте SQL Server Managment Studio, подключитесь к серверу
- Откройте файл (Файл - Открыть - Файл) DOCS.SQL (для DO1DATA - DO1DATA.SQL), который находится в папке UTILS с установленной программой ГТД (при установке по умолчанию это C:\Alta)
- Выберите из списка (рядом с кнопкой Выполнить) базу данных, в которой произошла ошибка
- Нажмите кнопку Выполнить
В Альта-ГТД не работает поиск
Возможные проблемы:
- не установлена служба полнотекстового поиска: переустановить SQL сервер, при переустановке не забыть поставить галку на "Компонент Full-Text Search"
- не запущена служба полнотекстового поиска: запустить службу, в параметрах запуска установить Авто
- служба полнотекстового поиска не запускается с ошибкой "Интерфейс не поддерживается", либо такая ошибка выскакивает при поиске: переустановить SQL-сервер
- при поиске выдается сообщение об ошибке "Служба не запущена", хотя она запущена, либо какая то еще ошибка: запустить скрипт FullText.sql (если каталог уже существует, будет выдана ошибка, но это не страшно), затем ConvertFtcLng.sql (выдается сообщение: "Внимание! Таблица или индексированное представление "dbo.Docs" имеет столбцы полнотекстового индекса... " - это нормально)
Невозможно подключиться к серверу с удаленной машины
Возможные проблемы:
- брандмауэр windows или установленный антивирус блокирует порт 1433: все отключить и проверить соединение
- на сервере не включен протокол TCP/IP: открыть Диспетчер конфигурации SQL сервер, включить протокол, перезапустить службу SQL-сервера
При работе с программой внезапно теряется подключение к серверу
Возможные проблемы:
- не отрабатывает протокол Общая память: в Диспетчере конфигурации отключить протокол Общая память, включить протокол TCP/IP и перезапустить службу SQL-севера
- нарушается таблица маршрутизации вследствии каких-либо причин (н-р установка подключения к интернет через модем): использовать в качестве имени сервера его ip-адрес
- ERRORLOG в папке sql сервера сильно вырос и не может переименоваться на ERRORLOG.1*, для создания нового. Тут, возможно, не хватает прав на внесение изменений в этой папке(необходимо админам проверить), либо кривая установка SQL сервера(Остановить службу SQL сервера и удалить вручную C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG, если не помогло, переустановка).
На локальной (удаленной) машине невозможно подключиться к SQL-серверу (Сервер не найден)
Возможно, установлен именованный instance SQL-сервера: указать в настройках ИМЯ_СЕРВЕРА\ИНСТАНС (обычно это SQLEXPRESS)
"Разрешение CREATE DATABASE запрещено в базе данных "master" при создании БД
У пользователя, под которым было произведено подключение к SQL-серверу, нет прав на создание новой базы данных: необходимо залогиниться под пользователем sa или другим пользователем с правами администратора
"Ошибка операции CREATE DATABASE. Некоторые из перечисленных имен файлов не были созданы" при созднии БД
Проблема: база данных не подключена к серверу, однако сами файлы базы данных по какой то причине присутствуют в системном каталоге DATA SQL-сервера: присоедините базу данных, для чего
- Откройте SQL Server Managment Studio, подключитесь к серверу
- Кликните правой кнопкой мыши по Базам данных, в контекстном меню выберите пункт Присоединить
- В появившемся окне нажмите кнопку Добавить и выберите нужный файл *.mdf, нажмите ОК
- Нажмите ОК
"Не удаётся найти указанного поставщика" при подключении к БД
Для устранения данной ошибки можно попробовать:
- перерегистрировать OLEDB-компоненты доступа к данным, для чего необходимо выполнить команды в CMD
- regsvr32 "C:\Program Files\Common Files\System\Ole DB\sqloledb.dll"
- regsvr32 "C:\Program Files\Common Files\System\Ole DB\oledb32.dll"
- regsvr32 "C:\Program Files\Common Files\System\ADO\msado15.dll"
- если выше указанные действия не помогли, скопировать целиком обе папки OLEDB и ADO с другой машины с АНАЛОГИЧНОЙ операционкой и также перерегистрировать указанные dll-ки
- установить/переустановить SQL сервер на проблемной машине
- если все перечисленные способы не помогли, попробовать сделать откат системы, либо переустановить операционку
Locking optimistic failed: user with class identifier...
Ошибка означает, что повторно удаляется или записывается одна и та же запись в таблицу SQL. Лечится перезапуском SQL сервера.
Несоответствующий (ошибочный, и т.д.) лог-файл *.ldf
В этом случае необходимо выполнить ОДИН из скриптов. Естественно указав корректный путь к файлу базы и задав нужное имя БД. При этом сам битый файл *.ldf должен отсутствовать
- Первый скрипт:
USE [master] GO EXEC sp_attach_single_file_db @dbname='gtd', @physname=N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\gtd.mdf' GO
- Второй скрипт:
USE [master] GO CREATE DATABASE gtd ON (FILENAME = N'C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA\gtd.mdf') FOR ATTACH_REBUILD_LOG GO
База данных находится в режиме "Подозрительный"
Необходимо выполнить скрипт (заменить везде название базы, если она отличается от gtd):
alter database gtd set emergency alter database gtd set single_user go DBCC CHECKDB (gtd, REPAIR_ALLOW_DATA_LOSS) with NO_INFOMSGS go alter database gtd set multi_user go