Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Группа локальных серверов / 25 сообщений из 43, страница 1 из 2
22.11.2018, 11:44
    #39736651
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
Добрый день!

Есть группа локальных серверов, делаю SELECT по всем серверам...как отсортировать результат по наименованиям серверов?

Спасибо.
...
Рейтинг: 0 / 0
22.11.2018, 12:44
    #39736719
Гавриленко Сергей Алексеевич
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
order by
...
Рейтинг: 0 / 0
22.11.2018, 12:52
    #39736727
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
Гавриленко Сергей Алексеевичorder by

Очень смешно! Меня само собой интересует параметр по которому ORDER BY...!
...
Рейтинг: 0 / 0
22.11.2018, 12:52
    #39736728
TaPaK
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
r77Гавриленко Сергей Алексеевичorder by

Очень смешно! Меня само собой интересует параметр по которому ORDER BY...!
ORDER BY [наименованиям серверов]
...
Рейтинг: 0 / 0
22.11.2018, 12:54
    #39736730
uaggster
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
Гавриленко Сергей Алексеевичorder by
))))

По сабжу:
Вроде бы никак не отсортировать. И уж точно - не директивой в запросе.
Т.к. такое представление - это самодеятельность SSMS.
Она открывает тучу коннектов к серверам, складирует результаты от каждого, а потом выводит с меткой сервера каждый отдельный резалтсет в одной таблице.
Этот резалтсет не настоящий. Его студия внутри себя создала. И сортировать его, соответственно, тоже она должна.
...
Рейтинг: 0 / 0
22.11.2018, 14:16
    #39736815
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
uaggsterГавриленко Сергей Алексеевичorder by
))))

По сабжу:
Вроде бы никак не отсортировать. И уж точно - не директивой в запросе.
Т.к. такое представление - это самодеятельность SSMS.
Она открывает тучу коннектов к серверам, складирует результаты от каждого, а потом выводит с меткой сервера каждый отдельный резалтсет в одной таблице.
Этот резалтсет не настоящий. Его студия внутри себя создала. И сортировать его, соответственно, тоже она должна.

возвращается список каждый раз хаотично,не очень удобно, спасибо за ответ, так и думала.
...
Рейтинг: 0 / 0
22.11.2018, 14:46
    #39736844
Владислав Колосов
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
r77,

самое смешное, что имя сервера отображается в первой колонке. Вы какую версию SSMS используете? Установите последнюю, если сервер выше 2012.
...
Рейтинг: 0 / 0
22.11.2018, 15:37
    #39736904
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
Владислав Колосовr77,

самое смешное, что имя сервера отображается в первой колонке.

ох..
мне и нужно отсортировать записи по алфавиту по результатам запроса из первой колонки...название этой колонки [имя сервера]!

Вы какую версию SSMS используете? Установите последнюю, если сервер выше 2012.

2008, спасибо, другую версию я не могу установить и использовать
...
Рейтинг: 0 / 0
22.11.2018, 15:46
    #39736911
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
r77Владислав Колосовr77,

самое смешное, что имя сервера отображается в первой колонке.

ох..
мне и нужно отсортировать записи по алфавиту по результатам запроса из первой колонки...название этой колонки [имя сервера]!

Вы какую версию SSMS используете? Установите последнюю, если сервер выше 2012.

2008, спасибо, другую версию я не могу установить и использовать

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

например так

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
declare @delay varchar(10) ;
with servers as 
(select 'server1' [name], '05' [seconds] union all 
select 'server2' [name], '10' [seconds] union all 
select 'server3' [name], '15' [seconds] union all 
select 'server4' [name], '20' [seconds] union all 
select 'server5' [name], '25' [seconds] union all 
select 'server6' [name], '30' [seconds] union all 
select 'server7' [name], '35' [seconds] union all 
select 'server8' [name], '40' [seconds] union all 
select 'server9' [name], '45' [seconds] union all 
select 'server10' [name], '50' [seconds] 
)

select @delay = '00:00:'+name 
from servers 
where name=@@servername 

select @delay=isnull(@delay,'00:00:00')

waitfor delay @delay 

/*your query*/
select ..... 



...
Рейтинг: 0 / 0
22.11.2018, 15:47
    #39736913
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
опечатка в скрипте :
вместо
Код: plaintext
select @delay = '00:00:'+name 
должно быть
Код: plaintext
select @delay = '00:00:'+seconds
...
Рейтинг: 0 / 0
22.11.2018, 16:05
    #39736946
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
komradопечатка в скрипте :
вместо
Код: plaintext
select @delay = '00:00:'+name 
должно быть
Код: plaintext
select @delay = '00:00:'+seconds


