当没有文本、 ntext, 脚本工具放置 TEXTIMAGE _ ON 子句或 image 列是否存在 BUG, 答案当然是YES!

症状

即使表不包含任何 text、 ntext 或 image 列, SQL 企业管理器中运行 " 生成 SQL 脚本 " 工具时 SQLServer 生成表与表定义中 TEXTIMAGE _ ON 子句 (DDL) 创建脚本。 这使脚本执行无法因以下错误:
服务器: 消息 1709, 级别 16, 状态 1, 行 1

当表没有 text、 ntext 或 image 列有不能使用 TEXTIMAGE _ ON。


原因

文本、, ntext 或 image 列是表中存在一次。 它是或者删除通过 ALTERTABLE 命令或通过 SQL 企业管理器。


替代方法

解决办法是要从表定义中删除此子句并运行脚本。


状态

Microsoft 已确认这是处本文列出 Microsoft 产品中问题。


更多信息

下面是一个简单脚本, 说明该问题:
create table mytable (
myint int,
mytext text
)
go

alter table mytable drop column mytext
go

--- Running the "Generate SQL Scripts" Tool will generate:

if exists (select * from sysobjects where id =
object_id(N'[dbo].[mytable]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[mytable]
GO

CREATE TABLE [dbo].[mytable] (
[myint] [int] NULL
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
GO
TEXTIMAGE _ ON PRIMARYKEY ] [ 不应表定义的一部分。 删除它, 然后执行脚本。
posted @ 2008-05-21 17:22  jiania  阅读(445)  评论(0编辑  收藏  举报