是否有人知道使用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。
答案 0 :(得分:1)
一种方法是通过sys.data_spaces
查询当前数据库的文件组,例如:
IF EXISTS(SELECT * FROM sys.data_spaces WHERE type = 'FD')
BEGIN
-- use create statement with FILESTREAM
END;