благодарю,попробую
...
Рейтинг: 0 / 0
24.11.2018, 23:39
    #39738079
DaniilSeryi
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
r77Добрый день!

Есть группа локальных серверов, делаю SELECT по всем серверам...как отсортировать результат по наименованиям серверов?

Спасибо.
А добавить в каждый select столбец с именем сервера, к которому сделан запрос, нельзя?
...
Рейтинг: 0 / 0
25.11.2018, 20:16
    #39738253
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
DaniilSeryir77Добрый день!

Есть группа локальных серверов, делаю SELECT по всем серверам...как отсортировать результат по наименованиям серверов?

Спасибо.
А добавить в каждый select столбец с именем сервера, к которому сделан запрос, нельзя?

результирующая выборка группового запроса и так содержит сервер (столбец ноль), на котором был выполнен запрос

у автора хотелка, чтобы общая выборка была отсортирована по имени сервера
...
Рейтинг: 0 / 0
25.11.2018, 22:14
    #39738278
L_argo
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
r77Добрый день!

Есть группа локальных серверов, делаю SELECT по всем серверам...как отсортировать результат по наименованиям серверов?

Спасибо.Если СЕЛЕКТ делаете именно Вы (а не сторонняя утилита), помещайте результат в врем. таблицу и потом сортируйте.
Ну или помещайте в Эксель и сортируйте. :)
...
Рейтинг: 0 / 0
25.11.2018, 23:25
    #39738296
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
komradDaniilSeryiпропущено...

А добавить в каждый select столбец с именем сервера, к которому сделан запрос, нельзя?

результирующая выборка группового запроса и так содержит сервер (столбец ноль), на котором был выполнен запрос

у автора хотелка, чтобы общая выборка была отсортирована по имени сервераЕсли есть поле имя, и нужно по нему отсортировать, то врорым постом дали верный ответ.
Но автор намёками и пожиманием плеч показывает, что это ему не подходит.
Может, нужно сформулировать вопрос поближе к рекомендациям оформления сообщений, то есть привести запрос, текущий результат, и желаемый результат? Или описать задачу подробнее, если это, например поведение какого то стороннего софта, в котором "ничего нельзя менять"?
L_argoЕсли СЕЛЕКТ делаете именно Вы (а не сторонняя утилита), помещайте результат в врем. таблицу и потом сортируйте.А почему бы не отсортиролвать сразу???
...
Рейтинг: 0 / 0
27.11.2018, 12:36
    #39739058
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
alexeyvgkomradпропущено...


результирующая выборка группового запроса и так содержит сервер (столбец ноль), на котором был выполнен запрос

у автора хотелка, чтобы общая выборка была отсортирована по имени сервераЕсли есть поле имя, и нужно по нему отсортировать, то врорым постом дали верный ответ.
Но автор намёками и пожиманием плеч показывает, что это ему не подходит.
Может, нужно сформулировать вопрос поближе к рекомендациям оформления сообщений, то есть привести запрос, текущий результат, и желаемый результат? Или описать задачу подробнее, если это, например поведение какого то стороннего софта, в котором "ничего нельзя менять"?
L_argoЕсли СЕЛЕКТ делаете именно Вы (а не сторонняя утилита), помещайте результат в врем. таблицу и потом сортируйте.А почему бы не отсортиролвать сразу???

Никакой не сторонний софт, студия SQL...я и спрашиваю как отсортировать сразу в результатах запроса...ни в excel, ни еще где-то...естественно можно загрузить в временную таблицу и в excel и еще куда-нибудь - это дополнительные действия, которых хочется избежать. Описать задачу подробнее - либо не делали никогда запрос по группе серверов,поэтому и спрашиваете подробнее...

подробнее....
выбираю из контекстного меню группы локальных серверов -> "создать запрос"
Код: sql
1.
select * from [БД].[dbo].[таблица] 


в результате возвращается в первом столбце имя сервера и далее все поля из запроса, как отсортировать по алфавиту имена серверов (по первому столбцу в котором написано имя сервера), называется столбец "Имя сервера"?

ORDER BY [имя сервера] = ошибка
...
Рейтинг: 0 / 0
27.11.2018, 13:22
    #39739101
Eleanor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
komrad,

