我正在编写一个大量使用 SQL Azure 的网站。然而,它是痛苦的缓慢。
有没有一种简单的方法来分析实时 SQL Azure 实例?
我从 Brent Ozar 的网站下载了 SQL Server First Aid Kit。当我以Azure 数据库服务器级别管理员身份登录时,当我尝试通过 Microsoft Sql Server Management Studio 针对我的主数据库运行sp_BlitzIndex脚本时,出现以下错误:
消息 262,级别 14,状态 18,过程 sp_BlitzIndex,第 18 行 CREATE PROCEDURE 权限在数据库“master”中被拒绝。
我在要测试的数据库实例上成功创建了该过程。当我执行该程序时,我收到一条错误消息:
消息 50000,级别 16,状态 1,第 1265 行无效的对象名称“mydatabase.sys.partitions”。
接下来我尝试聪明一点,直接对master数据库运行存储过程代码,而不创建存储过程,得到以下错误:
此版本的 SQL Server 不支持消息 50000,级别 15,状态 1,第 1267 行引用“mydatabase.sys.indexes”中的数据库和/或服务器名称。
我没有足够的信心开始玩弄约 2700 行索引启发式逻辑的内部工作原理。是否有一种快速、简单的方法可以让这个存储过程在 Azure SQL 数据库上很好地工作,或者我应该在别处寻找索引分析工具/存储过程?
t-sql azure-sql-database azure-sql-database-v11 sp-blitzindex
今天早些时候,我注意到我所有的 Azure SQL 数据库服务器都从 v11 更新到了 v12。我是公司中唯一应该接触这些拨号的人,但不是我公司中唯一可以访问的人。由于这次升级不是我发起的,我想知道是谁发起的,以及这个计划外的更新是什么时候发生的。
我知道我可以写一封电子邮件给我公司的每个人,并礼貌地向WTF询问信息,但我宁愿用尽可能多的事实开始对话。另外,我倾向于认为这是 Microsoft/Azure SNAFU,因为升级所有服务器感觉太刻意了。
select POWER(2.,64.)返回18446744073709552000而不是18446744073709551616. 它似乎只有 16 位精度(四舍五入第 17 位)。
即使使精度明确,select power(cast(2 as numeric(38,0)),cast(64 as numeric(38,0)))它仍然返回四舍五入的结果。
这似乎是一个非常基本的操作,因为它可以像这样以 16 位精度任意剥离。它可以正确计算的最高值仅为POWER(2.,56.),失败为POWER(2.,57.)。这里发生了什么?
真正可怕的是select 2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.*2.;实际上返回了正确的值。简洁到此为止。
DBCC FREEPROCCACHE在 Azure SQL DB 中不起作用。我还能如何强制计划以一种不会伤害生产系统的方式将自己踢出缓存(即我不能随意更改表)?这是专门为 Entity Framework 创建的 SQL,所以这些不是自我管理的存储过程 - 它是有效的动态 SQL。
(来源是糟糕的索引 -> 糟糕的统计数据等。这一切都已解决,但糟糕的计划不会消失。)
更新: 当他首先到达那里时,我选择了@mrdenny 的解决方案。然而,我成功地使用@Aaron Bertrand 的脚本来执行这项工作。感谢大家的帮助!!
我有一个托管在 SQL Azure 实例上的 OLTP 数据库。我想从云中提取数据库的副本,以便我可以对其运行一些大量提取和 OLAP 样式的查询,而不会影响源数据库。
如何将数据库的副本下拉到本地 SQL Server 实例?
我有 myserver.database.windows.net 管理员登录 John。
我想把它改成彼得。
这是可能的,如果是这样,如何?
与本地 sql 服务器一起使用的更改在这里不起作用
更改登录 John WITH NAME=Peter

在我的应用程序中,我有一个在“文件”表中执行搜索的查询。
表“files”由“f”.“created”分区(参见表定义,客户端19(“f”.“cid = 19)有大约2600万行)。
这里的重点是,如果我执行此查询:
SELECT "f"."id" AS "FileId"
, "f"."name" AS "FileName"
, "f"."year" AS "Fileyear"
, "f"."cid" AS "clientId"
, "f"."created" AS "FileDate"
, CASE WHEN ("vnVE0"."value" is not null AND "vnVE0"."value" != '')
THEN CAST("vnVE0"."value" AS decimal(28,2))
ELSE 0 END AS "keywordValueCol0_numeric"
FROM files "f"
OUTER APPLY
(
SELECT DISTINCT
VT.[value]
FROM dbo.value_number AS VT
WHERE
VT.id_file = F.id
AND VT.id_field = 260
) AS "vnVE0"
WHERE "grapado" IS NULL AND "masterversion" IS NULL AND ("f"."year" = …Run Code Online (Sandbox Code Playgroud) 我们开始在 Windows 2019 上安装和配置 SQL Server 2019,安装后注意到一个名为“AzureAttestService”的新服务正在运行并设置为自动。服务也将描述和组字段列为 AzureAttestService。下面是几个问题:
我已经研究过,但没有找到关于 AzureAttestService 的太多信息。如果有人有关于这项服务的信息并且可以分享,我将不胜感激。
谢谢!
sql-server ×3
audit ×1
backup ×1
duplication ×1
management ×1
monitoring ×1
performance ×1
profiler ×1
t-sql ×1
upgrade ×1