Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3741
Клиент: Win10
Сервер: Server 2012

1. Отключил файрволл на сервере
2. Запустил SQL Browser
3. Включил TCP
4. SSMS пробую коннект: имя сервера\инстанс, юзер sa - ОК
5. пускаю приложение с теми же парметрами - висит, таймаут отрабатывает.

Что еще проверить?
1 мар 16, 18:01    [18883915]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Коннект с одной и той же машины? Строку соединения как формируете?
1 мар 16, 18:08    [18883940]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3741
AlanDenton
Коннект с одной и той же машины? Строку соединения как формируете?


Приложение рабоатет давно, без изменений, нашел место:

                this.databases = new List<string>();
                foreach (Database db in server.Databases)
                {
                    if ((db.Status & DatabaseStatus.Normal) == DatabaseStatus.Normal && !db.IsSystemObject)//<------ вешается здесь
                        this.databases.Add(db.Name);
                }


Вешается только, если в это время на сервере восстанавливается какая-то база и в цикле на ней виснет без ответа.
Как-то можно пропустить такую базу игнорировать?
1 мар 16, 19:05    [18884173]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
SELECT name
FROM sys.databases
WHERE database_id > 4 AND [state] = 0

Результатов этого запроса будет достаточно... В Вашем коде не знаю, что содержится в server.Databases
1 мар 16, 19:08    [18884183]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3741
AlanDenton
SELECT name
FROM sys.databases
WHERE database_id > 4 AND [state] = 0

Результатов этого запроса будет достаточно... В Вашем коде не знаю, что содержится в server.Databases


Это class Server из Microsoft.SqlServer.Management.Smo и его коллекция всех баз на сервере

https://technet.microsoft.com/en-us/library/microsoft.sqlserver.management.smo.server(v=sql.105).aspx
1 мар 16, 19:12    [18884205]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Честно скажу... Ставить VS, чтобы что-то посмотреть желание нет. Через ADO выполните запрос и получите то что хотите. Еще быстрее можно получить через:

SELECT name
FROM [master].dbo.sysdatabases
WHERE CASE WHEN [status] & 32768 != 0 THEN 0 ELSE CONVERT(BIT, [status] & (32 | 64 | 128 | 256 | 512)) END = 0

Почему у Вас приложение висит? Смотреть нужно на локи + профайлером смотреть что за запросы отсылаются.
1 мар 16, 19:18    [18884228]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
Ролг Хупин
Member

Откуда: Чебаркуль
Сообщений: 3741
AlanDenton
Честно скажу... Ставить VS, чтобы что-то посмотреть желание нет. Через ADO выполните запрос и получите то что хотите. Еще быстрее можно получить через:

SELECT name
FROM [master].dbo.sysdatabases
WHERE CASE WHEN [status] & 32768 != 0 THEN 0 ELSE CONVERT(BIT, [status] & (32 | 64 | 128 | 256 | 512)) END = 0

Почему у Вас приложение висит? Смотреть нужно на локи + профайлером смотреть что за запросы отсылаются.


ясно, что немного оффтопег.
Можно посмотреть что за запросы, но это в любом случае изнутри майкрософтовских классов, толку от того, что я их увижу.
Странное поведение, видимо, надо переделать на прямые запросы
1 мар 16, 19:38    [18884300]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
WarAnt
Member

Откуда: Питер
Сообщений: 2421
Ролг Хупин
4. SSMS пробую коннект: имя сервера\инстанс, юзер sa - ОК


А в свойствах SSMS вы конечно выбрали тип протокола tcp для соединения с сервером?
1 мар 16, 19:40    [18884310]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
AlanDenton
Member [скрыт]

Откуда:
Сообщений: 1004
Ролг Хупин
Можно посмотреть что за запросы, но это в любом случае изнутри майкрософтовских классов, толку от того, что я их увижу.

Почему считаете что толку ноль? Найдете причину, поймете как исправить.
1 мар 16, 19:41    [18884318]     Ответить | Цитировать Сообщить модератору
 Re: Коннект к удаленному SQL Server: SSMS коннектится, приложение нет  [new]
felix_ff
Member

Откуда: Moscow
Сообщений: 1446
Ролг Хупин,

     this.databases = new List<string>();
     var dblist = from db in server.Databases
                    where db.Status == 4
                        select db;

                foreach (Database db in dblist)
                {
                    if ((db.Status & DatabaseStatus.Normal) == DatabaseStatus.Normal && !db.IsSystemObject)//<------ вешается здесь
                        this.databases.Add(db.Name);
                }


попробуйте так
1 мар 16, 20:05    [18884375]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить