标签: sql-server-2014

按基于类别的多列值返回不同的记录

ID    MODEL    MODELSTATUS    CONTROL
11     100      GOOD           XN
24     100      TRENDING       BF
33     101      GOOD           XN
46     102      BAD            BF
50     103      BAD            XN
64     103      BAD            BF
77     104      PENDING        XN
89     104      TRENDING       BF
92     105      TRENDING       BF
93     105      TRENDING       XN
Run Code Online (Sandbox Code Playgroud)

鉴于上面的数据,我将如何返回下面的结果。可以有 1 条或 2 条(最多)具有相同 MODEL 的记录。如果 MODEL 有 2 个记录,则 CONTROL 将不同。

如果 MODESTATUS 为“趋势”,则返回该记录。否则,如果 MODELSTATUS 是 'Pending' 或 'Bad' 返回该记录。否则,如果 MODEL 有 2 条记录,其中 MODELSTATUS 与 CONTROL 的返回记录相同,则为“XN”

ID    MODEL    MODELSTATUS    CONTROL
24    100 …
Run Code Online (Sandbox Code Playgroud)

sql-server sql-server-2014

1
推荐指数
1
解决办法
69
查看次数

是否可以仅在订阅者中更改表的主键(从非集群到集群)而不破坏复制?

我有一个表,它有一个聚集唯一索引和一个与索引结构相同的非聚集主键。

IF OBJECT_ID('[dbo].[tblBAccountHolder]') IS NOT NULL 
DROP TABLE [dbo].[tblBAccountHolder] 
GO
CREATE TABLE [dbo].[tblBAccountHolder] ( 
[lngParticipantID]  INT                              NOT NULL,
[sdtmCreated]       SMALLDATETIME                    NOT NULL,
[strUsername]       VARCHAR(20)                          NULL,
[strPassword]       VARCHAR(20)                          NULL,
[tsRowVersion]      TIMESTAMP                        NOT NULL,
CONSTRAINT   [PK_tblAccountHolder]  
PRIMARY KEY NONCLUSTERED ([lngParticipantID] asc),

CONSTRAINT   [IX_tblBAccountHolder__lngParticipantID]  
UNIQUE CLUSTERED    ([lngParticipantID] asc) 
WITH FILLFACTOR = 100)
Run Code Online (Sandbox Code Playgroud)

正如您在定义中看到的那样,只有一列:

 CREATE  UNIQUE CLUSTERED INDEX IX_tblBAccountHolder__lngParticipantID 
 ON [dbo].[tblBAccountHolder] (  [lngParticipantID] ASC  )  
Run Code Online (Sandbox Code Playgroud)

我想删除唯一索引,并更改主键以使其成为集群。我将保留相同的主键,只需将其从非集群更改为集群。

该表是事务复制的一部分,我只会在订阅者数据库上完成此操作。不在发布者中。

这是一个包含超过 9,293,193 行的表格。

我会搞砸复制吗?

问题是我必须删除主键约束并将其重新创建为集群。

这是我想在订阅者数据库中完成的操作:

drop INDEX IX_tblBAccountHolder__lngParticipantID 
        ON [dbo].[tblBAccountHolder]  
GO

ALTER TABLE [dbo].[tblBAccountHolder] 
       drop CONSTRAINT …
Run Code Online (Sandbox Code Playgroud)

replication sql-server transactional-replication sql-server-2014 automation

1
推荐指数
2
解决办法
4455
查看次数

SQL Server 在 XML 字段中选择

我需要以下情况的帮助:

在我的表 SQLServer 2012 中有一个带有 xml 值的字段,我想选择该字段中的数据并在表单列中显示结果。

图片1

<row> 
  <ID_Cota>162986</ID_Cota>
  <ID_Taxa_Plano>1000</ID_Taxa_Plano>
  <ID_Plano_Venda>1020</ID_Plano_Venda>
  <ID_Pessoa>18522</ID_Pessoa>
</row>
Run Code Online (Sandbox Code Playgroud)

谢谢你。

xml sql-server sql-server-2012 sql-server-2014

1
推荐指数
1
解决办法
2万
查看次数

在什么情况下我更有可能从异步自动更新统计信息中受益?

我每周使用Ola Hallengren 的解决方案更新统计数据。

根据下面的文章,我正在考虑启用 Auto Stats Async 并打开跟踪标志 2371。

具有大表的数据库应使用自动更新统计数据异步功能

现在,我的数据库的 async 选项为 false:

