Ошибки в SQL режиме (FAQ): различия между версиями

Материал из Alta-Soft Wikipedia
Перейти к навигации Перейти к поиску
Строка 37: Строка 37:
 
* "гадит" протокол Общая память: в Диспетчере конфигурации отключить протокол Общая память, включить протокол TCP/IP и перезапустить службу SQL-севера
 
* "гадит" протокол Общая память: в Диспетчере конфигурации отключить протокол Общая память, включить протокол TCP/IP и перезапустить службу SQL-севера
 
* нарушается таблица маршрутизации вследствии каких-либо причин (н-р установка подключения к интернет через модем): использовать в качестве имени сервера его ip-адрес
 
* нарушается таблица маршрутизации вследствии каких-либо причин (н-р установка подключения к интернет через модем): использовать в качестве имени сервера его ip-адрес
* ERRORLOG в папке sql сервера сильно вырос и не может переименоваться на ERRORLOG.1*, для создания нового. Тут, возможно, не хвататает прав на внесение изменений в этой папке(необходимо админам проверить), либо кривая установка 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, если не помогло, переустановка).
  
  

Версия 15:45, 23 января 2013

В данной статье перечислены наиболее часто возникающие ошибки при работе программ в SQL режиме и описаны способы их устранения.


Q: Недопустимое имя объекта DOCS (или DO1DATA)

A: Данная ошибка обычно возникает при первичном подключении к базе данных ГТД.

Для устранения ошибки сделайте следующее:

  • Откройте SQL Server Managment Studio, подключитесь к серверу
  • Откройте файл (Файл - Открыть - Файл) DOCS.SQL (для DO1DATA - DO1DATA.SQL), который находится в папке UTILS с установленной программой ГТД (при установке по умолчанию это C:\Alta)
  • Выберите из списка (рядом с кнопкой Выполнить) базу данных, в которой произошла ошибка
  • Нажмите кнопку Выполнить


Q: В Альта-ГТД не работает поиск

A: Возможные проблемы:

  • не установлена служба полнотекстового поиска: переустановить SQL сервер, при переустановке не забыть поставить галку на "Компонент Full-Text Search"
  • не запущена служба полнотекстового поиска: запустить службу, в параметрах запуска установить Авто
  • служба полнотекстового поиска не запускается с ошибкой "Интерфейс не поддерживается", либо такая ошибка выскакивает при поиске: переустановить SQL-сервер
  • при поиске выдается сообщение об ошибке "Служба не запущена", хотя она запущена, либо какая то еще ошибка: запустить скрипт FullText.sql (если каталог уже существует, будет выдана ошибка, но это не страшно), затем ConvertFtcLng.sql (выдается сообщение: "Внимание! Таблица или индексированное представление "dbo.Docs" имеет столбцы полнотекстового индекса... " - это нормально)


Q: Невозможно подключиться к серверу с удаленной машины

A: Возможные проблемы:

  • брандмауэр windows или установленный антивирус блокирует порт 1433: все отключить и проверить соединение
  • на сервере не включен протокол TCP/IP: открыть Диспетчер конфигурации SQL сервер, включить протокол, перезапустить службу SQL-сервера


Q: При работе с программой внезапно теряется подключение к серверу

A: Возможные проблемы:

  • "гадит" протокол Общая память: в Диспетчере конфигурации отключить протокол Общая память, включить протокол TCP/IP и перезапустить службу SQL-севера
  • нарушается таблица маршрутизации вследствии каких-либо причин (н-р установка подключения к интернет через модем): использовать в качестве имени сервера его ip-адрес
  • ERRORLOG в папке sql сервера сильно вырос и не может переименоваться на ERRORLOG.1*, для создания нового. Тут, возможно, не хватает прав на внесение изменений в этой папке(необходимо админам проверить), либо кривая установка SQL сервера(Остановить службу SQL сервера и удалить вручную C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\ERRORLOG, если не помогло, переустановка).


Q: На локальной (удаленной) машине невозможно подключиться к SQL-серверу (Сервер не найден)

A: Возможно, установлен именованный instance SQL-сервера: указать в настройках ИМЯ_СЕРВЕРА\ИНСТАНС (обычно это SQLEXPRESS)


Q: Ошибка при создании новой базы данных "Разрешение CREATE DATABASE запрещено в базе данных "master"

A: У пользователя, под которым было произведено подключение к SQL-серверу, нет прав на создание новой базы данных: необходимо залогиниться под пользователем sa или другим пользователем с правами администратора


Q: Ошибка при создании новой базы данных "Ошибка операции CREATE DATABASE. Некоторые из перечисленных имен файлов не были созданы"

A: Проблема: база данных не подключена к серверу, однако сами файлы базы данных по какой то причине присутствуют в системном каталоге DATA SQL-сервера: присоедините базу данных, для чего

  • Откройте SQL Server Managment Studio, подключитесь к серверу
  • Кликните правой кнопкой мыши по Базам данных, в контекстном меню выберите пункт Присоединить
  • В появившемся окне нажмите кнопку Добавить и выберите нужный файл *.mdf, нажмите ОК
  • Нажмите ОК


Q: При подключении к базе выдается ошибка "Не удаётся найти указанного поставщика"

A: Для устранения данной ошибки можно попробовать:

  • перерегистрировать 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 сервер на проблемной машине
  • если все перечисленные способы не помогли, попробовать сделать откат системы, либо переустановить операционку


Q: Locking optimistic failed: user with class identifier...

A: Ошибка означает, что повторно удаляется или записывается одна и та же запись в таблицу SQL. Лечится перезапуском SQL сервера.


Q: При подключении базы данных ругается на несоответствующий (ошибочный, и т.д.) лог-файл *.ldf

A: В этом случае необходимо выполнить ОДИН из скриптов. Естественно указав корректный путь к файлу базы и задав нужное имя БД. При этом сам битый файл *.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


Q: База данных находится в режиме "Подозрительный"

A: Необходимо выполнить скрипт (заменить везде название базы, если она отличается от 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