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

Откуда: Київ
Сообщений: 10428
Чтобы жила до рестарта сервера.
7 июл 15, 17:09    [17863548]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
сделай постоянную таблицу :)
7 июл 15, 17:16    [17863580]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Maxx
сделай постоянную таблицу :)


сделал, но осадок остался
7 июл 15, 17:17    [17863586]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Minamoto
Member

Откуда: Москва
Сообщений: 1162
Winnipuh, сделайте постоянную таблицу в tempdb - осадка не останется ;)
7 июл 15, 17:32    [17863691]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
0-0
Guest
Winnipuh
Чтобы жила до рестарта сервера.


Какая-то специфичная задача. Зачем?
7 июл 15, 17:34    [17863701]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Maxx
Member [скрыт]

Откуда:
Сообщений: 24290
0-0
Какая-то специфичная задача. Зачем?

Тыж понимаеш у нас +35..вот и лезут в голову всякие глупости
7 июл 15, 17:44    [17863758]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
хе-хе )
Guest
Ну если hekaton не предлагать, попробуй уговорить скуль что она еще используется - sp_getapplock
7 июл 15, 17:50    [17863786]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Maxx
0-0
Какая-то специфичная задача. Зачем?

Тыж понимаеш у нас +35..вот и лезут в голову всякие глупости


вот так же думали и про Эйнштейна!
7 июл 15, 18:03    [17863841]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Minamoto
Winnipuh, сделайте постоянную таблицу в tempdb - осадка не останется ;)


да уже сделал, но проблема в том, что я пытался создавать ее в процедуре, а часть юзеров прав не имеет.
То есть # и ## имеют право создавать, а постоянную - не все.
7 июл 15, 18:04    [17863847]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
0-0
Winnipuh
Чтобы жила до рестарта сервера.


Какая-то специфичная задача. Зачем?



Там я держу cache, который используется разными юзерами.
В tempdb была идея засунуть, чтобы не заморачиваться с очисткой. Некотоыре юзеры могут иметь Express, а это лишний объем и т.д.
7 июл 15, 18:06    [17863854]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
хе-хе )
Guest
Поржать
    BEGIN TRAN
    WHILE 1 = 1
        BEGIN
            SELECT TOP 1
                    *
            FROM    ##t WITH ( NOLOCK, NOWAIT )
            WAITFOR TIME '12:00:00'
        END 
    COMMIT TRAN
7 июл 15, 18:07    [17863860]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
komrad
Member

Откуда:
Сообщений: 5249
Winnipuh
Minamoto
Winnipuh, сделайте постоянную таблицу в tempdb - осадка не останется ;)


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


сделайте её постоянной, разделяйте данные разный сессий в ней по @@spid
7 июл 15, 18:08    [17863865]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
0-0
Guest
komrad
Winnipuh
пропущено...


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


сделайте её постоянной, разделяйте данные разный сессий в ней по @@spid


только главное не делать индексов никаких, кроме @@spid, иначе могут быть блокировки
7 июл 15, 18:09    [17863870]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
leov
Member

Откуда: С-Петербург
Сообщений: 616
0-0
komrad
пропущено...


сделайте её постоянной, разделяйте данные разный сессий в ней по @@spid


только главное не делать индексов никаких, кроме @@spid, иначе могут быть блокировки
еще есть проблема что бывает несколько похожих приложений работают на одном сервере с разными базами
и например эти приложения чуть разных версий и те временные таблицы чуть разных структур
дак надо чтобы они не подрались
я это разрулил прикручивая к именам в хвост номер базы db_id типа tabname_11
и еще надо за collation следить внимательно
7 июл 15, 18:50    [17864087]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
хе-хе )
Guest
Еще вариант. DDL триггер на удаление ##, который не делает этого (например, через сохранение в # и пересоздание ##)
7 июл 15, 19:57    [17864344]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Winnipuh
Чтобы жила до рестарта сервера.

рестарт для вас - это останов или запуск ?
7 июл 15, 20:03    [17864368]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Winnipuh
Member [заблокирован]

Откуда: Київ
Сообщений: 10428
Glory
Winnipuh
Чтобы жила до рестарта сервера.

рестарт для вас - это останов или запуск ?


это создание темпдб
7 июл 15, 21:03    [17864573]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать временную таблицу ## постоянной?  [new]
Glory
Member

Откуда:
Сообщений: 104760
Winnipuh
Glory
пропущено...

рестарт для вас - это останов или запуск ?


это создание темпдб

Что тогда мешает создать процедуру, автоматически срабатывющую при старте сервера ?
8 июл 15, 18:15    [17868928]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить