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
    • 最新
    • 标签
主页 / dba / 问题

全部问题(dba)

Martin Hope
Jonathan Allen
Asked: 2017-11-04 15:29:34 +0800 CST

帮助安装 SQL Server 2017 - VS Shell 安装失败,退出代码为 1638

  • 171

有关如何处理此错误的任何建议:

TITLE: Microsoft SQL Server 2017 Setup
------------------------------

The following error has occurred:

VS Shell installation has failed with exit code 1638.

For help, click: https://go.microsoft.com/fwlink?LinkID=20476&ProdName=Microsoft%20SQL%20Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=0x5B39C8B9%25401434%25403

------------------------------
BUTTONS:

OK
------------------------------

这是一台正在运行的新笔记本电脑

  • SQL Server 2016 速成版
  • 视觉工作室 2017
  • SSMS 2017

我尝试卸载与 SQL Server 或 Visual Studio 相关的任何内容。

日志:[3500:3970][2017-11-03T16:25:20]e000:错误 0x80070666:安装较新版本时无法安装产品。

Detailed results:
  Feature:                       Full-Text and Semantic Extractions for Search
  Status:                        Failed
  Reason for failure:            An error occurred for a dependency of the feature causing the setup process for the feature to fail.
  Next Step:                     Use the following information to resolve the error, and then try the setup process again.
  Component name:                Microsoft Visual C++ 2015 Redistributable
  Component error code:          1638
  Component log file:            C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\20171103_162358\VCRuntime140_x64_Cpu64_1.log
  Error description:             VS Shell installation has failed with exit code 1638.
  Error help link:               https://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=VCRuntime140_x64%40Install%400x1638

  Feature:                       Database Engine Services
  Status:                        Failed
  Reason for failure:            An error occurred for a dependency of the feature causing the setup process for the feature to fail.
  Next Step:                     Use the following information to resolve the error, and then try the setup process again.
  Component name:                Microsoft Visual C++ 2015 Redistributable
  Component error code:          1638
  Component log file:            C:\Program Files\Microsoft SQL Server\140\Setup Bootstrap\Log\20171103_162358\VCRuntime140_x64_Cpu64_1.log
  Error description:             VS Shell installation has failed with exit code 1638.
  Error help link:               https://go.microsoft.com/fwlink?LinkId=20476&ProdName=Microsoft+SQL+Server&EvtSrc=setup.rll&EvtID=50000&ProdVer=14.0.1000.169&EvtType=VCRuntime140_x64%40Install%400x1638
sql-server installation
  • 4 个回答
  • 174819 Views
Martin Hope
Amelio Vazquez-Reina
Asked: 2014-02-06 13:16:56 +0800 CST

如何从 PostgreSQL 中获取当前数据库的名称?

  • 174

在 PostgreSQL 中使用\c <database_name>将连接到命名数据库。

如何确定当前数据库的名称?

输入:

my_db> current_database();

产生:

ERROR:  syntax error at or near "current_database"
LINE 1: current_database();
postgresql psql
  • 5 个回答
  • 227634 Views
Martin Hope
Johntron
Asked: 2013-06-21 06:18:32 +0800 CST

级联(ON DELETE/UPDATE)行为的良好解释

  • 149

我不是每天都设计模式,但是当我这样做时,我会尝试正确设置级联更新/删除以使管理更容易。我了解级联是如何工作的,但我永远不记得哪个表是哪个表。

例如,如果我有两个表 -Parent并且- 在该引用和 hasChild上有一个外键,哪些记录会触发级联,哪些记录会被级联删除?我的第一个猜测是删除记录时会删除记录,因为记录依赖于记录,但这是模棱两可的;它可能意味着删除记录时删除记录,也可能意味着删除记录时删除记录。那么它是哪一个?ChildParentON DELETE CASCADEChildParentChildParentON DELETEParentChildChildParent

我希望语法是ON PARENT DELETE, CASCADE,ON FOREIGN DELETE, CASCADE或类似的东西来消除歧义。有没有人有任何助记符来记住这一点?

mysql foreign-key
  • 5 个回答
  • 280622 Views
Martin Hope
Kshitiz Sharma
Asked: 2013-04-23 21:24:46 +0800 CST

如何正确格式化 sqlite shell 输出?

  • 139

如果我去mysql shell打字,SELECT * FROM users我会得到 -

+--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+
| USERID | NAME           | EMAILID                         | PASSWORD | USER_TYPE | CONTACT_ID_FKUSERS | COMPANY_ID_FKUSERS |
+--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+
|    137 | X              | b@cc.com                        | #        | ADMIN     |                166 |                110 |
|    138 | Kshitiz        | ksharma@aaa.com                 | asdf     | ADMIN     |                167 |                111 |
+--------+----------------+---------------------------------+----------+-----------+--------------------+--------------------+

