Sql server 2012 修改生产环境中存在的SQL Server UDT

Sql server 2012 修改生产环境中存在的SQL Server UDT,sql-server-2012,user-defined-types,Sql Server 2012,User Defined Types,我们有三个环境Dev/QA/Prod 如果我们正在修改任何已经在生产中的db对象,那么我们可以通过添加_01来重命名该对象,然后将旧对象名称添加到一个文件中未使用的对象-稍后将被删除。 例如,如果我们修改任何过程以添加一个不为null的新参数,那么我们将遵循此过程来实现向后兼容性。 我们使用SQLDACPAC将数据库更改发布到服务器。至少我们在QA上使用它 现在,如果我们正在修改生产中存在的UDT,并向其添加一个新的可空列。此UDT正在生产中,并由一些过程使用 那么,是否需要将UDT重命名为_0

我们有三个环境Dev/QA/Prod

如果我们正在修改任何已经在生产中的db对象,那么我们可以通过添加_01来重命名该对象,然后将旧对象名称添加到一个文件中未使用的对象-稍后将被删除。 例如,如果我们修改任何过程以添加一个不为null的新参数,那么我们将遵循此过程来实现向后兼容性。 我们使用SQLDACPAC将数据库更改发布到服务器。至少我们在QA上使用它

现在,如果我们正在修改生产中存在的UDT,并向其添加一个新的可空列。此UDT正在生产中,并由一些过程使用

那么,是否需要将UDT重命名为_01并遵循通常的流程? SQLDACPAC如何处理UDT的更改?因为没有可用的alter UDT语句。 它会影响任何现有的进程吗

旧UDT:

    CREATE TYPE [dbo].[TestUDT] AS TABLE 
    (
        [Column1]               [int]           NOT NULL,
        [Column2]               [int]           NOT NULL,
    ) 
新UDT:

    CREATE TYPE [dbo].[TestUDT] AS TABLE 
    (
        [Column1]               [int]           NOT NULL,
        [Column2]               [int]           NOT NULL,
        [Column3]               [int]           NULL,
    ) 

我们在proc中使用UDT作为参数,创建过程[dbo].[spTest_Test]@UserId INT,@TestUDT dbo.[TestUDT]READONLY,还检查了链接[