Questions tagged «sql-server»

所有版本的Microsoft SQL Server(非MySQL)。还请添加特定于版本的标记,例如sql-server-2016,因为它通常与问题相关。

2
这是Oracle中新的通用模式哪里存在(选择NULL FROM…)?
多年前,写 where exists (Select * from some_table where some_condition) 去年,我注意到许多t-sql脚本切换为使用数字1而不是星号 where exists (Select 1 from some_table where some_condition) 就这样,我看到了这个Oracle示例 WHERE EXISTS (SELECT NULL FROM ... 这是Oracle的常见模式吗?以及使用此类功能的性能参数。

8
在开发箱上为开发人员授予SA特权
尽管有强烈的抗议,我们的管理层还是决定必须在开发服务器上授予开发团队“ sa”权利。问题是我们DB支持小组仍然负责维护此框。 现在,我们已经被委托为具有这些增强的特权的开发团队提供了一个“要注意事项”清单。 请添加到此列表: 做-将活动限制在正在开发的数据库中 不要 - 更改任何SQL实例设置 sp_configure(包括cmdshell) 添加/更改/删除任何安全设置 添加/更改/删除数据库对象 添加/更改/删除服务器对象,例如备份设备和链接的服务器 添加/更改/删除复制 添加/更改/删除维护计划 触摸任何不属于您的团队的数据库 任何可用于跟踪这些用户活动的工具的指针将不胜感激。

4
VM上的单核SQL Server
最近,我们的学区已将多台服务器从2005版升级到2016年,并且从物理服务器升级到了VM服务器。 我们的基础架构团队为单核提供了用于SQL Server安装的VM服务器。 我试图向该部门负责人解释说,SQL Server“讨厌”在单个内核上,他想看到“证明”。我提供的数据都没有满足他的证明要求,因此他要求提供一些文章,说明为什么VM SQL Server无法在单个内核上有效运行。 您为此使用什么文章? 任何对我的帮助对我来说都将不胜感激!

1
重新运行特定的实际查询计划
我已经捕获了特定查询的实际查询计划。 之后,我更改了一些内容(包括更新统计信息)并重新运行了该特定查询。现在,实际的查询计划有所不同(这很有意义)。 现在查询运行速度快得多。我很好奇新的执行计划是否与此有关,因为其他更改(IO设置更改,VM设置更改,sql实例重启等)也可能导致性能提高。为了对此进行测试,我想再次运行查询,并尝试强制SQL Server使用旧的执行计划。 问题:有没有一种方法可以使用用户提供的执行计划重新运行查询,甚至可以直接从这样的计划运行查询? 这是我试图弄清楚的一件事: 我搜索了我们在办公室可获得的书籍(《Professional SQL Server 2012内部和故障排除》,《查询Microsoft SQL Server 2012》); Google搜索,例如“根据特定查询计划运行查询” DBA.SE搜索,例如“执行查询计划”和“重新运行执行计划” 最后,一个回答了我很多次的问题:在单击“发布您的问题”之前,请仔细检查“可能已经有了答案的问题” :-) 底线是:这可能吗?如果是这样:如何?

2
在数据集查询中设置NOLOCK提示的选项
一些情况: 首先,我们编写报告只是“直截了当”,在查询中没有任何锁定提示。对于较大的报告,这有时会导致锁定问题。在第一,我们通过使用补救这WITH (NOLOCK)提示在查询表。 因为(a)它是相当突兀,和(b)很容易忘记一个表的提示,我们搬到了第二种方法设置TRANSACTION ISOLATION LEVEL到READ UNCOMMITTED每个数据集的查询的顶部(这是罚款)。 您可能会猜到,忘记其中一个数据集的提示仍然很容易。因此,这导致了一个问题: 问题:与报告查询一起发送NOLOCK提示的选项有哪些? PS。我意识到这在某种程度上是一个XY问题(我还有很多其他的X选择,例如优化查询,不对操作数据库进行报告等),但是尽管如此,它还是试图使之成为一个有效的问题。 选项: 以下是上述选项,并添加了一些选项,我很好奇它们是否可以工作: WITH (NOLOCK)为每个表设置提示。(突兀,很容易忘记) 将READ UNCOMMITTED整个查询的隔离级别设置为。(仍然容易忘记) 是否可以在报告级别指定?例如,确保一个报表的所有数据集查询都将不锁定地运行。 是否可以在其他SSRS级别上指定它?例如,可能是为某个报表文件夹设置此设置,还是使用扩展名? 是否可以在数据源/连接字符串级别指定此名称?例如,所有相关报告是否都使用特定的“无锁数据源”? 与上一个选项相关:也许可以为特定的“ no-lock-sql-user”(在连接中使用的那个)指定默认的锁定提示? ??? 哪些选项可行?有没有我错过的选择?
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.