Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 xp_execresultset в MS SQL Server 2008 отсутствует? А что вместо него?  [new]
Garafutdin
Member

Откуда: Москва
Сообщений: 139
Добрый вечер всем
Возникла такая задача
Из одной процедуры необходимо динамически создавать процедуру которая будет находится в другой базе данных
В MS SQL server 2005 была отличная системная процедура xp_execresultset куда можно было передать скрипт и базу данных в которой он должен выполниться

В MS SQL Server 2008 данной процедуры не наблюдаю
Справка тоже ничего не выдает
go
sp_helptext xp_execresultset
go



Скажите пожалуйста уважаемые знатоки, может кто знает, как можно решить мой вопрос в 2008 сервере, возможно без использования xp_execresultset, или укажите как теперь можно запустить запрос в другой базе данных
Буду очень благодарен
10 авг 11, 18:38    [11100126]     Ответить | Цитировать Сообщить модератору
 Re: xp_execresultset в MS SQL Server 2008 отсутствует? А что вместо него?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
Ну, заскриптуйте эту процедуру с 2005го и сделайте себе. Должна работать без проблем на 2008м.

Сообщение было отредактировано: 10 авг 11, 18:39
10 авг 11, 18:39    [11100134]     Ответить | Цитировать Сообщить модератору
 Re: xp_execresultset в MS SQL Server 2008 отсутствует? А что вместо него?  [new]
Garafutdin
Member

Откуда: Москва
Сообщений: 139
Ребят у кого установлен 2005 сервер, будьте добры скиньте скрипт процедуры xp_execresultset в базе master должна быть
10 авг 11, 18:47    [11100157]     Ответить | Цитировать Сообщить модератору
 Re: xp_execresultset в MS SQL Server 2008 отсутствует? А что вместо него?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
На самом деле, это скорее всего расширенная хранимка и просто так заскриптовать не выйдет. Перепутал с аналогом, который был еще на 2000м.

Btw, на что оно вам? Склейте ваш резалтсет в переменную nvarchar (max) и выполните обычным exec'ом.
10 авг 11, 18:49    [11100169]     Ответить | Цитировать Сообщить модератору
 Re: xp_execresultset в MS SQL Server 2008 отсутствует? А что вместо него?  [new]
Garafutdin
Member

Откуда: Москва
Сообщений: 139
всем спасибо нашел сработало все
10 авг 11, 18:51    [11100171]     Ответить | Цитировать Сообщить модератору
 Re: xp_execresultset в MS SQL Server 2008 отсутствует? А что вместо него?  [new]
Гавриленко Сергей Алексеевич
Member

Откуда:
Сообщений: 37254
И вообще.

use tempdb
go
exec master.dbo.sp_executesql N'select db_name()'
--------------------------------------------------------------------------------------------------------------------------------
master
10 авг 11, 18:52    [11100179]     Ответить | Цитировать Сообщить модератору
 Re: xp_execresultset в MS SQL Server 2008 отсутствует? А что вместо него?  [new]
Garafutdin
Member

Откуда: Москва
Сообщений: 139
Хорошая статья к этой теме
http://sqlblog.com/blogs/adam_machanic/archive/2006/10/19/replacing-xp-execresultset-in-sql-server-2005.aspx

Просто в той базе данных где находится главная процедура которая будет создавать динамически процедуру в другой бд надо создать процедуру указанную в статье
и вызывать ее вместо xp_execresultset с теми же параметрами
10 авг 11, 18:53    [11100181]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить