none
Как избежать ошибку в журнале событий (SQL Server 2008 Express Edition)? RRS feed

  • Вопрос

  • Как то на свой компьютер (условно назовём название компьютера XXX ) установил SQL Server 2008 Express Edition. После того, как присоединил к серверу базу данных "D:\Test.mdf" (название и путь БД также условное) регулярно стал получать в журнале подобного рода ошибки, причём даже когда не работаю в этой БД (на данном сервера сразу несколько баз). Вроде бы я мог игнорировать подобного рода ошибки, НО!!! Из-за этой ошибки я заметил сервер у меня почему-то часто стал "виснет", а клиентские программы у пользователей, подключенные к данному серверу, виснет ещё круче и даже выкидывает несмотря на то, что они работают совсем с другой базой!

    Event Type:    Error
    Event Source:    MSSQL$MSSQLSERVER2008
    Event Category:    Сервер
    Event ID:    17207
    Date:        23.04.2010
    Time:        11:39:46
    User:        N/A
    Computer:    XXX
    Description:
    FCB::RemoveAlternateStreamsByHandle(BackupSeek): при создании или открытии файла "D:\Test.mdf " произошла ошибка операционной системы (null). Определите причину и исправьте ошибку операционной системы, и еще раз попытайтесь выполнить операцию.

    For more information, see Help and Support Center at http://go.microsoft.com/fwlink/events.asp.
    Data:
    0000: 37 43 00 00 10 00 00 00   7C......
    0008: 1a 00 00 00 52 00 41 00   ....R.A.
    0010: 53 00 55 00 4c 00 4f 00   S.U.L.O.
    0018: 56 00 5f 00 4b 00 5c 00   V._.K.\.
    0020: 4d 00 53 00 53 00 51 00   M.S.S.Q.
    0028: 4c 00 53 00 45 00 52 00   L.S.E.R.
    0030: 56 00 45 00 52 00 32 00   V.E.R.2.
    0038: 30 00 30 00 38 00 00 00   0.0.8...
    0040: 07 00 00 00 6d 00 61 00   ....m.a.
    0048: 73 00 74 00 65 00 72 00   s.t.e.r.
    0050: 00 00                     ..

     

    Кто-нибудь может подсказать как избежать подобного рода ошибки?

    P.S. На сервера много баз, не со всеми базами, а только с этой базой такая проблема! Я подумал может быть из-за доступа файла и дал всевозможные варианты доступа. Но не помогает!

    • Перемещено Siddharth Chavan 2 октября 2010 г. 0:16 MSDN Forums Consolidation (От:SQL Server для разработчиков)
    23 апреля 2010 г. 7:11

Ответы

  • Некоторым помогала полная деинсталляция Касперского. 

     

    Кажется я нашёл причину. У меня в компьютере Windows XP и в "глючной" базе имеются таблицы с типом данных "date ". А в других базах не использован этот тип данных.

    Так вот я создал новую БД и назвал просто "Test", где создал единственную таблицу с типом данных "date ". После этого сервер стал сыпать точно такую же ошибку и на новую базу.

    Затем я удалил БД "Test" и создал опять новую базу "Test", где создал единственную таблицу, но теперь с типом данных "datetime " и "smalldatetime ". И парадокс, сервер перестал ругаться на новую базу "Test".

    Более того, я повторил этот эксперимент с моим ноутбуком, где Windows Vista. Так вот, Vista вообще не ругается на тип данных "date "! И все мои базы там пашут как надо!!!

    Видимо кудесники из Microsoft что-то не доделали с типом данных "date " в Windows XP. Какой-то глючный получился тип.

    Может быть я не прав! Но попробуйте сами у себя. Если кто-то сможет объяснить мне в чём тут дело, я буду только признателен!!!

    • Предложено в качестве ответа Naomi N 27 апреля 2010 г. 16:31
    • Помечено в качестве ответа I.Vorontsov 29 апреля 2010 г. 10:02
    27 апреля 2010 г. 6:06
  • Посмотрите следующий тред . Может что встретите полезное.
    Для связи [Mail]
    • Предложено в качестве ответа Naomi N 27 апреля 2010 г. 16:31
    • Помечено в качестве ответа I.Vorontsov 29 апреля 2010 г. 10:02
    27 апреля 2010 г. 10:04

