问题标签 [azure-sql-server-managed-instance]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c# - 在 SQL CLR 中使用 Entity Framework 6 / EF Core
Microsoft Azure 技术支持已确认SQL Server 托管实例 CLR支持所有版本的 .Net 4.XX,包括 4.7.2 。
我们正在使用 4.7.2 和最新的 EF 6.2 转换业务层的某些部分
https://patrickdesjardins.com/blog/how-to-use-third-party-dll-reference-in-a-sql-clr-function
因此,为了利用对经过良好测试的代码的现有投资,我们希望将某些业务层移动到数据库中。
但是,我们在发布时遇到了问题。
正在创建 [System.Dynamic]...
警告:Microsoft .NET Framework 程序集 'system.dynamic, version=4.0.0.0,culture=neutral, publickeytoken=b03f5f7f11d50a3a.'
您正在注册的内容未在 SQL Server 托管环境中进行全面测试,因此不受支持。将来,如果您升级或维修此程序集或 .NET Framework,您的 CLR 集成例程可能会停止工作。有关详细信息,请参阅 SQL Server 联机丛书。
(47,1):SQL72014:.Net SqlClient 数据提供者:
消息 6218,级别 16,状态 2,第 1 行为
程序集“System.Dynamic”创建程序集失败,因为程序集“System.Dynamic”验证失败。检查引用的程序集是否是最新的并且受信任(对于 external_access 或不安全)以在数据库中执行。
如果有任何 CLR 验证器错误消息将跟随此消息 [ :
System.Dynamic.ArgBuilder::MarshalToRef][mdToken=0x6000002][offset 0x00000000] 代码大小为零。[:System.Dynamic.ArgBuilder::UnmarshalFromRef][mdToken=0x6000003][偏移量
PS(恕我直言,EF核心也没有关系,尽管我们正在尝试使用EF6.2)
编辑:已授予我所指的所有程序集的 UNSAFE 权限:以下是所有依赖项:
编辑 3:Azure SQL Server MI 中的不安全代码
编辑4:
- 表演停止者是:
System.RunTime.Serialization
,
这阻止我将实体框架 UNSAFE 程序集创建到数据库中。我们可以通过 system.Runtime.Serialization 吗?
警告:Microsoft .NET Framework 程序集“system.runtime.serialization,version=4.0.0.0,culture=neutral,publickeytoken=b77a5c561934e089。” 您注册的内容未在 SQL Server 托管环境中进行全面测试,因此不受支持。将来,如果您升级或维修此程序集或 .NET Framework,您的 CLR 集成例程可能会停止工作。有关详细信息,请参阅 SQL Server 联机丛书。消息 6218,级别 16,状态 2,第 11 行为程序集“System.Runtime.Serialization”创建程序集失败,因为程序集“System.Runtime.Serialization”失败 确认。检查引用的程序集是否是最新的并且受信任(对于 external_access 或不安全)以在数据库中执行。如果有任何 CLR 验证器错误消息将跟随此消息 [ : System.AppContextDefaultValues::PopulateDefaultValues][mdToken=0x6000001] [offset 0x00000000] 代码大小为零。
azure - Azure SQL DB MI 不支持 Windows 身份验证
Microsoft 文档指出“Azure SQL 数据库托管实例”不支持 Windows 身份验证,它必须是 SQL 身份验证或 AAD 身份验证。有人可以帮我理解为什么托管实例不支持 Windows 身份验证吗?
azure-sql-server-managed-instance - 如何修复与 FOREIGN KEY 约束冲突的 ALTER TABLE 语句
无法创建关系“FK_Sales_Date”。
该ALTER TABLE
语句与 FOREIGN KEY 约束“FK_Sales_Date”冲突。冲突发生在数据库“SalesDataWarehouse”、表“dbo.Date”、列“DateKey”中。
sql-server - 在 Azure SQL 数据库中创建外部文件格式时出错
使用以下命令在 Azure SQL DB 中创建外部文件格式时出现错误“'EXTERNAL'附近的语法不正确”(使用 Microsoft Docs 链接中的 T-SQL 语法 - https://docs.microsoft.com/en-us/ sql/t-sql/statements/create-external-file-format-transact-sql?view=sql-server-ver15&tabs=delimited)但仍然出现语法错误:
请帮我解决这个问题。提前致谢
azure - SQL Server 中的大表性能
对于我们的一个应用程序,我们有非常大的 SQL 表,它有 1 亿行,我们正在使用 Azure SQL 托管实例。每天,用户要么插入新记录,要么更新非常旧的记录。这是所有其他系统通过 SQL 复制引用到其他本地服务器的核心表。所以真正的问题是,
- 用户每天都会参考此表进行 CRUD 操作。
- 其他下游系统也从 Azure 本地引用此表数据。
- 报告和 UI 列表屏幕非常频繁地用于此表,以通过连接其他表来提取数据。当此表与其他表连接时,性能总是下降。
ABC 映射表有 1 亿行,少于 10 列。该表具有下面的列以及日期和审计列。ABCID 是 ABC 表的主键
A是A表的primaryKey
B是B表的主键
C是C表的主键
一个表有少于 20k 条记录和 20 列。
B 表有 1500 行 20 列。
C 表有 150k 行,30 列。
在 UI 中,我们显示了来自所有这 4 个表的近 30 列以及过滤器。我们添加了集群列存储、非集群列存储、NC 覆盖所有内容但无法提高性能。UI 中的过滤搜索条件将是所有 4 个提到的表中的任何列值。特别是在具有更多列的 C 表上。
为 CRUD 操作、实时报告以及对本地系统的数据引用处理这个大表的最佳方法是什么?
尝试了以下事情
- 通过组合所有这些表并添加不同的索引来创建索引视图。查询性能有所改善,但在 CRUD 操作期间会导致基表出现性能问题。
- 通过将所有这些表组合为视图并在复制表中添加索引来创建新的去规范化复制表,基表没有性能问题,但在去规范化表中读取性能不佳。
请建议处理所有这些情况的好选择。
azure - Azure SQL 托管实例中的合并复制解决方法
Azure SQL 托管实例当前不支持合并复制。它的替代解决方案是什么?
azure - Entity Framework Core 5 尝试为计算列插入值
使用 Entity Framework 5 和 EF Core Power Tools(启用了生成 ef 5 代码的设置),我们会为每个计算列生成类似以下代码:
这是完全正确的。
不幸的是,尝试创建一个具有计算列的新实体并尝试保存我们从 ef core 5 中得到以下异常:
无法修改列“...”,因为它是计算列或者是 UNION 运算符的结果
当手动附加类似这样的ValueGeneratedOnAddOrUpdate
之后:HasComputedColumnSql
一切正常。
根据文档,这应该由HasComputedColumnSql
.
可以做些什么来克服这个问题?
我们正在使用 Microsoft.EntityFrameworkCore v5.0.5 包,并且我们正在使用 Azure Managed Sql Server Instance
sql-server - Azure SQL 托管实例日志重播服务陷入等待状态
希望这里有人可以提供帮助。我正在使用https://docs.microsoft.com/en-us/azure/azure-sql/managed-instance/log-replay-service-migrate上的说明来尝试迁移本地 SQL Server 2016 数据库到 Azure 上的 SQL 托管实例。
我已经设法在 blob 存储上获得了完整备份和差异,并且我运行了以下命令以尝试在“连续”模式下启动它(本质上我想最大限度地减少停机时间,所以我试图获得镜像运行,更新它,然后切换应用程序。
LRS 似乎一切正常,我可以使用以下命令查询结果:
在最初的几分钟内,我得到了“正在恢复”的状态,这似乎是合理的,并且它似乎可以正确识别我正在尝试恢复的文件,但是,在最初的几分钟之后,它似乎转变为“等待”,似乎并没有从那里继续前进。我现在已经离开它超过 5 个小时(它是 ~100GB 数据库,Gen5 通用 8 vCore 实例,这是迄今为止这个托管实例上唯一的东西)。
我假设在恢复数据库时出现了一些问题,但我似乎在任何地方都找不到它正在等待的东西。有谁知道我在哪里可以找到这个?
sql-server - 从 SQL 池中删除后尝试在 Azure 门户中删除数据库时出错
我正在尝试删除 azure 门户中的数据酶。从 SQL 池中删除后,我收到以下错误:
消息 37106,级别 16,状态 1,第 7 行 服务器 {'servername}' 上的数据库 '{databasename}' 正在由作业帐户 'jobagent' 使用。与作业帐户关联时,无法删除或重命名数据库。
我应该如何解决这个问题?