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

Откуда: this
Сообщений: 184
Не получается импортировать данные из таблицы связанного сервера (ORACLE).

Есть таблица:

CREATE TABLE [dbo].[MyTable]
(
	[ID] [int] NOT NULL PRIMARY KEY CLUSTERED
	, [Name] [nvarchar](120) NOT NULL
)
GO


И процедура для импорта данных

CREATE PROCEDURE [dbo].[prc_Download]
AS
	SET NOCOUNT ON;
	
	BEGIN TRANSACTION localTrans

	DECLARE @sql [varchar](8000)
	
	SET @sql = '
	INSERT INTO [dbo].[MyTable] ([ID], [Name])
	Select t.[ID], t.[Name]
	From 
		Openquery([myora], 
		''
			Select t.ID, t.Name
			From Client.Person t
			Where (1 = 1) and RowNum <= 1000
		'') t	
	'

	EXEC(@sql)

	COMMIT TRANSACTION localTrans
GO

GRANT EXECUTE ON [dbo].[prc_Download] TO [Downloaders]
GO


Процедура нормально отрабатывает только под учеткой администратора.
Под учеткой пользователя группы [Downloaders] возникает ошибка

The INSERT permission was denied on the object 'MyTable', database 'MYDB', schema 'dbo'.

Если в процедуре указать
WITH EXECUTE AS SELF
или
WITH EXECUTE AS OWNER
то возникает ошибка

Access to the remote server is denied because the current security context is not trusted.

Не пойму как раздать права, чтобы импорт работал?
В идеале нужно чтобы у пользователей не было прав на таблицу, но были на выполнение процедуры.
7 сен 12, 10:12    [13127890]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в таблицу MS SQL из таблицы связанного сервера  [new]
Stilet
Member

Откуда: УФА, БАШКОРТОСТАН
Сообщений: 411
а у группы downloader точно есть права на вставку ?
7 сен 12, 14:44    [13130300]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в таблицу MS SQL из таблицы связанного сервера  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
Иди дать явно права, или убрать динамику.
7 сен 12, 14:50    [13130346]     Ответить | Цитировать Сообщить модератору
 Re: Импорт данных в таблицу MS SQL из таблицы связанного сервера  [new]
ziktuw
Member

Откуда:
Сообщений: 3552
INSERT вынести из динамики, оставив там только SELECT, а потом применить инструкцию INSERT EXEC.
7 сен 12, 16:58    [13131555]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить