1

有没有人知道在部署时使用 SSDT / dacpac 部署来确定列的数据类型的技术,具体取决于目标 SQL Server 实例上可用的功能?具体例子:

CREATE TABLE [HasBlob] (
    [Id] INT PRIMARY KEY,
    [Guid] [uniqueidentifier] ROWGUIDCOL NOT NULL UNIQUE,
    [Data] VARBINARY(MAX) FILESTREAM NULL
)

在这种情况下,如果没有为 SQL Server 实例启用 FILESTREAM,我希望能够自动回退到传统的 VARBINARY(MAX) blob 而不是 FILESTREAM。

4

1 回答 1

1

一种方法是通过 查询当前数据库的文件组sys.data_spaces,例如:

IF EXISTS(SELECT * FROM sys.data_spaces WHERE type = 'FD')
BEGIN
-- use create statement with FILESTREAM
END; 
于 2013-03-20T04:29:39.253 回答