Ошибки и сбои в работе MS SQL Server

В этой статье описаны ошибки и сбои при работы с СУБД MS SQL Server и пути их решения.

  1. Не запускается служба SQL Server (EXPRESS) — код ошибки 3414.

Не запускается служба - ошибка 3414

В журнале событий выдается ошибка о испорченных системных файлах model.mdf и лог model_l.ldf:

Событие 9003 - db model is not valid

Решение.

Помогли следующие действия:

* Перед удалением СУБД SQL Server сохраните все рабочие БД на отдельный жесткий диск (лучше на внешний) во избежании потери данных!!!

  • 1. Зайти в Панель Управления -> Удаление программ;
  • 2. Нажать правой кнопкой мыши на MS SQL Server и выбрать пункт Удалить (Remove/Repair)
  • 3. Следовать пунктам инструкции.
  • 4. Далее нужно заново установить MS SQL Server
  • 5. Сделать attache (присоединить) БД, которую скопировали ранее (файл .mdf)

2. Довольно часто возникают случаи, когда из-за повреждения файлов база данных (БД) переводится в статус suspect:

mssqlserver - bd_suspect

Первым делом стоит проверить последний сохраненных back up (резервную копию БД), если ее актуальность Вас устраивает, то смело восстанавливайте ее и не трате времени и сил. В связи с этим еще раз напомню про актуальность создания резервных копий БД (по рекомендации Microsoft их нужно делать не реже раз в сутки).

Если все таки резервной копии БД нет или ее актуальность Вас не устраивает, то возможно попробовать произвести восстановление БД на свой страх и риск:

—переводим нашу БД testBD в аварийный режим

ALTER DATABASE testBD SET EMERGENCY;
GO

—переводим БД testBD в однопользовательский (SINGLE_USER) режим

ALTER DATABASE testBD SET SINGLE_USER WITH ROLLBACK IMMEDIATE;
GO

 

— Проверяем и заодно ремонтируем базу

DBCC CHECKDB('testBD', REPAIR_ALLOW_DATA_LOSS);
GO

— Переводим базу в обычный режим MULTI_USER

ALTER DATABASE testBD SET MULTI_USER;
GO

3. При входе в MS SQL Server под учетной записью SQL Server появляется ошибка 18456:

Microsoft SQL Server , Ошибка 18456
Рис.3 — Microsoft SQL Server , Ошибка 18456

РЕШЕНИЕ:

3.1. Зайти в свойства сервера MS SQL Server

MS SQL server - Properties (свойства)
Рис.3.1. — MS SQL server — Properties (свойства)

выбрать Properties

3.2. В свойствах сервера (Server Properties) перейти в раздел Безопасность (Security) и выставить значение Проверка подлинности SQL Server и Windows (SQL Server and Windows Authentication mode)

Свойства сервера - Безопасность
Рис.3.2. — Свойства сервера — Безопасность

4. При восстановлении БД (Back up) или ее прикреплении (Attache) система не может получить доступ к файлу БД.

РЕШЕНИЕ: Наиболее распространенная причина — это SQL Managment Studio запущенная не от администратора. Т.е. первым делом необходимо открыть  MS SQL Managment Studio от имени администратора:

ms sql server managment studio - запуск от имени администратора
Рис.4.1. MS SQL Server Managment Studio — запуск от имени администратора

И восстановить БД заново.

5.  При восстановлении БД возникает ошибка:

System.Data.Sqlclient.SqlError: The tail of the log for the database «InspDB» has not backed up. Use BACKUP LOG WITH NORECOVERY to backup the log  if it contains work you do not want to lose. Use the WITH REPLACE or WITH STOPAT clause of the RESTORE statement to just overwrite the contents of the log

 

SQL Server - restore datebase error

РЕШЕНИЕ:  Причина этой ошибки кроется в том, что в каталоге, куда восстанавливается БД уже есть файлы с такими именами .mdf и .ldf (по умолчанию директория c:\Program Files\Microsoft SQL Server\MSSQL10_50.SQLEXPRESS\MSSQL\DATA\). Необходимо в опциях при восстановлении выбрать параметр Overwrite the existing database (WITH REPLACE). Таким образом БД будет перезаписана с таким именем.

SQL Server - overwrite existing database (2)

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *