Questions tagged «azure-sql-database»

Azure SQL数据库是Microsoft的关系数据库即服务。该标签用于询问有关Azure SQL数据库的问题,而不是有关Azure VM中托管的SQL Server(使用azure-vm)的问题。




1
从物理数据库迁移到云数据库
将在Microsoft SQL Server 2008R2中创建的物理数据库移动到SQL Azure上,这具有什么意义?该物理数据库利用了诸如varchar(MAX)FILESTREAM BLOBS上的全文本搜索之类的高级功能? 需要哪些体系结构更改?此过渡涉及哪些步骤?SQL Azure Migration Wizzard不能简单地成为自动进行过渡的魔术工具。迁移工具无法解决哪些兼容性问题,应“手动”解决?

3
筛选条件未正确应用于“群集列存储”索引
使用下面的示例,谓词是相同的,但是top语句(正确)返回0行,bottom语句返回1-即使谓词不匹配: declare @barcode nchar(22)=N'RECB012ZUKI449M1VBJZ' declare @tableId int = null declare @total decimal(10, 2) = 5.17 SELECT 1 FROM [dbo].[transaction] WITH (INDEX([IX_Transaction_TransactionID_PaymentStatus_DeviceID_DateTime_All])) WHERE Barcode = @barcode AND StatusID = 1 AND TableID = @tableID AND @total <= Total SELECT 1 FROM [dbo].[transaction] WHERE Barcode = @barcode AND StatusID = 1 AND …

1
优化2,135,044,521行表上的索引
我有一张大桌子的I / O问题。 一般统计 该表具有以下主要特征: 环境:Azure SQL数据库(层为P4 Premium(500个DTU)) 行:2,135,044,521 1,275个已使用的分区 聚集和分区索引 模型 这是表的实现: CREATE TABLE [data].[DemoUnitData]( [UnitID] [bigint] NOT NULL, [Timestamp] [datetime] NOT NULL, [Value1] [decimal](18, 2) NULL, [Value2] [decimal](18, 2) NULL, [Value3] [decimal](18, 2) NULL, CONSTRAINT [PK_DemoUnitData] PRIMARY KEY CLUSTERED ( [UnitID] ASC, [Timestamp] ASC ) ) GO ALTER …

