powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выполнение результата запроса в Джобе
11 сообщений из 11, страница 1 из 1
Выполнение результата запроса в Джобе
    #39916605
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Всех с Новым годом!

Есть мысль автоматизировать создание ежедневных партиций, но вот в поиске гугла и тут не нашел как можно реализовать.

Есть некий скрипт который в результате выдает следующее:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
ALTER PARTITION SCHEME [PSCH_C1_OS_C2IDX1] NEXT USED [PSCH_OS_C2IDX1_0]
ALTER PARTITION SCHEME [PSCH_C1_OS_C2] NEXT USED [PSCH_OS_C2_0]
ALTER PARTITION FUNCTION [PFNC_C1_OS_C2]() SPLIT RANGE('Feb 26 2020 12:00AM')
GO
ALTER PARTITION SCHEME [PSCH_C1_OS_C2IDX1] NEXT USED [PSCH_OS_C2IDX1_1]
ALTER PARTITION SCHEME [PSCH_C1_OS_C2] NEXT USED [PSCH_OS_C2_1]
ALTER PARTITION FUNCTION [PFNC_C1_OS_C2]() SPLIT RANGE('Feb 27 2020 12:00AM')
GO



Нужно результат запроса выполнять в джобе
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39916623
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_KP
Нужно результат запроса выполнять в джобе
Результат выполнения вашего запроса записываете в переменную, потом выполняете текст командой EXECUTE

Весь этот скрипт отлаживаете в SSMS, потом переносите в джоб.
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39916657
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Den_KP,

Сгенерите партиции на 5 лет вперед и успокойтесь.
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39916721
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
Den_KP,

Сгенерите партиции на 5 лет вперед и успокойтесь.
Файлы (правильного размера) создавать на 5 лет неэффективно, да и обычно невозможно.
А отделять процесс изменения размера файла от управления партициями всё запутает.
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39916730
bon_ishchenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
День добрый. Вот пример - работает уже лет 10.

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
DECLARE @DATE SMALLDATETIME = GETDATE(),
        @TABLE SYSNAME='MYTABLE'
DECLARE @FG_NAME SYSNAME, 
		@DATE_STR1 NVARCHAR(20), 
        @DATE_STR2 NVARCHAR(20),
		@STR_EXEC NVARCHAR(MAX)

SET @DATE_STR1 = CAST(YEAR(@DATE) AS NVARCHAR(10))+'-'
                 +RIGHT('0'+CAST(MONTH(@DATE) AS NVARCHAR(10)),2)+'-'
                 +RIGHT('0'+CAST(DAY(@DATE) AS NVARCHAR(10)),2)
				 +' 00:00:00'
SET @DATE_STR2 = REPLACE(LEFT(@DATE_STR1, 10), '-','')
SET @FG_NAME = 'FG_'+@TABLE+'_'+@DATE_STR2

IF NOT EXISTS (SELECT TOP 1 NAME FROM SYS.FILEGROUPS WHERE NAME = @FG_NAME)
    BEGIN   
       SET @STR_EXEC='

 BEGIN TRY 
	ALTER DATABASE [DATASTORAGE]
    ADD FILEGROUP ['+@FG_NAME+'] 
 END TRY
 BEGIN CATCH 
 END CATCH
 -----------------------------------------------
 BEGIN TRY 
    ALTER PARTITION SCHEME [SCH_'+@TABLE+']
    NEXT USED ['+@FG_NAME+']
 END TRY
 BEGIN CATCH 
 END CATCH
 -----------------------------------------------
 BEGIN TRY 
     ALTER DATABASE [DATASTORAGE]
     ADD FILE 	  
             (NAME = N'''+@FG_NAME+''',
             FILENAME = N''F:\SUDATABASES\DATASTORAGE\'+@TABLE+'\FG_'+@DATE_STR2+'.ndf'',
             SIZE = 1MB,
             MAXSIZE = UNLIMITED,
             FILEGROWTH = 5MB) 
             TO FILEGROUP ['+@FG_NAME+']
  END TRY
  BEGIN CATCH 
  END CATCH
 -----------------------------------------------
 BEGIN TRY 
    ALTER PARTITION FUNCTION PFN_'++@TABLE+' ()
    SPLIT RANGE ('''+@DATE_STR1+''')
 END TRY
 BEGIN CATCH 
 END CATCH
