AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / user-6229

Jonesome Reinstate Monica's questions

Martin Hope
Jonesome Reinstate Monica
Asked: 2019-02-14 14:05:36 +0800 CST

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

  • 2

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]

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

INSERT INTO Parkingspace 
  (ParkingspaceID,AcountID,ParkingspaceType)
  SELECT * FROM PRODDBCopy.Parkingspace
sql-server sql-server-2016
  • 3 个回答
  • 1616 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2018-03-26 19:57:57 +0800 CST

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

  • 3

SQL Server 2016 标准

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

当我们在辅助服务器(日志传送目标)上进行恢复时,MDF 会有 1TB 还是 ~500GB ?

sql-server
  • 1 个回答
  • 2116 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2017-11-15 08:54:37 +0800 CST

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

  • 3

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

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

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

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

在此处输入图像描述

sql-server ssms
  • 6 个回答
  • 15762 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2017-10-04 13:05:23 +0800 CST

SQL Server 2016:如何限制特定数据库的内存和 CPU

  • 8

Windows 2016 上的 SQL Server 2016 标准版

我们有一台 8 核、128GB 的​​机器(实际上是一个虚拟机)。我们为我们的产品数据库最大化了这一点。(实例122GB,实例8核)

我们正在设置第二个数据库,位于其自己的主轴集(较慢的磁盘)上,并且不希望它影响产品数据库。这将在同一个 VM 上(据我们了解,我们可以通过这种方式使用现有的 SQL 许可证)。

这第二个数据库必须由它自己的 SQL 实例提供服务,以便:

  • 限制 RAM 消耗(非常少,只有 4 或 8 GB)
  • 限制为 2 个 CPU 内核

或者我们可以在主实例中限制这个数据库吗?

(注意,Express Edition 不是一个选项,我们的数据库将超过 10 GB)

sql-server
  • 2 个回答
  • 10472 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2017-08-28 15:41:48 +0800 CST

8KB 行限制是“硬限制”吗?

  • 0

根据SQL Server 文档,看起来如果我有一个或多个 varchar/nvarchar 列导致行长度超过 8KB,SQL Server 会神奇地处理它。

场景:
- 表有 100
列 - 当前最大行长度为 3.4KB
- 但是如果每个 varchar/nvarchar 字段都填充到最大值,行长度将达到 14kb

从我对上面链接的联机丛书详细信息的解释来看,这种情况会很顺利(例如,什么都不会中断,一切都会正常进行)。

我的假设是真的吗?

sql-server sql-server-2016
  • 1 个回答
  • 173 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2017-02-04 09:57:58 +0800 CST

与 SQL Server 的 ODBC 和 ADO 连接:连接到 <服务器>\<实例名称> 时使用什么协议?

  • 3

我们理解在连接到 SQL 服务器时指定:

  • <ip地址>
  • <主机或ip>,<端口号>

ADO 或 ODBC 客户端通常会使用 tcpip 进行连接。

但是,我们观察到,当客户端要求连接时:

<server>\<instance name> 似乎客户端(在本例中为 ODBC)不使用 tcpip。

我们相信在某些情况下,连接到:

  • <主机名>

也可能导致命名管道连接。

问题:

  • 由于 <server>\<instance name> 没有通过 tcpip 连接,这意味着它使用的是命名管道,对吗?
  • 如何强制连接使用 tcpip?

在这方面(SQL Server 的 32 位 Windows ODBC 驱动程序的)行为是否与旧 dblib 客户端的行为相同?

sql-server
  • 1 个回答
  • 3583 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2016-12-02 08:05:24 +0800 CST

用于备份的 SQL Server 证书:到期日期重要吗?

  • 6

如果我在 SQL Server 中有证书,用于备份:

  1. 证书过期后还可以创建备份吗?
  2. 证书过期后还能恢复吗?

让这些证书过期有什么意义?(除了让我因证书过期而导致备份失败......)

sql-server backup
  • 1 个回答
  • 4670 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2016-11-07 19:03:15 +0800 CST

SQL Server 连接字符串:密码可以在线加密吗?

  • 2

我有一个应用程序,一个商业应用程序,它将其连接字符串清晰地存储在注册表中。

