Добро пожаловать в форум, Guest >> Войти | Регистрация | Поиск | Правила | | В избранное | Подписаться | ||
Все форумы / Microsoft SQL Server |
![]() ![]() |
NonameXZ Member Откуда: Сообщений: 13 |
Здравствуйте уважаемые форумчане! Прошу Вашего совета в следующей ситуации : В локальной сети есть множество серверов MS SQL Server 2005, имеющих в названии экземпляра общее наименование + порядковый № (напр.MSSQL101,MSSQL102,MSSQL..N). На каждом сервере содержится 1 одинаковая по структуре база данных, имеющая одно и то же название. Отличается только название экземпляра MSSQL. Цель : написать запрос, который бы обращался к каждой базе из множества имеющихся на разных серверах и выводил данные в одну таблицу. Добавил в связанные серверы на отдельном экземпляре MS SQL Server 2008 требуемое множество серверов MS SQL Server 2005 с базами. Попробовал выводить организовать нижеуказанным запросом, но тут встал вопрос в ограничении количества символов в переменной. Баз достаточно большое количество, поэтому этот вариант видимо отпадает. Подскажите пожалуйста, может быть есть еще какие-то решения? DECLARE @Counter int, @Server nchar(21), @string nvarchar(max) SET @Counter = 101 SET @Server = 'MSSQL'+CONVERT(NCHAR(3),@Counter)+ '.DB.DBO.TABLE' SET @string = ' SELECT * FROM ' + @Server + ' WHERE CODE = 123123 ' WHILE @Counter < 300 BEGIN SET @Counter = @Counter + 1 SET @Server = 'MSSQL'+CONVERT(NCHAR(3),@Counter)+ '.DB.DBO.TABLE' SET @string = @string + ' UNION SELECT * FROM ' + @Server + ' WHERE CODE = 123123 ' END EXEC(@string) |
27 мар 15, 18:05 [17442079] Ответить | Цитировать Сообщить модератору |
Гавриленко Сергей Алексеевич Member Откуда: Moscow Сообщений: 37143 |
2 Гб символов что ли не хватило? |
27 мар 15, 18:07 [17442091] Ответить | Цитировать Сообщить модератору |
NonameXZ Member Откуда: Сообщений: 13 |
К сожалению, насколько я знаю, количество символов в nvarchar 4000, а в varchar 8000. Но этого мало, учитывая, что запрос может быть достаточно громоздким. |
||
27 мар 15, 18:09 [17442100] Ответить | Цитировать Сообщить модератору |
a_voronin Member Откуда: Москва Сообщений: 4807 |
Ваши сведения устарели. В nvarchar (MAX) и varchar(MAX) можно совать 2Gb |
||||
27 мар 15, 18:12 [17442110] Ответить | Цитировать Сообщить модератору |
NonameXZ Member Откуда: Сообщений: 13 |
Благодарю за ответ! Сейчас попробую! |
||||
27 мар 15, 18:15 [17442121] Ответить | Цитировать Сообщить модератору |
Все форумы / Microsoft SQL Server | ![]() |