当我尝试从数据库编写表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
答案 0 :(得分:1)
SQL服务器是否捕获架构修改的历史记录,并且在初始创建之后添加的任何列都使用ALTERS编写脚本?
是强>
如果您想解决此问题,可以将脚本更改为包含所有必需列的创建,运行后将保存更新后的定义。