当我使用与 SQL Server 的受信任连接时,这很好(用户 ID 和密码在 IIS 应用程序中,并在 IIS 中加密存储)。

我现在必须转移到 SQL 身份验证,并远离受信任的连接(长篇大论)。

我梦想着这样一个 conn 字符串:

Server=myServerAddress;Database=myDataBase;User Id=myUsername;
Password=@#$@#@%#$%#$<encrypted password>@#$@#$;encryptedpassword=yes;

还有一种我可以加密密码的方法(使用机器密钥等)。

有没有朝这个方向走的路?

sql-server
  • 2 个回答
  • 8271 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2016-09-02 16:02:07 +0800 CST

SQL Server:我可以从 SQL Server 2014 --> 2016 登录吗?

  • 3

SQL Server 2014 和 2016,都是标准版。

我们正在迁移到新的 SQL Server。我们通常通过日志传送来做到这一点(这让我们有一个小的切换窗口,因为我们只需要恢复最终日志,将新数据库从恢复中取出,修改连接字符串,我们就完成了......)

我们希望在此过程中迁移到 SQL 2016。

2014 年到 2016 年有可能登船吗?

sql-server sql-server-2016
  • 1 个回答
  • 752 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2016-06-05 23:32:12 +0800 CST

在这种情况下将使用哪个索引?

  • 11

SQL Server 2014 标准版

我需要找到特定月份往返特定城市的航班数量。例如

select count(*) 
from flights 
where flightTo_AirportCode = 'aaaa' 
and flightFrom_Airportcode = 'bbbb' 
and flightdate < '2016-04-01' 
and flightdate > '2016-02-28' ;

表架构如下。

我正在尝试估计索引 modelA 或索引 modelB(如下)是否更可取(构建索引需要很多小时,并且磁盘空间一次只允许存在一个,因此我试图在跳跃之前先看看)。

根据我的经验,任何一个索引都可以。我对吗?

  create index [modelA] on flights (flightTo_AirportCode, flightFrom_AirportCode, flightDate)

  create index [modelB] on flights (flightDate, flightTo_AirportCode, flightFrom_AirportCode)

(或者,更好的是,我可以使用二进制索引或高级机制来解决这个问题吗?)

CREATE TABLE [dbo].[flights](
    [flightId] [uniqueidentifier] NOT NULL,
    [accountId] [uniqueidentifier] NULL,
    [flightDate] [datetime] NULL,
    [flightTo_AirportCode] [nvarchar](30) NULL,
    [flightFrom_AirportCode] [nvarchar](30) NULL,
    -- ... 45 more fields
    CONSTRAINT [PK_flight] PRIMARY KEY CLUSTERED 
(
    [flightId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON, FILLFACTOR = 70) ON [PRIMARY]
) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
sql-server sql-server-2014
  • 1 个回答
  • 461 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2016-05-22 23:25:52 +0800 CST

SQL Server:如何跟踪 CREATE INDEX 命令的进度?

  • 58

SQL Server 2014,标准版

我已经读过 dm_exec_requests 中的 percent_complete 不适用于 CREATE INDEX,实际上,percent_complete 始终为 0。所以这无济于事。

我目前使用下面的方法,它至少向我展示了运动(索引创建没有被阻止)。但我对我是 %10 还是 %99 的过程一无所知。

我尝试了这里描述的方法: https ://dba.stackexchange.com/a/102545/6229 但它显示了一个明显错误的 est 完成时间(它基本上显示了 60 多分钟的过程中的“现在”,我 10 分钟进入)

我怎样才能得到线索?

SELECT percent_complete, estimated_completion_time, reads, writes, logical_reads, text_size, *
FROM
sys.dm_exec_requests AS r
WHERE
r.session_id <> @@SPID
AND r.session_id = 58
sql-server index
  • 4 个回答
  • 61100 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2016-02-19 16:03:42 +0800 CST

SQL Server 的 SAN:一个大型主轴集用于所有负载,还是按负载离散?

  • 3

SQL Server 2014,标准版(在 vmware 下运行,fwiw)。添加 Dell MD3420 DAS 盒。

在旧学校,您会为 MDF、LDF、TEMPDB、BACKUP 设置离散的轴组。

例如

  • MDF:数量 6:300GB-15K,RAID 10 // 900GB 存储
  • LDF: Qty 4: 150GB-15K, RAID 10 // 数据占用空间更小,主轴增加 IOPS
  • TEMPDB:数量 4:150GB-15K,RAID 10 // 数据占用空间更小,主轴增加 IOPS
  • 备份:数量 2:2TB,RAID 1

用例:该系统有5个数据库,并且是OLTP。

现在,我被告知:只需设置数量 10:600GB-15K 驱动器,并将 MDF、LDF、TEMPDB 和 BACKUP 全部放在那里。较大的主轴集的整体性能更高,足以弥补备份期间同时写入 LDF 和 BACKUP 的限制。

  • a) 这种新方法是正确的方法吗?
  • b) LDF应该是相对于MDF是离散的……感觉好笑!
  • c)我真的觉得备份应该是他们自己的主轴集(出于很多原因)

