SQL Server数据工具(SSDT) - 在部署时确定数据类型?

时间:2013-03-06 10:06:51

标签: sql-server visual-studio sql-server-data-tools dacpac

是否有人知道使用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。

1 个答案:

答案 0 :(得分:1)

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

IF EXISTS(SELECT * FROM sys.data_spaces WHERE type = 'FD')
BEGIN
-- use create statement with FILESTREAM
END;