小编Jon*_*ica的帖子

SQL Server:SSMS“将结果另存为”创建 Excel 破坏的 CSV

使用“结果另存为”选项,如下所示。CSV 看起来不错!

但是当 Excel 打开/导入它时:

  • 长字符串被破坏为数字(如果数据主要是数字)
  • 未正确检测日期
  • 我的用户对这一切感到不满

如何在不跳舞的情况下查询干净的 Excel 文件(真正的 xls/xlsx)?(我们喜欢 SQL 文件本身中的所有内容...我希望我们可以执行“SELECT INTO FILE:C:\SQLOUTPUT\DATA.XLS ...”)

在此输入图像描述

sql-server export ssms excel

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

Mongodb:可以扩大上限集合吗?

如果集合创建为上限,是否可以在不丢失数据的情况下增加上限?

或者在不重新创建整个集合的情况下增加上限?

谢谢

mongodb

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

SQL Server:超过 8KB 的行:文档在哪里?

我需要正确了解在 SQL Server 2016 标准版中是否以及如何获得每行 10KB 或 20KB。

我正在阅读 SQL Server 技术规范:

https://docs.microsoft.com/en-us/sql/sql-server/maximum-capacity-specifications-for-sql-server#Engine

特别是“每行字节数

它指的是 BOL 中的某些内容,我找不到。

SQL Server 联机丛书中的“行溢出数据超过 8 KB ”主题部分在哪里。?

sql-server sql-server-2016

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

SQL Server:恢复需要多少空间?

SQL Server 2016 标准版

我们的数据库是 1TB 的 MDF,但该 MDF 中有 500GB 的可用空间。

当我们在辅助(日志传送目标)上进行还原时,MDF 会有 1TB 或 ~500GB 吗?

sql-server

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

将任意 GUID 插入 [uniqueidentifier] 列是否需要“SET IDENTITY_INSERT”?

SQL Server 2016 和 2017 标准版

我需要将原始数据(来自另一个表)插入有两uniqueidentifier列的表中。

这是否需要我使用SET IDENTITY_INSERT Carrier ON

这是表:

SET ANSI_NULLS ON

SET QUOTED_IDENTIFIER ON

CREATE TABLE [dbo].[Parkingspace](
    [ParkingspaceId] [uniqueidentifier] NOT NULL,
    [AccountId] [uniqueidentifier] NULL,
    [ParkingspaceType] [smallint] NULL,
 CONSTRAINT [PK_ParkingspaceId] PRIMARY KEY CLUSTERED 
(
    [ParkingspaceId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, 
ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 90) ON [PRIMARY]
) ON [PRIMARY]
Run Code Online (Sandbox Code Playgroud)

如果没有IDENTITY_INSERT选项,以下内容是否有效?(我认为应该,但这里的 DBA 非常喜欢这个IDENTITY_INSERT选项。)

INSERT INTO Parkingspace 
  (ParkingspaceID,AcountID,ParkingspaceType) …
Run Code Online (Sandbox Code Playgroud)

sql-server uniqueidentifier identity sql-server-2016 sql-server-2017

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

ALTER TABLE 上的 SQL Server lock_escalation 标志——我真的可以在没有表锁的情况下重组吗?

SQL Server 2014 标准版

在我的情况下,我有一个巨大的表(1 亿多行),并且需要:

  • 向其中添加列
  • 在该列中设置默认值

我在 https://technet.microsoft.com/en-us/library/ms190273(v=sql.110).aspx 中 看到有一个新的 lock_escalation 选项。

例如,这是否允许我在没有表锁的情况下执行以下操作:

例如

ALTER TABLE Protocols set (LOCK_ESCALATION = DISABLE);
go

ALTER TABLE Protocols
ADD ProtocolTypeID int NOT NULL DEFAULT(1)
GO
Run Code Online (Sandbox Code Playgroud)

然而,令人担忧的是:

a) LOCK_ESCALATION = DISABLE——它到底是干什么用的,它在这里适用吗?(SQL Server 文档有点薄……也许它只适用于分区表?)

b) LOCK_ESCALATION = DISABLE 是否影响事务大小?(看起来它仍然会创造一笔巨额交易?)

c) LOCK_ESCALATION = DISABLE 甚至会应用并避免表锁定吗?

d) 有没有办法把它分块?(无法想象,但在较新的 SQL 版本中有如此多的新魔法……我应该问一下!)

sql-server t-sql

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