问题描述
为了让我们的应用在我们的组织内上线,我们有一定的安全要求。
我们使用 Microsoft azure 平台来托管应用程序以及 Azure sql 服务器和数据库。为了满足这些安全要求,我们需要在服务器/数据库上配置设置。
但是,我们在使用默认的 Azure sql 服务器/数据库时遇到了问题。 这是一个例子。我们需要“禁用‘clr 启用’选项”。 我们尝试了以下方法:
EXECUTE sp_configure 'show advanced options',1;
RECONfigURE;
EXECUTE sp_configure 'clr enabled',0;
RECONfigURE;
GO
EXECUTE sp_configure 'show advanced options',0;
RECONfigURE;
我们在 Azure 平台上的 T-sql 编辑器中运行它,并收到以下内容:
Failed to execute query. Error: Statement 'CONfig' is not supported in this version of sql Server.
当我们运行以下命令时,我们看到它已启用。
SELECT name,CAST(value as int) as value_configured,CAST(value_in_use as int) as value_in_use
FROM sys.configurations
WHERE name = 'clr enabled';
我们如何更新这些设置?
谢谢。
解决方法
sp_configure (Transact-SQL) 在 Azure SQL 数据库中不受支持:
我们无法运行 objects.get(query)
语句。但支持 sys.configurations (Transact-SQL) 表。
我们可以看到 sp_configure
的默认值为 1。
就像@Larnu 所说的,CLR 也不支持:Resolving Transact-SQL differences during migration to SQL Database。
参考这个问题:Does or does not SQL Azure support CLR assemblies?
就目前而言,我们无法在 Azure SQL 数据库中更改此设置。
HTH。