获胜者是?SQL 传统?还是戴尔存储架构师?

sql-server sql-server-2014
  • 2 个回答
  • 603 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2015-12-09 10:03:27 +0800 CST

SQL Server:以编程方式触发数据库架构的导出

  • 3

SQL Server 2014,标准版

多年来,我们已经看到并使用了各种存储过程和非 MS 工具来导出数据库模式。

我们真正喜欢这样做的方式是 SSMS 中的内置实用程序,如此处所述:https ://stackoverflow.com/a/12036513/147637

我们强烈喜欢 MS 工具,因为它比手动工具更完整,并且提供超级干净、组织良好和结构化的输出。

但是,我们希望将其自动化。

如何以编程方式驱动 MS 引擎?

sql-server scripting
  • 3 个回答
  • 1517 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2015-09-18 18:34:35 +0800 CST

如何确保只有一个作业实例正在运行?

  • 8

SQL Server 2014 标准版。

我们的工作时间为 20-40 分钟。我们只希望该作业的一个实例运行,但我们不希望运行之间有巨大的差距。

因此,每 60 分钟安排一次并不理想,因为可能会有 30-40 分钟的死机。理想情况下,我们会安排它每 30 分钟一次,因为这会给我们提供每 10 分钟运行一次或背靠背运行的理想状态。

在 Windows 操作系统计划任务上,有一些设置可以控制在作业仍在运行时如何处理作业实例化。

如何获得对 SQL Server 的一些控制?我如何达到我的理想(或接近它)?

sql-server sql-server-2014
  • 1 个回答
  • 1848 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2015-09-18 07:14:49 +0800 CST

大表上的大滚动更新:越来越慢

  • 2

SQL Server 2014 标准版

我们有一个包含 1 亿多行的表。

我们需要更新几列中的值。

我们做了下面的,现在已经运行了 18 个小时,只做了 1700 万行。它越来越慢。

它是一个相当热的服务器和磁盘系统(EMC RAID10 等等)。CREATE INDEX 花费了大约 20 分钟(我们不得不容忍一次不幸的中断)。

我们可以使用什么方法来更快地解决这个问题?(在线强烈推荐)

CREATE NONCLUSTERED INDEX RECORD_DELETED_INDEX ON [dbo].[huge-table] ( [deleted] ASC, [deletedDate] ASC );
GO


DECLARE @CHUNK_SIZE int
SET @CHUNK_SIZE = 4000  -- to stay under lock escalation threshhold

UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01'
where deleted is null or deletedDate is null

WHILE @@ROWCOUNT > 0
BEGIN
    UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01'
    where deleted is null or deletedDate is null
END
sql-server transaction
  • 1 个回答
  • 95 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2015-09-17 08:11:08 +0800 CST

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

  • 1

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

然而,令人担忧的是:

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

b) LOCK_ESCALATION = DISABLE 会影响事务大小吗?(看起来它仍然会产生一笔巨大的交易?)

c) LOCK_ESCALATION = DISABLE 是否会应用并避免表锁?

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

sql-server t-sql
  • 1 个回答
  • 3281 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2015-09-17 06:59:02 +0800 CST

在这个 while 循环中是否需要显式事务?

  • 13

SQL Server 2014:

我们有一个非常大(1 亿行)的表,我们需要更新其中的几个字段。

对于日志传送等,我们显然也希望将其保持在小交易中。

