Гость
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Выполнение результата запроса в Джобе / 11 сообщений из 11, страница 1 из 1
21.01.2020, 06:19
    #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
21.01.2020, 08:12
    #39916623
alexeyvg
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение результата запроса в Джобе
Den_KP
Нужно результат запроса выполнять в джобе
Результат выполнения вашего запроса записываете в переменную, потом выполняете текст командой EXECUTE

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

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

Сгенерите партиции на 5 лет вперед и успокойтесь.
Файлы (правильного размера) создавать на 5 лет неэффективно, да и обычно невозможно.
А отделять процесс изменения размера файла от управления партициями всё запутает.
...
Рейтинг: 0 / 0
21.01.2020, 12:03
    #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
22.01.2020, 06:00
    #39917077
Den_KP
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Выполнение результата запроса в Джобе
bon_ishchenko,

Спасибо!

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

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


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


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

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


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


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

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


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

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


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

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


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