2015-10-26 1 views
0

У меня огромная таблица на SQL Server с более чем 370 миллионами записей. Недавно мы сделали разбиение на разделы, чтобы улучшить производительность запросов, и для этого потребовалось около 9 часов и 37 минут, чтобы наши сайты были недоступны в течение этого времени.Что произойдет, если мы закончим запрос на изменение раздела в SQL Server

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

Ниже приведены запросы, которые я выполняю для изменения раздела по дате.

ALTER PARTITION SCHEME SCHEMENAME NEXT USED PART3 
ALTER PARTITION FUNCTION FUNCTIONNAME() SPLIT RANGE ('2014-12-31') 
+1

Возможно, стоит попробовать его в тестовой среде, прежде чем сделать изменения в производстве – jazza1000

+0

И помните, что довольно часто операции выполняются параллельно, но откат однопоточный, поэтому много раз это может занять, например, 4x более длинное время отката, чем то, что процесс занял до сих пор –

ответ

0

В SQL Server это называется откатом.

Поскольку вы не показываете свой запрос или скрипт, мы не можем предположить, что вы делаете.

Можете ли вы показать свой сценарий?

+0

Я обновил свои запросы в вопросе –

+0

Пока у меня нет волшебной таблетки или пули для вас .. Я бы начал здесь - http: //www.databasejournal. com/features/mssql/partitioning-in-sql-server-management-slide-window-scen.html Если вы используете Google, попробуйте следующее: + ALTER + PARTITION + ROLLBACK, что важно, это «+» в вашем Google Query утверждает, что в вашем результате должно быть ключевое слово. Напротив (или напротив) «-» (без кавычек) сообщает Google, что в результаты не включается термин. – Leptonator