SQL Management Studio“表 - >脚本CREATE”创建ALTER

时间:2012-02-07 16:47:43

标签: sql-server sql-server-2008

当我尝试从数据库编写表CREATE脚本时,它并不总是编写单个CREATE TABLE中的所有列的脚本。一些列将通过ALTER TABLEs添加。为什么是这样? SQL Server是否捕获模式修改的历史记录,并且在初始创建之后添加的任何列都使用ALTERS编写脚本?这很重要的原因是因为我在VS数据库项目中使用脚本表,并且它无法处理ALTER语句。

CREATE TABLE [dbo].[tblPackageType]
(
    [PackageTypeId] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
    [PackageTypeDesc] [varchar](50) NOT NULL
) ON [PRIMARY]
ALTER TABLE [dbo].[tblPackageType] ADD [EDIcode] [varchar](10) NOT NULL
ALTER TABLE [dbo].[tblPackageType] ADD [EDI211] [varchar](10) NULL

1 个答案:

答案 0 :(得分:1)

  

SQL服务器是否捕获架构修改的历史记录,并且在初始创建之后添加的任何列都使用ALTERS编写脚本?

如果您想解决此问题,可以将脚本更改为包含所有必需列的创建,运行后将保存更新后的定义。