sql server - partir - Crear tabla arroja un error
select into sql server ejemplo (1)
Tengo una tabla en la que un campo usa filestream. Si hago clic derecho y creo una tabla de creación, T-SQL es:
USE [CMMS]
GO
/****** Object: Table [dbo].[Ficheros] Script Date: 05/09/2014 12:48:48 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Ficheros](
[IDFichero] [uniqueidentifier] ROWGUIDCOL NOT NULL,
[IDDocumento] [bigint] NOT NULL,
[Fichero] [varbinary](max) FILESTREAM NULL,
CONSTRAINT [PK_Ficheros] PRIMARY KEY CLUSTERED
(
[IDFichero] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY] FILESTREAM_ON [FILESTREAM_CMMS_DATA],
CONSTRAINT [IX_Ficheros] UNIQUE NONCLUSTERED
(
[IDDocumento] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] FILESTREAM_ON [FILESTREAM_CMMS_DATA]
GO
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[Ficheros] ADD CONSTRAINT [DF_Ficheros_IDFichero] DEFAULT (newid()) FOR [IDFichero]
GO
ALTER TABLE [dbo].[Ficheros] WITH CHECK ADD CONSTRAINT [FK_Ficheros_Documentos] FOREIGN KEY([IDDocumento])
REFERENCES [dbo].[Documentos] ([IDDocumento])
ON DELETE CASCADE
GO
ALTER TABLE [dbo].[Ficheros] CHECK CONSTRAINT [FK_Ficheros_Documentos]
GO
Cuando elimino la tabla y uso el script obtengo este error:
Mens. 1709, Nivel 16, Estado 1, Línea 2
No se puede usar TEXTIMAGE_ON cuando una tabla no tiene columnas de tipo text, ntext, image, varchar(max), nvarchar(max), distintas de FILESTREAM varbinary(max), xml o CLR grande.
Mens. 4902, Nivel 16, Estado 1, Línea 2
No se encuentra el objeto "dbo.Ficheros" porque no existe o no tiene permisos.
Mens. 4902, Nivel 16, Estado 1, Línea 2
No se encuentra el objeto "dbo.Ficheros" porque no existe o no tiene permisos.
Mens. 4902, Nivel 16, Estado 1, Línea 2
No se encuentra el objeto "dbo.Ficheros" porque no existe o no tiene permisos.
La aplicación funciona bien, accede a la base de datos y puede agregar archivos y obtenerla, pero no sé por qué el script es incorrecto.
Gracias.
El indicador TEXTIMAGE_ON se usa para especificar que cualquier columna de texto o imagen debe almacenarse en un grupo de archivos diferente al resto de la tabla.
Como no hay columnas de texto o imagen en la tabla [dbo]. [Ficheros], este indicador no se puede usar y arroja el error. Intente eliminar el indicador TEXTIMAGE_ON de la línea final de la declaración create table, para que se lea así:
) ON [PRIMARY] FILESTREAM_ON [FILESTREAM_CMMS_DATA]