Site icon Удаленный интернет помощник

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

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

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

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

Решение.

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

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

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

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

РЕШЕНИЕ:

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

Рис.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 от имени администратора:

Рис.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

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

6. При восстановлении БД из резервной копии (back up) появляется ошибка:

Specified cast is not valid (SqlManagerUI)

Решение: Необходимо установить версию MS SQL Server равную или выше версии, на которой была сделана резервная копия БД, т.е. нельзя восстановить БД на MS SQL Server младшей версии, чем сам бэкап.  

7. При выполнении:

DBCC CHECKDB('testDB', REPAIR_ALLOW_DATA_LOSS);
GO

Выдает ошибку:

Check terminated. A failure was detected while collecting facts. Possibly tempdb out of space or a system table is inconsistent. Check previous errors.

Решение: Помогло восстановление БД из бекапа

Exit mobile version