在此处输入图片说明

此外,来自SQL Server 2008 及更高版本的重要修补程序

此设置允许异步自动更新统计信息,同时您当前运行的查询继续使用旧统计信息,直到更新的统计信息可供使用,从而降低不可预测的查询性能。对此的替代方案(这是默认设置)是暂停查询执行(仅适用于使用该对象统计信息的查询),同时为该对象自动同步更新统计信息。根据对象的大小以及硬件和 I/O 子系统,这可能需要几秒钟到几分钟的时间。

题:

在测试环境中,在将 Auto Update Stats Async 设置为 ON 之前/之后,可以进行哪些好的简单测试?

在什么情况下我更有可能从异步自动更新统计信息中受益?

数据库 500GB+,大表。

sql-server optimization statistics sql-server-2014

1
推荐指数
1
解决办法
359
查看次数

SSMS 列中的 Wingdings 字体

我确实想创建一个应该有复选标记和十字标记的列。

这是我的查询的一部分:

iif(order_details.order_status = 'Y',char(252),char(251)) as [completed?]
Run Code Online (Sandbox Code Playgroud)

在 SSMS 中执行查询后,我得到这样的输出 - 'ü', 'û'

但我假设,如果在 SSMS 中从当前字体更改为Wingdings,我将得到检查和交叉标记,并且每个输出都将在 SSMS 中更改。但我只想更改列 completed?

这是我的结果:

在此处输入图片说明

有人可以帮我打勾和十字标记吗?

sql-server ssms sql-server-2014

1
推荐指数
1
解决办法
709
查看次数

登录 Always On 可用性组

我是 Always On Availability Groups 的新手,我对创建登录名有点困惑。

让我们假设一个环境 NODE1(Primary) & NODE2(secondary) & NODE3(Stand by) & VAEWI(Listener)。

  1. 我需要创建一个 SQL 身份验证登录。

    为此,我假设我需要通过连接到将在所有节点中同步的侦听器来创建它。

  2. 我需要创建一个 Windows 身份验证。

    为此,我认为,因为所有节点在创建可用性组之前都是窗口集群的。因此,我们需要在主节点中创建一个 Windows 用户 1st,然后通过连接到侦听器来创建 Windows 身份验证。

谁能告诉我我的假设是否正确?

sql-server sql-server-2012 availability-groups sql-server-2014

1
推荐指数
1
解决办法
1379
查看次数

具有可用性组的 tempdb 的任何不同指南?

我在两节点 Windows Server 故障转移群集上运行的 SQL Server 2014 上设置了一个可用性组。设置由两个独立实例 + 同步自动故障转移组成。

我读过的许多 Microsoft 文章都提倡为 TempDB 使用多个文件来提高性能。似乎他们建议使用 8 个文件。

在这种配置的情况下,我应该这样做吗?它会提高性能吗?

sql-server tempdb availability-groups sql-server-2014

1
推荐指数
2
解决办法
1112
查看次数

将数据库从 SQL Server 2000 升级到 SQL Server 2014

我在 SQL Server 2008 R2 中有数据库。我备份了这个数据库并在 SQL Server 2014 服务器上恢复了它。但是,某些数据库查询看起来与新版本不兼容。

例如,*=运算符在 SQL Server 2014 中引发错误。

我不想更改出现问题的每个查询。有没有办法升级旧版本的 SQL Server 备份以使用新版本的数据库?

sql-server sql-server-2008-r2 upgrade sql-server-2014

1
推荐指数
1
解决办法
3335
查看次数

如何将整个数据库加载到内存中?

我想将整个数据库加载到内存中,但是我该怎么做呢?我有大约 256 GB 的内存,我的数据库大约有 200 GB,所以我可以轻松地处理内存。

当我执行select count(*) from table1sqlserver 自动将表加载到内存之后,我可以非常快速地使用表,但我想知道如何将整个数据库加载到内存中?

如果我select count(*) from在每个表上都这样做,我可以更快地工作,但是有没有其他方法可以将整个数据库加载到内存中?我想通过一个命令加载整个数据库,而不是一个select count(*) from表一个表。

sql-server optimization memory cache sql-server-2014

1
推荐指数
1
解决办法
1万
查看次数

哪个 SQL Server 版本支持 CDC?

有谁知道哪个 SQL Server 2014/2016 版本/版本支持 CDC(变更数据捕获)?

sql-server sql-server-2014 sql-server-2016

1
推荐指数
1
解决办法
2万
查看次数