Можно ли выполнять операторы T-SQL CREATE OR ALTER для производственных баз данных (без простоев)? - PullRequest
0 голосов
/ 02 февраля 2019

Мы создаем сценарии для непрерывного обновления наших облачных сред и используем CREATE OR ALTER операторы для наших процедур, триггеров, представлений и функций.

Существует разрыв между

DROP <OBJECT_CLASS> IF EXISTS <theThing> 
GO 

и возможное значение

CREATE <OBJECT_CLASS> <theNewThing>
GO

, которое будет означать, что клиенты не найдут объект, а в случае триггеров приложение может даже не обнаружить ошибку.Я надеюсь, что

CREATE OR ALTER <OBJECT_CLASS> <theOldOrNewThing>

, возможно, может дать средство для выполнения этой, в противном случае, нетранзакционной операции в середине транзакций, возможно, заблокировав все новые транзакции до тех пор, пока это не будет сделано (не будет ли этоидеально!).

Какой риск или реальный опыт вы видите?

Есть ли у кого-нибудь авторитетное техническое понимание того, как SQL Server (2016 SP1 +) будет реагировать на CREATE OR ALTERоператор на работающей базе данных?

...