我有 myserver.database.windows.net 管理员登录 John。
我想把它改成彼得。
这是可能的,如果是这样,如何?
与本地 sql 服务器一起使用的更改在这里不起作用
更改登录 John WITH NAME=Peter

将在 Microsoft SQL server 2008R2 中创建的物理数据库移动到SQL Azure 有什么含义,该数据库利用诸如对 varchar(MAX) FILESTREAM BLOBS 的全文搜索等高级功能?
需要进行哪些架构更改?这一转变涉及哪些步骤?SQL Azure 迁移向导不能简单地成为自动进行转换的神奇工具。迁移工具无法解决哪些兼容性问题,应该“手动”解决?
我在 SQL Azure 上有一个数据库,想为此创建一个数据库图表,但不想安装 SQL 服务器并复制数据库等。有什么方法可以做到这一点,有人知道吗?
我今天对我的数据库进行了漏洞评估。我找到了 VA2108,它建议我
ALTER ROLE [db_owner] DROP MEMBER [dbo]
Run Code Online (Sandbox Code Playgroud)
但它是任何 SQL 实例的默认设置。
我应该去吗?有什么风险吗?
谢谢
security sql-server azure-sql-database vulnerability-assessment
今天刚注意到我的 Azure SQL 数据库中有一个随机表,名为“_TransactionIndex_{guid}”
它有 1 列 Id,其中包含 8 个 GUID。
找不到有关此表的任何信息 - 它是什么?这是否意味着我的应用程序中的事务有问题?
我正在编写一个查询,用于对社交提要的结果进行分页。这个概念是移动应用程序将请求 N 个项目,并提供我在@CutoffTime下面调用的开始日期时间。截止时间的目的是确定分页窗口应该何时开始。我们使用时间戳而不是行偏移量的原因是,即使添加了较新的社交内容,时间戳也会让我们在获取较旧帖子时从一致的位置翻页。
由于社交提要项目可以来自您自己或您的朋友,因此我使用 aUNION来组合这两个组的结果。最初我尝试了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 NOT NULL DEFAULT 0,
CONSTRAINT [PK_UserPhotos] PRIMARY KEY ([PhotoId], [UserId]),
CONSTRAINT [FK_UserPhotos_User] FOREIGN KEY ([UserId])
REFERENCES [User].[User]([UserId]),
CONSTRAINT [FK_UserPhotos_Photo] …Run Code Online (Sandbox Code Playgroud) 我有一张大表的 I/O 问题。
该表具有以下主要特征:
这是表的实现:
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 TABLE [data].[DemoUnitData] WITH NOCHECK ADD CONSTRAINT [FK_DemoUnitData_Unit] FOREIGN KEY([UnitID])
REFERENCES [model].[Unit] ([ID])
GO
ALTER TABLE [data].[DemoUnitData] CHECK CONSTRAINT [FK_DemoUnitData_Unit]
GO
Run Code Online (Sandbox Code Playgroud)
分区与此有关:
CREATE PARTITION SCHEME [DailyPartitionSchema] …Run Code Online (Sandbox Code Playgroud) performance sql-server index-tuning azure-sql-database query-performance
我在 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 …Run Code Online (Sandbox Code Playgroud) 我偶然发现了 SQL Azure 中的一个问题,其中Sort-operator 由于行估计不佳而溢出到 TempDB 中。
TenantId-column 对每个租户的表进行分区FILTER PREDICATE上述所有查询添加一个TenantIdIndex Seeks检索由于租户之间的行数差异很大,基数估计器产生的估计值非常低。这与两个内部连接相结合,进一步减少了估计,使得实际产生 3600 行的查询预计只产生 3。这是 3 个数量级的下降。
Filtered Statistics为那些产生大量行的键值定义,作为对 CE 的额外提示。OPTION ( RECOMPILE )适用于某些谓词,但不适用于TenantId通过上述安全策略注入的谓词。INNER JOINs更改为s 可以LEFT OUTER JOIN改善错误连接估计,但由于我们使用实体框架,我更喜欢不需要更改查询的解决方案。注意:显然,如果唯一的方法是重写查询,那么这就是我们将要走的路线。我欢迎您的任何想法,谢谢!
排序运算符用于分页。我实际上不想检索所有行。所以简而言之,排序需要发生在数据库中(而不是在应用程序中)。
另外,要明确的是,这里的问题不是 EF 生成的查询。这是一个简单的查询,带有许多INNER/ …
sql-server statistics azure-sql-database cardinality-estimates
使用下面的示例,谓词是相同的,但是顶部语句(正确)返回 0 行,底部语句返回 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 TableID = @tableID
AND @total <= Total
Run Code Online (Sandbox Code Playgroud)
为什么会发生这种情况?
更多信息:
Microsoft SQL Azure (RTM) - 12.0.2000.8 Dec 19 2018 …sql-server ×9
statistics ×2
columnstore ×1
index-tuning ×1
management ×1
paging ×1
performance ×1
security ×1