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

Sql server SQL Server数据工具(SSDT)-在部署时决定数据类型?,sql-server,visual-studio,sql-server-data-tools,dacpac,Sql Server,Visual Studio,Sql Server Data Tools,Dacpac,是否有人知道一种技术,可以根据目标SQL Server实例上可用的功能在部署时使用SSDT/dacpac部署来确定列的数据类型?具体例子: CREATE TABLE [HasBlob] ( [Id] INT PRIMARY KEY, [Guid] [uniqueidentifier] ROWGUIDCOL NOT NULL UNIQUE, [Data] VARBINARY(MAX) FILESTREAM NULL ) 在这种情况下,如果没有为SQL Server实例启用

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

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。

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

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

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

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

谢谢你的提示-不幸的是,我现在没有时间尝试它,因为我已经决定放弃我的项目的FILESTREAM,因为它给我带来了部署方面的麻烦。所以我不能说这种方法是否适用于增量DACPAC部署。所以我只是接受你,因为我没有时间来证明你错了;-)。谢谢你的提示-不幸的是,我现在没有时间尝试它,因为我已经决定放弃我的项目的FILESTREAM,因为它给我带来了部署方面的麻烦。所以我不能说这种方法是否适用于增量DACPAC部署。所以我只是接受你,因为我没有时间来证明你错了;-)。