none
Не удалось выполнить вход RRS feed

  • Вопрос

  • Через SSMS и Excel подключаюсь к базе без проблем.. а вот через VS и другие приложения получается не всегда.. периодически выскакивает ошибка входа пользователя.. хотя запускаю всё под админом.. в чём может быть дело?
    6 октября 2010 г. 15:01

Ответы

Все ответы

  • Какая именно ошибка валится? Приведите текст ошибки.

    PS: можете попробовать найти реальную причину ошибки при помощи вот этого инструмента - http://ssat.codeplex.com/

    • Предложено в качестве ответа Sergii LutaiMVP 6 октября 2010 г. 20:32
    • Помечено в качестве ответа Abolmasov Dmitry 17 ноября 2010 г. 10:04
    6 октября 2010 г. 20:31
  • "Невозможно открыть пользовательскую базу данных по умолчанию. Не удалось выполнить вход. Ошибка входа пользователя "COMP\Admin"."

    Спасибо за ссылку.. попробую разобраться... 

    6 октября 2010 г. 21:51
  • SSAT к серверу подключается без проблем.. но при попытки получить информацию об ошибке пишет: [SqlException]: Истекло время ожидания. Время ожидания истекло до завершения операции или сервер не отвечает.

     

    Отключил контроль учётных записей.. ситуация изменилась на противоположную.. теперь VS подключается, а SSMS с Excel нет.. SSAT пишет: Login failed for user "COMP\Admin". Причина: не удалось открыть явно указанную базу данных. [КЛИЕНТ: <local machine>].. как это понимать?

      

    6 октября 2010 г. 22:23
  • AUTO CLOSE у дефолтной БД какое имеет значение? За одно посмотрите какая дефолтная БД у УЗ под которой конектитесь, попробуйте сменить её на master
    http://www.t-sql.ru
    7 октября 2010 г. 9:03
    Модератор
  • AUTO CLOSE = true.. к master всё конектится без проблем.. а вот к моей базе только по очереди.. похоже они всё таки под разными УЗ запускаются хотя taskmgr пишет что под одной.. как это можно проверить? и от куда могла взяться УЗ <local machine>?  
    7 октября 2010 г. 22:03
  • Auto Close must be false!!!

    SQL Server and the Auto Close Setting


    Premature optimization is the root of all evil in programming. (c) by Donald Knuth

    Naomi Nosonovsky, Sr. Programmer-Analyst

    My blog
    • Помечено в качестве ответа I.Vorontsov 13 октября 2010 г. 10:00
    • Снята пометка об ответе CheeGer 25 октября 2010 г. 15:18
    • Помечено в качестве ответа Abolmasov Dmitry 17 ноября 2010 г. 10:04
    7 октября 2010 г. 22:16
  • Я ставил false.. разницы нет... 
    7 октября 2010 г. 22:39
  • Я ставил false.. разницы нет... 


    И все-таки должна быть фэлс, чтоб при коннекте не тратилось время на "открытие" БД, возможно поэтому у вас отпадывает коннект по ТаймАуту. Для полноты картины, запускайте Профайлер на аудит подключений и смотрите, куда вы коннектитесь и под какой УЗ.

    Пар-ры подключения вы какие указываете, вот тоже интересно увидеть отличия


    http://www.t-sql.ru
    8 октября 2010 г. 3:27
    Модератор
  • C учётками вроде разобрался.. но теперь, когда выключен Auto Close, VS пишет:  

    Не удалось открыть физический файл "C:\Users\Admin\Desktop\db.mdf". Ошибка операционной системы 32: "32(Процесс не может получить доступ к файлу, так как этот файл занят другим процессом.)".
    Не удалось прикрепить базу данных, которой автоматически было присвоено имя, к файлу C:\Users\Admin\Desktop\db.mdf. База данных с таким именем уже существует, указанный файл нельзя открыть, или он находится на общем ресурсе UNC.

    Я так понял, если выключен Auto Close, к базе может подключится только один процесс, который первым открыл базу после ребута.. Я прав?      
    25 октября 2010 г. 15:17

  • Я так понял, если выключен Auto Close, к базе может подключится только один процесс, который первым открыл базу после ребута.. Я прав?      
    Нет, БД - многопользовательская по умолчанию. Ищите причины в том, каким образом вы подключаетесь к вашей БД. Убедитесь что она запущена не в однопользовательском режиме.
    http://www.t-sql.ru
    25 октября 2010 г. 16:05
    Модератор
  • Вы правы.. дело в кривом подключении.. только после него пропадает доступ к базе через SQL Server.. как это исправить?

    Сейчас конектюсь так:

        public partial class DB : DataContext

            {

                public DB(string connection) : base(connection) { }

            }

     

            static DB db = new DB(@"C:\Users\Admin\Desktop\db.mdf");

    Это получается, в обход сервера, на прямую к файлу базы? 

     

    27 октября 2010 г. 22:00
  • Это получается, в обход сервера, на прямую к файлу базы? 

     


    да, используйте SQLConnection - http://msdn.microsoft.com/ru-ru/library/system.data.sqlclient.sqlconnection.aspx
    http://www.t-sql.ru
    • Помечено в качестве ответа Abolmasov Dmitry 17 ноября 2010 г. 10:04
    28 октября 2010 г. 4:34
    Модератор
  • Уважаемый CheeGer , если Вам помогло выше предоложенное решение, то, пожалуйста, пометьте его как ответ.

     


    Для связи [mail]
    12 ноября 2010 г. 10:04
  • Таже беда... Всё из-за того, что то, что у СУБД нет доступа глубже каталога c:\users\

    Можно либо поиграться с доступом (наверное), или просто располагать файл базы данных в другом месте.

    28 августа 2011 г. 10:01