Спасибо, ваш вариант с waitfor работает.
Мне даже подошла сортировка по первой букве, для визуального удобства чтения результатов.
Код: sql
1.
2.
3.
declare @delay varchar(10) = '00:00:0' + CAST((ASCII(UPPER(substring(@@servername, 1, 1))) - 65)/10.0 AS varchar(10))
waitfor delay @delay
select sum(size/1024)*8/1024 GB from sys.master_files
...
Рейтинг: 0 / 0
27.11.2018, 14:56
    #39739167
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
r77выбираю из контекстного меню группы локальных серверов -> "создать запрос"А, вот оно что, то есть вопрос, не как заставить сервер отсортировать результат запроса, а как заставить клиентское приложение заставить отсортировать результаты запросов, притом что в нём сортировка не предусмотрена.
Я просто сразу не понял, что речь про "Multiple Server Query", как они в доке называются.
Микрософт говорит, что нельзя :-(
Multiple Server Query Execution ordering

Хак от komrad у меня не сработал, Microsoft SQL Server Management Studio 13.0.16106.4 :-(
...
Рейтинг: 0 / 0
27.11.2018, 15:08
    #39739178
Eleanor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
alexeyvg,

На 14.0.17285.0 работает.
Единственное неудобство - задержка waitfor должна быть заведомо больше, чем возможные сетевые задержки.
Мне пришлось delay между серверами делать ~100 мс. Т.е. если запрос к 50 серверам, то общее время ожидания уже не меньше 5 сек.
...
Рейтинг: 0 / 0
27.11.2018, 15:50
    #39739208
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
alexeyvgr77выбираю из контекстного меню группы локальных серверов -> "создать запрос"А, вот оно что, то есть вопрос, не как заставить сервер отсортировать результат запроса, а как заставить клиентское приложение заставить отсортировать результаты запросов, притом что в нём сортировка не предусмотрена.
Я просто сразу не понял, что речь про "Multiple Server Query", как они в доке называются.
Микрософт говорит, что нельзя :-(
Multiple Server Query Execution ordering

Хак от komrad у меня не сработал, Microsoft SQL Server Management Studio 13.0.16106.4 :-(

Microsoft SQL Server Management Studio 10.50.1600.1, само собой у меня тоже не сработал (

ясно что никак, спасибо всем за ответы
...
Рейтинг: 0 / 0
27.11.2018, 16:07
    #39739217
Eleanor
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
r77,

Можно скачать и установить последнюю версию SSMS , где всё работает.
Старые версии Sql Server 2008 он воспринимает нормально. Если только у вас нет каких-то аддонов для старого ssms.
...
Рейтинг: 0 / 0
27.11.2018, 16:16
    #39739221
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
Eleanorkomrad,

Спасибо, ваш вариант с waitfor работает.
Мне даже подошла сортировка по первой букве, для визуального удобства чтения результатов.
Код: sql
1.
2.
3.
declare @delay varchar(10) = '00:00:0' + CAST((ASCII(UPPER(substring(@@servername, 1, 1))) - 65)/10.0 AS varchar(10))
waitfor delay @delay
select sum(size/1024)*8/1024 GB from sys.master_files


спасибо за пруф

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

кстати,
Код: plaintext
select sum(size/1024)*8/1024 GB from sys.master_files
можно переписать в более лаконичное
Код: plaintext
select sum(size/128)/1024 GB from sys.master_files
где size/128 это перевод в МБ
...
Рейтинг: 0 / 0
27.11.2018, 16:18
    #39739222
komrad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
r77Microsoft SQL Server Management Studio 10.50.1600.1, само собой у меня тоже не сработал (


а что именно не сработало?
есть текст ошибки?
...
Рейтинг: 0 / 0
27.11.2018, 16:26
    #39739228
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
komradr77Microsoft SQL Server Management Studio 10.50.1600.1, само собой у меня тоже не сработал (


а что именно не сработало?
есть текст ошибки?

на локальную переменную ругается...

Код: sql
1.
2.
Невозможно присвоить значение по умолчанию локальной переменной.
Необходимо объявить скалярную переменную "@delay".



но не на всех серверах...только на тех у кого 2005, 2008-работает
...
Рейтинг: 0 / 0
27.11.2018, 16:32
    #39739236
r77
r77
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Группа локальных серверов
komradr77Microsoft SQL Server Management Studio 10.50.1600.1, само собой у меня тоже не сработал (


а что именно не сработало?
есть текст ошибки?

надо
Код: sql
1.
set @delay= '00:00:0' + CAST((ASCII(UPPER(substring(@@servername, 1, 1))) - 65)/10.0 AS varchar(10))



в 2005 надо было через set
...
Рейтинг: 0 / 0
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Группа локальных серверов / 25 сообщений из 43, страница 1 из 2
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]