Questions tagged «sql-server»

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

2
为什么“ SELECT POWER(10.0,38.0);”会引发算术溢出错误?
我正在更新我的IDENTITY溢出检查脚本以解决DECIMAL和NUMERIC IDENTITY列。 作为检查的一部分,我计算了每一IDENTITY列的数据类型范围的大小。我用它来计算该范围已用尽的百分比。对于DECIMAL与NUMERIC 该范围的大小2 * 10^p - 2,其中p是精度。 我用DECIMALand NUMERIC IDENTITY列创建了一堆测试表,并尝试如下计算它们的范围: SELECT POWER(10.0, precision) FROM sys.columns WHERE is_identity = 1 AND type_is_decimal_or_numeric ; 这引发了以下错误: Msg 8115, Level 16, State 6, Line 1 Arithmetic overflow error converting float to data type numeric. 我将其范围缩小到IDENTITY类型的列DECIMAL(38, 0)(即,具有最大精度),因此我POWER()直接尝试对该值进行计算。 以下所有查询 SELECT POWER(10.0, 38.0); SELECT CONVERT(FLOAT, (POWER(10.0, …


3
最佳实践SQL Server维护计划是什么样的?[关闭]
已关闭。这个问题需要更加集中。它当前不接受答案。 想改善这个问题吗?更新问题,使其仅通过编辑此帖子来关注一个问题。 5年前关闭。 我是埃因霍温丰提斯大学的一名学生,我目前正在进行一系列访谈,以帮助开发SQL Server工具,并且我希望获得该领域专家的反馈。 我的问题之一是: 最佳实践SQL Server维护计划是什么样的?您为此使用SQL Server维护计划,还是使用自定义脚本?

10
您的SQL Server遇到的前3个性能问题是什么?
我是埃因霍温丰提斯大学的一名学生,我目前正在进行一系列访谈,以帮助开发SQL Server工具,并且我希望获得该领域专家的反馈。 我的问题之一是: 您的SQL Server实例遇到的前3个性能问题是什么?如何识别这些问题? 我特别对用于测量此内容的脚本和工具感兴趣。


2
10 TB数据库备份/还原问题
我们有一个非常大的生产数据库,它是10 TB。我们正在考虑将其迁移到云服务,但是我必须了解风险并估计整个过程的持续时间。我使用本机SQL Server 2014 SP2备份解决方案每月备份一次数据库。持续时间将近720分钟-12小时。压缩率为5,这意味着备份大小几乎为2 TB。我们无法负担差异备份的费用,因为它们的累积时间和空间与完整备份一样多,因此我们进行T日志备份(每个约200 Mb),而不是每天每10分钟〜144个文件。BIG的问题是拥有所有这些统计信息,是否有人知道恢复包含10 TB数据的2 TB备份需要多长时间?它会比完整备份持续时间长得多吗?

1
在INSERT上使用WITH TABLOCK的好处
在某些情况下,INSERT INTO <tablename> (WITH TABLOCK)由于记录最少,因此执行操作会更快。这些情况包括将数据库包含在BULK_LOGGED恢复模型中。 当数据库(tempdb)使用恢复模型时,在空表上使用WITH TABLOCKon 还有其他潜在的性能优势吗?INSERTSIMPLE 我正在使用SQL Server 2012 Standard Edition。 我的用例是使用来创建然后立即在存储过程中填充临时表INSERT...SELECT,该表可能包含多达几百万行。我尝试避免这种tempdb滥用,但是有时是需要的。 我正在尝试建立一个需要的案例TABLOCK。似乎它不会伤害任何东西,并且可能会有好处。我试图弄清楚是否有足够的潜在优势可以将其添加到我们整个代码库中的任何位置,我敢肯定没有其他进程要写到表中。 我通常将其插入具有群集PK的新创建的本地临时表中,但有时会使用堆。

2
为什么我的索引未在SELECT TOP中使用?
总结:我正在执行选择查询。WHEREand ORDER BY子句中的每一列都在单个非聚集索引中IX_MachineryId_DateRecorded,可以作为键的一部分,也可以作为INCLUDE列。我选择了所有列,因此将导致书签查找,但我只是在考虑TOP (1),因此可以肯定的是服务器可以告诉查找,最后只需要执行一次。 最重要的是,当我强制查询使用index时IX_MachineryId_DateRecorded,它在不到一秒钟的时间内运行。如果我让服务器决定使用哪个索引,它将选择IX_MachineryId,最多需要一分钟。这确实向我表明,我已正确编制了索引,而服务器只是在做出错误的决定。为什么? CREATE TABLE [dbo].[MachineryReading] ( [Id] INT IDENTITY (1, 1) NOT NULL, [Location] [sys].[geometry] NULL, [Latitude] FLOAT (53) NOT NULL, [Longitude] FLOAT (53) NOT NULL, [Altitude] FLOAT (53) NULL, [Odometer] INT NULL, [Speed] FLOAT (53) NULL, [BatteryLevel] INT NULL, [PinFlags] BIGINT NOT NULL, [DateRecorded] DATETIME NOT …

2
为什么在视图中将NOT NULL计算列视为可为空?
我有一张桌子: CREATE TABLE [dbo].[Realty]( [Id] [int] IDENTITY(1,1) NOT NULL, [RankingBonus] [int] NOT NULL, [Ranking] AS ([Id]+[RankingBonus]) PERSISTED NOT NULL .... ) 和一个视图: CREATE View [dbo].[FilteredRealty] AS SELECT realty.Id as realtyId, ... COALESCE(realty.Wgs84X, ruian_cobce.Wgs84X, ruian_obec.Wgs84X) as Wgs84X, COALESCE(realty.Wgs84Y, ruian_cobce.Wgs84Y, ruian_obec.Wgs84Y) as Wgs84Y, realty.Ranking, ... FROM realty JOIN Category ON realty.CategoryId = …



2
PostGIS与SQL Server的GIS数据
因此,我最近刚开始在一家新公司工作,有很多ArcGIS用户,他们似乎非常热衷于继续使用PostGIS实例向我们的客户提供一些数据。虽然我对此没有疑问,但我们拥有95%的SQL Server和5%的Oracle商店。我们当前的内部GIS在SQL Server上运行,我还没有收到任何投诉。 我知道SQL Server截至2012年已经改善了很多空间/几何功能,但是PostGIS中是否有任何杀手级功能值得引入新平台?我已经尝试进行研究,但是找不到真正深入的东西,或者那不是完全偏见。 我想为他们提供最好的工具来完成他们的工作,但同时也必须权衡一个事实,即我将从一开始就学习Postgres / GIS,这本身就是一个完整的过程。

3
最有效的UUID列类型是什么
为了存储128位UUID,有多种存储选项: 字节[16]列 两个bigint / long(64位)列 CHAR(36)列-32个十六进制数字+ 4个破折号。 UUID数据库特定的列(如果数据库支持) 从索引的角度来看,哪些是最有效的?如果数据库不支持专用的uuid类型,则1,2,3中的哪一个是最佳候选者?

1
角色db_owner允许什么
我一直在尝试解决无法查看SQL Server 2012数据库中某些表的登录名。这样做时,我发现我不太了解db_owner角色允许的成员身份。我可以理解其他角色,例如,db_datareader and db_datawriter但是我对db_owner允许的角色仍然感到困惑。

3
在SQL Server中安全地生成UNIQUEIDENTIFIER
我打算将a UNIQUEIDENTIFIER作为访问密钥,用户可以用来访问某些数据。在这种意义上,密钥将充当密码。 我需要在INSERT...SELECT语句中生成多个这样的标识符。出于架构原因,在这种情况下,我想在服务器端生成标识符。 如何生成安全随机的UNIQUEIDENTIFIER?注意,这NEWID不会足够随机,因为它根本不保证任何安全属性。我正在寻找与System.Security.Cryptography.RandomNumberGenerator等效的SQL Server,因为我需要不可猜测的ID。基于的任何内容CHECKSUM,RAND或GETUTCDATE也不符合条件的内容。

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.