是否可以在生产数据库上运行T-SQL CREATE OR ALTER语句(无停机时间)?

时间:2019-02-02 17:20:07

标签: tsql sql-server-2016 ddl transactional

我们正在设想将其滚动升级到云环境的场景,并正在设想利用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语句做出反应,是否有人具有权威的技术见识?

0 个答案:

没有答案