Все ответы

  • Попробуйте проверить на целостность. checkdb
    Для связи [Mail]
    23 апреля 2010 г. 7:29
  • Нет ли у вас на сервере работающего антивируса?
    23 апреля 2010 г. 10:46
  • Нет ли у вас на сервере работающего антивируса?

    Вы предполагаете, что проблема в антивирусе?

    Да у меня работает Касперский. Но раньше такой проблемы у меня не было, тогда как Касперский работает у меня уже несколько лет. Может быть с каким-либо параметром БД проблема? Пока я тестирую все параметры. Но почему-то у меня не получается. Другой пользователь посоветовал использовать CHECKDB. Ну что же, попробую.

    26 апреля 2010 г. 6:31
  • Я этого не исключаю. Такие случаи описаны. С Касперским, в частности. Механизм возникновения проблем, вероятно, связан с тем, что sql server умеет использовать streams в файлах для database snapshots. Одновременно, их же любят использовать вирусы. Так что внимание антивируса к любой работе с потоками оправдано, но, возможно, реализовано не всегда полностью корректно, т.к. обычное программное обеспечение нечасто пользуется этой возможностью NTFS.

    Попробуйте отключить Касперского или включить sql server в список доверенных приложений.

    26 апреля 2010 г. 7:11

  • Попробуйте проверить на целостность. checkdb
    Для связи [Mail]
    Попробовал CHECKDB. Сервер ошибок не нашёл, но вот в журнале всё равно продолжает сыпать ошибки. Пока не нашёл причину.
    26 апреля 2010 г. 9:20
  • Были ли ошибки во время работы checkdb? Особенно интересны моменты начала и конца проверки. Если да, то попробуйте выполнить checkdb с tablock.
    26 апреля 2010 г. 10:39
  • Я этого не исключаю. Такие случаи описаны. С Касперским, в частности. Механизм возникновения проблем, вероятно, связан с тем, что sql server умеет использовать streams в файлах для database snapshots. Одновременно, их же любят использовать вирусы. Так что внимание антивируса к любой работе с потоками оправдано, но, возможно, реализовано не всегда полностью корректно, т.к. обычное программное обеспечение нечасто пользуется этой возможностью NTFS.

    Попробуйте отключить Касперского или включить sql server в список доверенных приложений.

    Я включил SQL Server в список доверенных приложений и саму папку "Microsoft SQL Server", что находится на "Program Files" (на всякий случай) и даже перезагрузил компьютер. Не помогает! Более того я заметил иногда сервер выдает и на системную базу данных "TempDB" точно такую же ошибку! Правда один раз по утрам! И ещё что странно, после перезагрузки не ругается на эту системную базу! Почему так, я пока не знаю! Но загадка и головоломка конкретная! Я игнорировал бы, ну так из-за этого часто "виснет" сервер!!! Что делать? Что делать? Что делать?
    26 апреля 2010 г. 10:45
  • Некоторым помогала полная деинсталляция Касперского. 
    26 апреля 2010 г. 12:22
  • Некоторым помогала полная деинсталляция Касперского. 

     

    Кажется я нашёл причину. У меня в компьютере Windows XP и в "глючной" базе имеются таблицы с типом данных "date ". А в других базах не использован этот тип данных.

    Так вот я создал новую БД и назвал просто "Test", где создал единственную таблицу с типом данных "date ". После этого сервер стал сыпать точно такую же ошибку и на новую базу.

    Затем я удалил БД "Test" и создал опять новую базу "Test", где создал единственную таблицу, но теперь с типом данных "datetime " и "smalldatetime ". И парадокс, сервер перестал ругаться на новую базу "Test".

    Более того, я повторил этот эксперимент с моим ноутбуком, где Windows Vista. Так вот, Vista вообще не ругается на тип данных "date "! И все мои базы там пашут как надо!!!

    Видимо кудесники из Microsoft что-то не доделали с типом данных "date " в Windows XP. Какой-то глючный получился тип.

    Может быть я не прав! Но попробуйте сами у себя. Если кто-то сможет объяснить мне в чём тут дело, я буду только признателен!!!

    • Предложено в качестве ответа Naomi N 27 апреля 2010 г. 16:31
    • Помечено в качестве ответа I.Vorontsov 29 апреля 2010 г. 10:02
    27 апреля 2010 г. 6:06
  • Посмотрите следующий тред . Может что встретите полезное.
    Для связи [Mail]
    • Предложено в качестве ответа Naomi N 27 апреля 2010 г. 16:31
    • Помечено в качестве ответа I.Vorontsov 29 апреля 2010 г. 10:02
    27 апреля 2010 г. 10:04