tôi đã tạo ra một bảng với một cột có thuộc tính FileStream áp dụng, như thế này:SSMS không hiển thị hoặc kịch bản FileStream thuộc tính
CREATE TABLE dbo.FileStorage
(
[ID] [uniqueidentifier] ROWGUIDCOL NOT NULL UNIQUE,
[Filename] [nvarchar](255) NOT NULL,
[Data] [varbinary](max) FILESTREAM NULL
)
GO
Trong một thủ tục lưu trữ, tôi đang tham khảo các chức năng PathName()
rằng nên có sẵn cho các Data
cột trên:
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
Tuy nhiên, khi tôi thực thi kịch bản ở trên để tạo ra các thủ tục lưu trữ, SSMS in một lỗi: "Chức năng PathName chỉ có giá trị trên các cột với các thuộc tính FileStream . ". Tôi chắc chắn đã tạo ra bảng với thuộc tính FILESTREAM được bật (và hỗ trợ filestream được kích hoạt trong DB), và thậm chí tôi đã thêm một tệp vào bảng.
Khi tôi cố gắng xác minh rằng cột thực sự là cột FILESTREAM, SQL Server Management Studio đã không hợp tác. Thuộc tính không xuất hiện trong ngăn thuộc tính cột và khi tôi viết bảng ra, thuộc tính FILESTREAM không xuất hiện.
Cập nhật: một điều kỳ lạ nữa là bảng FileStorage của tôi không bao giờ xuất hiện trong danh sách các bảng được trình bày bởi SSMS intellisense.
Thỏa thuận là gì? Làm thế nào tôi có thể thao tác hoặc xác minh thuộc tính FILESTREAM trong SSMS?
Tôi không biết phiên bản nào đã bao gồm bản cập nhật, nhưng phiên bản SSMS của tôi hiện là 10.50.4000.0 và SSMS hiện tạo tập lệnh thay đổi bao gồm 'FILESTREAM'. Vì vậy, nó trông giống như Microsoft ** đã ** phát hành bản cập nhật cho SQL Server 2008 R2. –