有关如何处理此错误的任何建议:
TITLE: Microsoft SQL Server 2017 Setup
------------------------------
The following error has occurred:
VS Shell installation has failed with exit code 1638.
For help, click: https://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=0x5B39C8B9%25401434%25403
------------------------------
BUTTONS:
OK
------------------------------
Run Code Online (Sandbox Code Playgroud)
这是一台正在运行的新笔记本电脑
我尝试卸载与 SQL Server 或 Visual Studio 相关的任何内容。
日志:[3500:3970][2017-11-03T16:25:20]e000:错误 0x80070666:安装较新版本时无法安装产品。
Detailed results:
Feature: Full-Text and Semantic Extractions for Search
Status: Failed
Reason for failure: An error occurred for a dependency of the feature causing the setup process for the feature to fail. …Run Code Online (Sandbox Code Playgroud) 我有两个具有相同名称、类型和索引键列的表。其中一个具有唯一的聚集索引,另一个具有非唯一的.
测试设置
设置脚本,包括一些真实的统计数据:
DROP TABLE IF EXISTS #left;
DROP TABLE IF EXISTS #right;
CREATE TABLE #left (
a char(4) NOT NULL,
b char(2) NOT NULL,
c varchar(13) NOT NULL,
d bit NOT NULL,
e char(4) NOT NULL,
f char(25) NULL,
g char(25) NOT NULL,
h char(25) NULL
--- and a few other columns
);
CREATE UNIQUE CLUSTERED INDEX IX ON #left (a, b, c, d, e, f, g, h)
UPDATE STATISTICS #left WITH ROWCOUNT=63800000, PAGECOUNT=186000;
CREATE …Run Code Online (Sandbox Code Playgroud) join sql-server sql-server-2014 sort-operator sql-server-2017
SQL Server 2017 有几个新的存储过程:
以及 sys.messages 中的新条目:
目的
在尝试创建自引用函数的测试示例时,一个版本失败而另一个版本成功。
唯一的区别是添加SELECT到函数体导致两者的执行计划不同。
起作用的功能
CREATE FUNCTION dbo.test5(@i int)
RETURNS INT
AS
BEGIN
RETURN(
SELECT TOP 1
CASE
WHEN @i = 1 THEN 1
WHEN @i = 2 THEN 2
WHEN @i = 3 THEN dbo.test5(1) + dbo.test5(2)
END
)
END;
Run Code Online (Sandbox Code Playgroud)
调用函数
SELECT dbo.test5(3);
Run Code Online (Sandbox Code Playgroud)
退货
(No column name)
3
Run Code Online (Sandbox Code Playgroud)
不起作用的功能
CREATE FUNCTION dbo.test6(@i int)
RETURNS INT
AS
BEGIN
RETURN(
SELECT TOP 1
CASE
WHEN @i = 1 THEN 1
WHEN @i = 2 THEN 2
WHEN @i = 3 …Run Code Online (Sandbox Code Playgroud) 当我运行此命令时 SUM()
SELECT COUNT(*) AS [Records], SUM(t.Amount) AS [Total]
FROM dbo.t1 AS t
WHERE t.Id > 0
AND t.Id < 101;
Run Code Online (Sandbox Code Playgroud)
我越来越,
Arithmetic overflow error converting expression to data type int.
Run Code Online (Sandbox Code Playgroud)
关于它的原因是什么的任何想法?
我只是按照这个答案中的说明进行操作。
我需要将本地 SQL Server 2017 数据库迁移到 Azure SQL 数据库,但我面临着一些挑战,因为要克服很多限制。
特别是,由于 Azure SQL 数据库仅在 UTC 时间(无时区)下工作,而我们需要本地时间,因此我们必须更改数据库中GETDATE() 各处的使用,事实证明,这比我预期的要多。
我创建了一个用户定义的函数来获取适合我的时区的本地时间:
CREATE FUNCTION [dbo].[getlocaldate]()
RETURNS datetime
AS
BEGIN
DECLARE @D datetimeoffset;
SET @D = CONVERT(datetimeoffset, SYSDATETIMEOFFSET()) AT TIME ZONE 'Pacific SA Standard Time';
RETURN(CONVERT(datetime,@D));
END
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是GETDATE()在每个视图、存储过程、计算列、默认值、其他约束等中实际更改此函数。
实施此更改的最佳方法是什么?
我们正处于托管实例的公共预览版中。它仍然有同样的问题GETDATE(),所以它对这个问题没有帮助。迁移到 Azure 是一项要求。这个数据库总是在这个时区使用(并将被使用)。
我试图恢复我的数据库和 SQL Server 不断崩溃。我会在 SSMS 中收到一条消息,指出存在网络传输错误(连接因崩溃而中断)。我检查了日志,发现 SQL Server 意外关闭。然后我将不得不去重新启动服务。
我将问题缩小到 GUI 试图运行的脚本。问题是在进行尾日志备份时,备份文件的路径是错误的。它应该是D:\mapbenefits\...
BACKUP LOG [mapbenefits]
TO DISK = N'D:mapbenefits_LogBackup_2019-02-21_13-58-24.bak'
WITH NOFORMAT, NOINIT, NAME = N'mapbenefits_LogBackup_2019-02-21_13-58-24',
NOSKIP, NOREWIND, NOUNLOAD, NORECOVERY , STATS = 5
Run Code Online (Sandbox Code Playgroud)
我有两个问题。
如何修复此路径?我尝试进入服务器设置,备份路径D:没有斜线。如果我添加斜杠,gui 会将其删除。这是 SSMS v17.9.1。我可以选择D:\mapbenefits\并且有效,但我想要D:\DATABASE\...
这是一个错误吗?SQL 服务器是否应该因为路径输入错误而崩溃?一旦我修复了文件路径,它就没有问题了。我可以通过整理文件路径随时复制。
如果我运行查询来检查版本,我会得到 CU13,但如果我进入设置,我会看到版本 14.0.1000.169。
看起来这是一个错误并且可以重现,所以我将它发布到这里:https : //feedback.azure.com/forums/908035-sql-server/suggestions/36920542-incorrect-filepath-with-backup-log-command-原因
我正在开发一个需要大量选择查询的报告系统,但它基于只填充一次的数据库。数据库管理系统是 Microsoft SQL Server 2017。可能有更好的方法来设计这样的系统,但让我们从理论上来解决这个问题。
理论上来说:
索引每个可能的列组合是否会对选择查询产生负面性能影响?
我们正准备对我们的 SQL Server执行大规模升级,并注意到分布式可用性组的一些异常行为,我正试图在继续之前解决这些问题。
上个月,我将远程辅助服务器从 SQL Server 2016 升级到 SQL Server 2017。该服务器是多个分布式可用性组 (DAG)和一个单独的可用性组 (AG) 的一部分。当我们升级这台服务器时,我们没有意识到它会进入一个不可读的状态,所以在过去的一个月里,我们一直完全依赖于主服务器。
作为即将进行的升级的一部分,我将CU 4补丁应用到服务器并重新启动它。当服务器重新上线时,刚刚打补丁的辅助服务器显示所有 DAG/AG 都在同步,没有任何问题。
然而,初选展示了一个非常不同的故事。报道称
在最初感到恐慌之后,我尝试了以下方法来使 DAG 中的事物再次同步:
ALTER DATABASE [<database] SET HADR RESUME;- 执行没有错误,但没有恢复任何同步我最后一次再次同步数据的尝试是登录到辅助服务器,然后手动重新启动 SQL Server 服务。手动重新启动服务似乎有点极端,因为我希望重新启动服务器就足够了。
有没有人遇到过重启后 DAG 没有开始同步到辅助节点的问题?如果有,是如何解决的?
我检查了 SQL Server 错误日志和辅助服务器上的事件查看器,没有发现任何异常。
sql-server upgrade availability-groups sql-server-2017 distributed-availability-groups
我昨天在查询时遇到了一些性能问题,经过进一步调查,我注意到我认为我试图深入了解聚集列存储索引的奇怪行为。
该表是
CREATE TABLE [dbo].[NetworkVisits](
[SiteId] [int] NOT NULL,
[AccountId] [int] NOT NULL,
[CreationDate] [date] NOT NULL,
[UserHistoryId] [int] NOT NULL
)
Run Code Online (Sandbox Code Playgroud)
与索引:
CREATE CLUSTERED COLUMNSTORE INDEX [CCI_NetworkVisits]
ON [dbo].[NetworkVisits] WITH (DROP_EXISTING = OFF, COMPRESSION_DELAY = 0) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)
该表目前有 13 亿行,我们不断向其中插入新行。当我说不断时,我的意思是一直。这是一次向表中插入一行的稳定流程。
Insert Into NetworkVisits (SiteId, AccountId, CreationDate, UserHistoryId)
Values (@SiteId, @AccountId, @CreationDate, @UserHistoryId)
Run Code Online (Sandbox Code Playgroud)
执行计划在这里
我还有一个每 4 小时运行一次的预定作业,用于从表中删除重复的行。查询是:
With NetworkVisitsRows
As (Select SiteId, UserHistoryId, Row_Number() Over (Partition By SiteId, UserHistoryId
Order By CreationDate Asc) RowNum
From NetworkVisits
Where CreationDate …Run Code Online (Sandbox Code Playgroud) sql-server ×10
sql-server-2017 ×10
aggregate ×1
backup ×1
columnstore ×1
datatypes ×1
distributed-availability-groups ×1
functions ×1
index-tuning ×1
installation ×1
join ×1
t-sql ×1
upgrade ×1