Quantcast
Channel: SQL.ru: Microsoft SQL Server
Viewing all articles
Browse latest Browse all 7251

Отсутствие прав доступа одного скрипта в разных запросах

$
0
0
В двух разных окнах запросов создаю временные таблицы. С под одного пользователя sa.

create table #tt1(id int)
create table #tt2(id int)


Они (ВТ), создаются как и надо с разными индексами на конце #tt1_______________________index1 с одного запроса и #tt1______________index2 с другого запроса.\

Мне нужно удалять такие таблицы один раз в 30 минут для всех сеансов и пользователей.

Написал запрос для выбора и удаления таблиц с именами которые начинаются с #tt индекс не важно какой.

declare @csr cursor, @name nvarchar(128),@s nvarchar(255)
set @csr=cursor for select name from tempdb..sysobjects where name like '#tt%' and type='U ';

open @csr
fetch @csr into @name
while @@fetch_status=0
begin
  set @s='drop table '+@name
  exec sp_executesql @s
  fetch @csr into @name
end
close @csr
deallocate @csr



Но данный запрос удаляет только таблицы созданные в этом же окне запросов #tt1______index1, а остальные аналогичные (#tt1_____index) не удаляет.
Когда создаю задание на выполнение этого запроса (на удаление), каждые 30 минут, то получаю ошибку:
Не удалось удалить таблицу "#tt1____index", так как она не существует или отсутствуют разрешения.
Запрос, я так понял, работает правильно, как его заставить удалять таблицы всех пользователей и сеансов, и таблиц созданных в других запросах?

Viewing all articles
Browse latest Browse all 7251

Trending Articles