Oracle sqlplus显示 -

USERID     NAME  EMAILID    PASSWORD   USER_TYPE  CONTACT_ID_FKUSERS COMPANY_ID_FKUSERS
---------- ----- ---------- ---------- ---------- ------------------ ------------------
137        X     b@cc.com   #          ADMIN                     166                110
137        X     b@cc.com   #          ADMIN                     166                110

Sqlite shell显示 -

137|X|b@cc.com|#|ADMIN|166|110
138|Kshitiz|ksharma@aaa.com|asdf|ADMIN|167|111
  1. 有没有办法美化输出sqlite shell?
  2. 是否有比默认发行版更好的替代外壳?(仅限 CLI 客户端)
sqlite
  • 9 个回答
  • 91651 Views
Martin Hope
Stephane Rolland
Asked: 2013-04-10 11:07:03 +0800 CST

优化对一系列时间戳(两列)的查询

  • 140

我在 Ubuntu 12.04 上使用 PostgreSQL 9.1。

我需要在一段时间内选择记录:我的表time_limits有两个timestamp字段和一个integer属性。我的实际表中有其他列与此查询无关。

create table (
   start_date_time timestamp,
   end_date_time timestamp, 
   id_phi integer, 
   primary key(start_date_time, end_date_time,id_phi);

该表包含大约 2M 条记录。

像下面这样的查询花费了大量的时间:

select * from time_limits as t 
where t.id_phi=0 
and t.start_date_time <= timestamp'2010-08-08 00:00:00'
and t.end_date_time   >= timestamp'2010-08-08 00:05:00';

所以我尝试添加另一个索引 - PK的倒数:

create index idx_inversed on time_limits(id_phi, start_date_time, end_date_time);

我的印象是性能提高了:访问表中间记录的时间似乎更合理:大约在 40 到 90 秒之间。

但是对于时间范围中间的值,它仍然是几十秒。当目标是表的末尾时(按时间顺序),还有两倍。

我explain analyze第一次尝试得到这个查询计划:

 Bitmap Heap Scan on time_limits  (cost=4730.38..22465.32 rows=62682 width=36) (actual time=44.446..44.446 rows=0 loops=1)
   Recheck Cond: ((id_phi = 0) AND (start_date_time <= '2011-08-08 00:00:00'::timestamp without time zone) AND (end_date_time >= '2011-08-08 00:05:00'::timestamp without time zone))
   ->  Bitmap Index Scan on idx_time_limits_phi_start_end  (cost=0.00..4714.71 rows=62682 width=0) (actual time=44.437..44.437 rows=0 loops=1)
         Index Cond: ((id_phi = 0) AND (start_date_time <= '2011-08-08 00:00:00'::timestamp without time zone) AND (end_date_time >= '2011-08-08 00:05:00'::timestamp without time zone))
 Total runtime: 44.507 ms

在 depesz.com 上查看结果。

我可以做些什么来优化搜索?id_phi您可以看到一旦设置为 ,扫描两个时间戳列所花费的所有时间0。而且我不理解时间戳上的大扫描(60K 行!)。他们不是由主键索引并且idx_inversed我添加的吗?

我应该从时间戳类型更改为其他类型吗?

我已经阅读了一些关于 GIST 和 GIN 索引的内容。我收集它们可以在自定义类型的某些条件下更有效。对于我的用例来说,这是一个可行的选择吗?

postgresql index
  • 4 个回答
  • 145504 Views
Martin Hope
Tom Hunter
Asked: 2012-01-07 07:57:00 +0800 CST

开发人员应该能够查询生产数据库吗?

  • 171

是否应该授予开发人员查询(SELECT/只读)生产数据库的权限?我以前工作的地方,开发团队有db_datareader角色;我现在工作的地方,开发团队甚至无法连接到生产实例。

其中一个测试实例是每周一次从生产备份恢复的生产副本,因此开发人员实际查看数据没有任何问题。

不允许开发人员查询生产有什么好的理由(只是不希望他们有权读取敏感数据)?

sql-server best-practices
  • 19 个回答
  • 56532 Views
Martin Hope
Manuel Leduc
Asked: 2011-12-28 01:10:21 +0800 CST

PostgreSQL 多列唯一约束和 NULL 值

  • 144

我有一个如下表:

create table my_table (
    id   int8 not null,
    id_A int8 not null,
    id_B int8 not null,
    id_C int8 null,
    constraint pk_my_table primary key (id),
    constraint u_constrainte unique (id_A, id_B, id_C)
);

我想(id_A, id_B, id_C)在任何情况下都与众不同。所以下面的两个插入一定会导致错误:

INSERT INTO my_table VALUES (1, 1, 2, NULL);
INSERT INTO my_table VALUES (2, 1, 2, NULL);

但它的行为不像预期的那样,因为根据文档,两个NULL值没有相互比较,所以两个插入都没有错误地通过。

即使在这种情况下,我如何保证我的唯一id_C约束NULL?实际上,真正的问题是:我可以在“纯 sql”中保证这种唯一性,还是必须在更高级别上实现它(在我的例子中是 java)?

postgresql constraint
  • 3 个回答
  • 145497 Views
Martin Hope
Jake Wilson
Asked: 2011-10-20 07:50:08 +0800 CST

使用 ENUM 与整数类型的优缺点?

  • 143

假设在某个随机表中,您有一个名为status的列。它的实际值将是enabled或disabled。

该列的数据类型是 int/bool(1 或 0)还是与 和 的值一起使用会更好ENUM吗?有什么优点或缺点?enableddisabled

假设您有 4 个或 10 个甚至更多,而不是只有两个有效状态?随着所需值数量的增加,优点和缺点是否会向一侧或另一侧摆动?

mysql database-design
  • 3 个回答
  • 76518 Views
Martin Hope
gbn
Asked: 2011-09-13 06:59:54 +0800 CST

可以让 MySQL 使用多个内核吗?

  • 142

我收到了一些专用的 MySQL 服务器,它们从不使用超过一个内核。我比 MySQL 的 DBA 更像开发人员,所以需要一些帮助

设置

这些服务器在 OLAP/DataWarehouse (DW) 类型的负载下非常庞大:

  • 主要:96GB RAM,8 核 + 单个 RAID 10 阵列
  • 测试:4 核 32GB RAM
  • 最大的 DB 为 540 GB,总量约为 1.1TB,主要是 InnoDB 表
  • Solaris 10 Intel-64
  • MySQL 5.5.x

注意:最大的 DB 是从 OLTP DR 服务器复制的 DB,DW 是从这里加载的。它不是一个完整的 DW:仅持续 6 个月到 6 周,因此它比 OLTP DB 小。

测试服务器上的观察

  • 3个独立的连接
  • 每个都有一个并发的(和不同的)ALTER TABLE...DROP KEY...ADD INDEX
  • 这 3 个表有 2.5、3.8 和 450 万行
  • CPU 使用率高达 25%(一个核心被最大化)并且没有更高
  • 3 个 ALTER 需要 12-25 分钟(最小的单个需要 4.5)

问题

  1. 需要什么设置或补丁才能允许使用多个内核?
    也就是说,为什么 MySQL 不使用所有可用的内核?(与其他 RDBMS 一样)
  2. 这是复制的结果吗?

其他注意事项

  • 我了解 RDBMS“线程”和操作系统“线程”之间的区别
  • 我不是在问任何形式的并行性
  • InnoDB 和线程的一些系统变量不是最佳的
    (寻求快速获胜)
  • 短期内,我无法更改磁盘布局
  • 如果需要,可以调整操作系统
  • 最小表上的单个 ALTER TABLE 需要 4.5 分钟(令人震惊的 IMO)

编辑 1

  • innodb_thread_concurrency 在两者上都设置为 8。是的,这是错误的,但不会让 MySQL 使用多核
  • innodb_buffer_pool_size 在主数据库上是 80GB,在测试上是 10GB(另一个实例已关闭)。现在可以了。
  • innodb_file_per_table = ON

编辑 2

  • innodb_flush_log_at_trx_commit = 2
  • innodb_use_sys_malloc = ON
  • innodb_flush_method 应该是 O_DIRECT (但是 SHOW VARIABLES 没有显示这个)
  • innodb_doublewrite = 关闭
  • 文件系统 = ZFS(我的系统管理员发现了这个:http: //blogs.oracle.com/realneel/entry/mysql_innodb_zfs_best_practices)

去测试

  • innodb_flush_method 不应该显示为 O_DIRECT
  • 将遵循 RolandoMySQLDBA 的设置

如果我错过了任何重要的事情,请告诉我

干杯

更新

在 RolandoMySQLDBA 的答案中更改了 innodb_flush_method + 3 x 线程设置
结果:> 1 个核心用于测试 = 阳性结果

mysql performance
  • 5 个回答
  • 237464 Views
Martin Hope
BrunoLM
Asked: 2011-01-05 23:46:34 +0800 CST

Guid vs INT - 哪个更好作为主键?

  • 154

我一直在阅读使用或不使用Guid和int.

int更小,更快,易于记忆,保持时间顺序。至于Guid,我发现的唯一优势是它是独一无二的。在哪种情况下 aGuid会比 a 更好int,为什么?

从我所见,int除了数量限制之外没有任何缺陷,这在许多情况下是无关紧要的。

究竟为何而Guid生?我实际上认为它除了作为简单表的主键之外还有其他用途。(有什么真正的应用程序使用Guid的例子吗?)

( Guid = UniqueIdentifier ) SQL Server 上的类型

sql-server performance
  • 6 个回答
  • 136627 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