我有一个Azure SQL(S3)地理复制的只读数据库。 我的问题是,当我从Visual Studio查询只读时,我可以看到查询正在命中Master数据库。 我希望查询能打到只读数据库。
但是,如果我从连接到只读的SMSM运行相同的查询,则可以看到只读数据库已命中。这可以按预期工作。
要查看每个数据库中的最后一个查询,我将使用以下SQL。
SELECT execquery.last_execution_time AS [日期时间],execsql.text AS [脚本]从sys.dm_exec_query_stats AS execquery 交叉应用sys.dm_exec_sql_text(execquery.sql_handle)AS execsql ORDER BY execquery.last_execution_time DESC
问题
为什么我的c#(entityframework 6.0)代码未显示在只读数据库中?
背景
目标是拥有一个只读SQL来处理外部API加载,这样就不会加载Master SQL。
在Azure Portal中,我在与Master相同的区域中创建了一个地理复制SQL。
连接字符串设置为只读数据库。 我在连接字符串中尝试了[ApplicationIntent = ReadOnly]标志,但没有成功。
答案 0 :(得分:1)
问题是连接字符串“用户ID”上的旧格式。
我使用了“用户名@服务器”。 @server指向Master Sql的服务器。
我更改为仅“用户名”,现在可以使用了。