This article was previously published under Q231848
BUG #: 55284 (SQLBUG_70)
When you run the "Generate SQL Scripts" tool in SQL Enterprise Manager, SQL Server produces a table creation (DDL) script with a TEXTIMAGE_ON clause in the table definition even when the table does not contain any text, ntext, or image column. This causes the script execution to fail with the following error:
Server: Msg 1709, Level 16, State 1, Line 1
Cannot use TEXTIMAGE_ON when a table has no text, ntext, or image columns.
A text, ntext, or image column was present in the table at one time. It was either removed through the SQL Enterprise Manager, or by using the ALTER TABLE command.
The workaround is to remove this clause from the table definition and run the script.
Microsoft has confirmed that this is a problem in the Microsoft products that are listed at the beginning of this article.
Here is a simple script that illustrates the problem:
create table mytable (myint int,mytext text)goalter table mytable drop column mytextgo--- 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]GOCREATE TABLE [dbo].[mytable] ( [myint] [int] NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]GO
TEXTIMAGE_ON [PRIMARY] should not be a part of the Table Definition. Remove it and then execute the script.