He creado una tabla con una columna que tiene el atributo FILESTREAM aplicada, así:SSMS no mostrar o FILESTREAM scripting atributo
CREATE TABLE dbo.FileStorage
(
[ID] [uniqueidentifier] ROWGUIDCOL NOT NULL UNIQUE,
[Filename] [nvarchar](255) NOT NULL,
[Data] [varbinary](max) FILESTREAM NULL
)
GO
En un procedimiento almacenado, estoy haciendo referencia a la función que debe PathName()
estará disponible para la columna de Data
arriba:
CREATE PROCEDURE GetPathName
-- Add the parameters for the stored procedure here
@fileId uniqueidentifier,
@filePath nvarchar(max) output
AS
BEGIN
-- SET NOCOUNT ON added to prevent extra result sets from
-- interfering with SELECT statements.
SET NOCOUNT ON;
-- Insert statements for procedure here
SELECT @filePath = Data.PathName()
FROM dbo.FileStorage
WHERE ID = @fileId
END
GO
Sin embargo, si ejecuto el script anterior para crear el procedimiento almacenado, SSMS imprime un error: "Nombre de ruta función sólo es válida en columnas con el atributo FILESTREAM ". Ciertamente creé la tabla con el atributo FILESTREAM activado (y la compatibilidad con filestream está habilitada en el DB), e incluso he agregado un archivo a la tabla.
Cuando traté de verificar que la columna es efectivamente una columna FILESTREAM, SQL Server Management Studio no cooperó. El atributo no aparece en el panel de propiedades de la columna, y cuando escribí la tabla, el atributo FILESTREAM no aparece.
Actualización: otra rareza es que mi tabla FileStorage no aparece en la lista de tablas presentada por SSMS intellisense.
¿Cuál es el problema? ¿Cómo puedo manipular o verificar el atributo FILESTREAM en SSMS?
No sé qué versión incluye la actualización, pero mi versión de SSMS es actualmente 10.50.4000.0 y SSMS ahora genera scripts de cambio que incluyen 'FILESTREAM'. Parece que Microsoft ** lanzó ** la actualización de SQL Server 2008 R2. –