2
基于时间戳的窗口偏移
我正在编写一个查询,该查询将用于分页社交Feed的结果。这个概念是移动应用程序将请求N个项目,并提供一个我在@CutoffTime下面称为的开始日期时间。截止时间的目的是确定何时应启动分页窗口。我们使用时间戳而不是行偏移量的原因是,即使添加了新的社交内容,时间戳也会使我们在获取较旧的帖子时从一致的位置进行分页。 由于社交Feed可以来自您自己或您的朋友,因此我使用UNION来合并这两个组的结果。最初,我尝试了TheQuery_CTE不使用的逻辑UNION,这太慢了。 这是我所做的(包括相关的表架构): CREATE TABLE [Content].[Photo] ( [PhotoId] INT NOT NULL PRIMARY KEY IDENTITY (1, 1), [Key] UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID(), [FullResolutionUrl] NVARCHAR(255) NOT NULL, [Description] NVARCHAR(255) NULL, [Created] DATETIME2(2) NOT NULL DEFAULT SYSUTCDATETIME(), ); CREATE TABLE [Content].[UserPhotoAssociation] ( [PhotoId] INT NOT NULL, [UserId] INT NOT NULL, [ShowInSocialFeed] BIT …



3
“将数据库部署到SQL Azure”任务丢失
我最近在拥有的工作站上安装了SQL Server 2014 Express,并且正在尝试将其部署到SQL Azure。我之前在使用SQL Server 2012 Express的以前的工作站上通过以下操作完成了此操作: 右键单击数据库>任务>“将数据库部署到SQL Azure” 在SQL Server 2014上,该选项完全消失,取而代之的是一个新选项:“将数据库部署到Windows Azure VM” 我无法弄清楚为什么缺少部署到SQL Azure的选项。SQL Server 2014是否需要单独安装某些东西?根据我在网上阅读的内容,这两个选项都应该在2014年版中同时出现。Microsoft是否为SQL Server 2014 Express删除了此选项?

2
集群索引现在必须-为什么?
早些时候,关于是否(始终)参与/避免聚集索引的辩论/讨论对我来说不是结论性的。 好吧,我知道有时要结合适当的特定目的和上下文来使用它们。 SQL Azure数据库群集索引要求: “ SQL Azure不支持没有聚簇索引的表。表必须具有聚簇索引。如果创建的表没有聚簇约束,则必须先创建聚簇索引,然后才能对表进行插入操作” 不符合先前的结论,理由和解释。 在先前的解释中,我遗漏了没有任何例外地严格施加聚集索引的基本原理是什么?

2
SQL Server:是否涵盖所有列的索引?
我们的团队继承了一个应用程序和关联的数据库。以前的开发人员似乎执行了一个规则,即每个表上的每个索引都有一个INCLUDE子句,以始终添加不属于键一部分的每个列。这些表平均具有2到5个索引或唯一约束以及外键。 目的是不管在数据库上引发什么查询,都是为了提高SELECT性能,因为访问是通过默认(但并非总是)检索所有列的ORM进行的。我们希望这样做的副作用是增加了存储需求(可能如此),并且增加了INSERT / UPDATE / DELETE的开销时间。 问题是,这是明智的策略吗?我们的团队具有SQL Server的历史,但是没有成员会认为自己是其内部行为的专家(尽管已经提出了一个问题,即如果该策略是最佳策略,那么现在是否将其作为默认策略?)。我们还应该期待其他哪些副作用(数据库服务器CPU /内存/ TempDB的使用情况等),或者上述某些假设是否正确? 此外,该应用程序既可以安装到SQL Server内部部署(自2012年以来的版本)中,也可以安装到Azure SQL中-如果我们为两者之间的任何差异或Azure的其他副作用做好了准备,方法?

1
在SQL Server 2017和Azure SQL DB中查找默认隔离级别
我正在读一本与交易和并发有关的书。在一个段落中提到: 在本地SQL Server实例中,默认隔离级别是基于锁定的已读提交 接下来的句子是: SQL数据库中的默认值为读取-基于行版本的已提交快照 我的问题是:这两个句子中的“本地SQL Server实例”和“ SQL数据库”之间有什么区别? 什么是默认隔离级别,如何找到它?是否有任何特殊查询来查找默认隔离级别?

1
为什么我的Azure SQL(SQL Server)数据库一次又一次出现数据IO超载?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 6个月前关闭。 我正在S2版(50个DTU)下运行Azure SQL数据库。服务器的正常使用通常挂在10%左右的DTU上。但是,此服务器通常会进入一种状态,它将在数小时内将数据库的DTU使用率发送到85-90%。然后突然恢复到正常的10%使用率。 在此过载状态下,从应用程序对服务器进行的查询似乎仍在快速运行。 我可以从S2 =>任何东西(例如,S3)=> S2扩展服务器,似乎可以清除它挂起的任何状态。但是几个小时后,它将再次重复相同的重载状态周期。我注意到的另一个奇怪的事情是,如果我在S3计划(100 DTU)24/7上运行此服务器,则没有观察到此行为。当我将数据库缩减为S2计划(50 DTU)时,似乎只会发生这种情况。在S3计划中,我总是以5-10%的DTU使用率。显然未得到充分利用。 我已经检查了Azure SQL查询报告以查找流氓查询,但是我并没有发现任何异常,它显示了我所期望的使用资源的查询。 正如我们在这里看到的那样,用法全部来自数据IO。如果我更改此处的性能报告以按MAX显示热门的数据IO查询,我们将看到以下内容: 查看这些长期运行的需求似乎指向统计信息更新。从我的应用程序运行的内容实际上并不是什么。例如,查询16302显示: SELECT StatMan([SC0], [SC1], [SC2], [SB0000]) FROM (SELECT TOP 100 PERCENT [SC0], [SC1], [SC2], step_direction([SC0]) over (order by NULL) AS [SB0000] FROM (SELECT [UserId] AS [SC0], [OrganizationId] AS [SC1], [Id] AS [SC2] FROM …

2
是什么导致此查询/执行计划的CPU使用率过高?
我有一个支持.NET Core API应用程序的Azure SQL数据库。浏览Azure门户中的性能概述报告表明,我的数据库服务器上的大部分负载(DTU使用情况)来自CPU,特别是一个查询: 如我们所见,查询3780几乎负责服务器上的所有CPU使用率。 这有点说得通,因为查询3780(见下文)基本上是应用程序的整个关键所在,并且用户经常调用它。这也是一个相当复杂的查询,需要许多联接才能获得所需的正确数据集。该查询来自一个存储库,最终看起来像这样: -- @UserId UNIQUEIDENTIFIER SELECT C.[Id], C.[UserId], C.[OrganizationId], C.[Type], C.[Data], C.[Attachments], C.[CreationDate], C.[RevisionDate], CASE WHEN @UserId IS NULL OR C.[Favorites] IS NULL OR JSON_VALUE(C.[Favorites], CONCAT('$."', @UserId, '"')) IS NULL THEN 0 ELSE 1 END [Favorite], CASE WHEN @UserId IS NULL OR C.[Folders] IS NULL THEN …

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.