--=============================================
                    '
       --PRINT @STR_EXEC
	   EXECUTE (@STR_EXEC)
    END
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39917077
Фотография Den_KP
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
bon_ishchenko,

Спасибо!

И Всем тоже спасибо за советы!
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39917081
Фотография Критик
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
a_voronin
Den_KP,

Сгенерите партиции на 5 лет вперед и успокойтесь.
Файлы (правильного размера) создавать на 5 лет неэффективно, да и обычно невозможно.
А отделять процесс изменения размера файла от управления партициями всё запутает.


Однако с точки зрения проектирования в том же SSDT приведенный подход крайне плох.
Предположу, что там вполне реально обойтись "годовыми" файлами.
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39917090
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Критик
alexeyvg
пропущено...
Файлы (правильного размера) создавать на 5 лет неэффективно, да и обычно невозможно.
А отделять процесс изменения размера файла от управления партициями всё запутает.


Однако с точки зрения проектирования в том же SSDT приведенный подход крайне плох.
Предположу, что там вполне реально обойтись "годовыми" файлами.
Так что же, делать систему для программистов?
К тому же, концептуально, создать секции на 5 лет то же самое, что и создать секции на 5 дней.
Разве что то меняется в этом же SSDT, в зависимости от размера секций?
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39917106
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
a_voronin
Den_KP,

Сгенерите партиции на 5 лет вперед и успокойтесь.
Файлы (правильного размера) создавать на 5 лет неэффективно, да и обычно невозможно.
А отделять процесс изменения размера файла от управления партициями всё запутает.


"файлы правильного размера" добавили вы -- и это не было частью моего предложения.
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39917132
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
a_voronin
alexeyvg
пропущено...
Файлы (правильного размера) создавать на 5 лет неэффективно, да и обычно невозможно.
А отделять процесс изменения размера файла от управления партициями всё запутает.


"файлы правильного размера" добавили вы -- и это не было частью моего предложения.
Да, я добавил те действия, которые делать необходимо, и тогда идея создать файлы на 5 лет выглядит не так привлекательно.

Ещё, как я выше написал, непонятно, в чём разница между создать файл "на 5 дней", "на 5 недель", "на 5 лет"?
5 лет протекут незаметно, очередной админ не будет знаком даже с тем админом, который был знаком с разработчиком, и про то, что нужно "до 1 января 2025 года добавить файлы ещё на 5 лет", знать не будет.
Или, может быть, вы подразумеваете, что в требованиях к системе включён запрет на эксплуатацию в течении более 5 лет?
...
Рейтинг: 0 / 0
Выполнение результата запроса в Джобе
    #39917475
Фотография a_voronin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alexeyvg
a_voronin
пропущено...


"файлы правильного размера" добавили вы -- и это не было частью моего предложения.
Да, я добавил те действия, которые делать необходимо, и тогда идея создать файлы на 5 лет выглядит не так привлекательно.

Ещё, как я выше написал, непонятно, в чём разница между создать файл "на 5 дней", "на 5 недель", "на 5 лет"?
5 лет протекут незаметно, очередной админ не будет знаком даже с тем админом, который был знаком с разработчиком, и про то, что нужно "до 1 января 2025 года добавить файлы ещё на 5 лет", знать не будет.
Или, может быть, вы подразумеваете, что в требованиях к системе включён запрет на эксплуатацию в течении более 5 лет?


Я занимаюсь ХД, а их кто-то всегда поддердивает. Сам расширял партиционирование как-то перед новым годом.

Даже исследовал импакт от наличия пустых партиций. Особо не мешают.
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выполнение результата запроса в Джобе
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]