如果我们让下面的代码运行一段时间,然后取消/终止查询,那么到目前为止所做的工作是否都会被提交,或者我们是否需要添加显式的 BEGIN TRANSACTION / END TRANSACTION 语句以便我们可以随时取消?

DECLARE @CHUNK_SIZE int
SET @CHUNK_SIZE = 10000

UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01'
where deleted is null or deletedDate is null

WHILE @@ROWCOUNT > 0
BEGIN
    UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01'
    where deleted is null or deletedDate is null
END
sql-server t-sql
  • 1 个回答
  • 10056 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2015-09-16 21:45:42 +0800 CST

sql server:以小块更新大表上的字段:如何获取进度/状态?

  • 10

我们有一个非常大(1 亿行)的表,我们需要更新其中的几个字段。

对于日志传送等,我们显然也希望将其保持在小交易中。

  • 下面会解决问题吗?
  • 我们如何让它打印一些输出,以便我们看到进度?(我们尝试在其中添加一条 PRINT 语句,但在 while 循环期间没有输出任何内容)

代码是:

DECLARE @CHUNK_SIZE int
SET @CHUNK_SIZE = 10000

UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01'
where deleted is null or deletedDate is null

WHILE @@ROWCOUNT > 0
BEGIN
    UPDATE TOP(@CHUNK_SIZE) [huge-table] set deleted = 0, deletedDate = '2000-01-01'
    where deleted is null or deletedDate is null
END
sql-server t-sql
  • 3 个回答
  • 10782 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2015-02-14 09:41:37 +0800 CST

如何查看整个作业步骤的输出?

  • 8

我们有一个运行一些 PowerShell 的 SQL 代理作业,它会创建一个相当长的输出(它具有 robocopy 输出等)。

在 SQL 代理作业历史记录中,我们只能看到此输出的前 1,000 个字符左右。

  1. 是否还有其他地方可以查看完整的输出?
  2. 是否应该使用另一种方法来查看完整输出?
sql-server sql-server-agent
  • 2 个回答
  • 14515 Views
Martin Hope
Jonesome Reinstate Monica
Asked: 2015-01-26 00:17:05 +0800 CST

SQL Server 调优:磁盘队列到操作系统驱动器:如何优化?

  • 0

我希望看到磁盘队列在数据、临时数据库、日志和备份卷上移动。

我不希望看到存在零 SQL 文件的操作系统驱动器 (C:) 显示磁盘队列影响。

假设它是操作系统页面文件,或者?

关于如何追逐的建议?

这是 Win2012-R2/ 上的 SQL 2014

sql-server
  • 2 个回答
  • 184 Views

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目

    • 12 个回答
  • Marko Smith

    如何让sqlplus的输出出现在一行中?

    • 3 个回答
  • Marko Smith

    选择具有最大日期或最晚日期的日期

    • 3 个回答
  • Marko Smith

    如何列出 PostgreSQL 中的所有模式?

    • 4 个回答
  • Marko Smith

    列出指定表的所有列

    • 5 个回答
  • Marko Smith

    如何在不修改我自己的 tnsnames.ora 的情况下使用 sqlplus 连接到位于另一台主机上的 Oracle 数据库

    • 4 个回答
  • Marko Smith

    你如何mysqldump特定的表?

    • 4 个回答
  • Marko Smith

    使用 psql 列出数据库权限

    • 10 个回答
  • Marko Smith

    如何从 PostgreSQL 中的选择查询中将值插入表中?

    • 4 个回答
  • Marko Smith

    如何使用 psql 列出所有数据库和表?

    • 7 个回答
  • Martin Hope
    Jin 连接到 PostgreSQL 服务器:致命:主机没有 pg_hba.conf 条目 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane 如何列出 PostgreSQL 中的所有模式? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh 为什么事务日志不断增长或空间不足? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland 列出指定表的所有列 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney MySQL 能否合理地对数十亿行执行查询? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx 如何监控大型 .sql 文件的导入进度? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison 你如何mysqldump特定的表? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 对 SQL 查询进行计时? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas 如何从 PostgreSQL 中的选择查询中将值插入表中? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas 如何使用 psql 列出所有数据库和表? 2011-02-18 00:45:49 +0800 CST

热门标签

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve