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-3460

ivanmp's questions

Martin Hope
ivanmp
Asked: 2014-08-22 12:00:39 +0800 CST

维度模型的层次结构

  • 3

我正在尝试对 DW 建模,其中我有多个地理级别(邻里、地区、城市、州)。

我有几个应该包含在模型中的人口统计数据。这些数据包括居住在该地区的人数、平均月收入、平均年龄等。我有数据的最低级别是邻域,这意味着它可以组合在一起以计算更高级别的值。

地理在单个(非规范化)维度中建模,其中每个级别都有自己的列。

现在我必须在模型中拟合人口统计数据。我应该把它放在另一个单独的维度中,还是应该放在地理维度中?综合水平如何?

将其全部放在地理维度上会给我留下大量的列:

  • ID
  • 街区名称
  • 地区名称
  • 城市名
  • 州名
  • 社区平均月收入
  • 社区平均工作人口年龄
  • 邻里人数
  • ...
  • 地区平均月收入
  • 地区平均工作人口年龄
  • 地区人数
  • ...
  • 城市平均月收入
  • 城市平均工作人口年龄
  • 城市人数
  • ...

这个对吗?这看起来比较绕。我在几本书(包括 Kimball 的)中搜索了替代设计,但没有找到任何令人满意的东西。

这种设计是否有更好、经过验证、认可和可靠的替代方案?

database-design data-warehouse
  • 1 个回答
  • 832 Views
Martin Hope
ivanmp
Asked: 2012-10-19 03:56:17 +0800 CST

统计信息物理存储在 SQL Server 的什么位置?

  • 28

查询优化器使用的统计信息物理存储在 SQL Server 数据库文件和缓冲池中的什么位置?

更具体地说,有没有办法使用 DMV 和/或 DBCC 找出统计数据使用的页面?

我拥有 SQL Server 2008 Internals 和 SQL Server Internals and Troubleshooting 书籍,但没有一本谈论统计的物理结构;如果他们这样做,我将无法找到此信息。

sql-server statistics
  • 1 个回答
  • 4737 Views
Martin Hope
ivanmp
Asked: 2012-09-22 21:18:17 +0800 CST

使用 SQL Server 配置管理器或端点禁用协议

  • 1

除了 SQL Server 配置管理器之外,还可以通过禁用默认设置来禁用对特定 SQL Server 协议的访问ENDPOINTs,但这两个选项之间有什么区别?

禁用一个而不禁用另一个是否存在安全问题?(我应该禁用两者吗?)

sql-server network
  • 1 个回答
  • 86 Views
Martin Hope
ivanmp
Asked: 2012-09-19 13:54:19 +0800 CST

确定用户最小权限集的最有效方法

  • 6

我有一个应用程序使用db_owner权限连接到的数据库。

我如何有效地确定该用户(应用程序)在不导致服务中断的情况下实际运行所需的最低要求集?(即没有反复试验)

sql-server sql-server-2008-r2
  • 2 个回答
  • 259 Views
Martin Hope
ivanmp
Asked: 2012-05-22 06:08:11 +0800 CST

来自不同 DMV 的信息不一致

  • 3

我有一台 12 GB 物理内存的服务器。我只是将其'Max Server Memory (MB)'设置从 10 GB 降低到 8 GB。

如果我在 Perfmon 中查看进程提交的内存,我会看到:

select *
from sys.dm_os_performance_counters
where [object_name] like 'SQLServer:Memory Manager%';
go
目标服务器内存 (KB):8388608
总服务器内存 (KB):8388608

显示 SQL Server 已经从缓冲池中释放了额外的 2 GB 内存。

但是,如果我看一下sys.dm_os_sys_info:

select [bpool_committed]
     , [bpool_commit_target]
     , [bpool_visible]
from sys.dm_os_sys_info;
go

我得到不一致的结果:

bpool_committed = 1048576
bpool_commit_target = 1048576
bpool_visible = 1048576

不应该sys.dm_os_sys_info反映性能计数器上的信息吗?

我在 Windows Server 2003 上运行 Microsoft SQL Server 2005 SP1。

sql-server sql-server-2005
  • 2 个回答
  • 232 Views
Martin Hope
ivanmp
Asked: 2012-05-15 17:47:47 +0800 CST

客户端无明显原因超时

  • 2

我有一台大部分时间都运行良好的 SQL Server 2005 服务器。

今天,当我尝试在 SSMS 上打开另一个选项卡时,用户开始在打开新连接时出现超时,包括我自己。

我到处寻找问题,但我没有发现服务器有任何实际问题!

PLE 超过 10.000 秒,缓存命中率 >99.80,目标内存为 10GB,仅使用约 4GB。服务器有 16 个处理器,负载远低于 20%。I/O 非常低,大多数活动来自日志记录和 CHECKPOINT,只有很少的 Lazywriter 必须将内容写入磁盘。

该服务器一直未得到充分利用,直到今天我在打开新连接时仍开始出现超时。

服务器已重新启动,问题仍然存在。

我的第一个想法是归咎于网络,但我有远程 DAC 设置,并且在使用 DAC 时我已经能够毫无延迟地连接到服务器,所以我不太确定是网络问题。

我怎样才能跟踪这个问题并诊断发生了什么?什么工具或技术可以帮助我解决这个问题?

sql-server sql-server-2005
  • 1 个回答
  • 9703 Views
Martin Hope
ivanmp
Asked: 2012-04-26 04:18:59 +0800 CST

SQL Server 低于 5000 个可用页面

  • 5

我在生产中的两个 SQL Server 2005 实例上设置了警报。Free Pages只要性能计数器低于 5000 页标记,就会发送其中一个警报。

两台服务器通常使用超过 300000 个空闲页面运行,但有时其中一台服务器会暂时低于 2000 甚至 1000 个空闲页面,然后再次上升。同样,这只发生在其中一台服务器上。

据我所知,这种行为并没有降低该服务器的性能,因为在我看来,每当服务器将在空闲页面上饿死时,它都会从缓冲区中释放较旧的数据页面并填充空闲缓冲区列表. 至少从理论上讲。

我不明白为什么lazywriter 没有维护更大的空闲缓冲区列表,而是“等待”SQL Server 在释放更多缓冲区之前在空闲页面上变得如此短。

所以我的问题实际上是双重的:
1. 我怎样才能确定是什么/谁导致 SQL Server 在免费页面上变得短缺?
2. 我怎样才能检查这里实际发生了什么?

sql-server sql-server-2005
  • 1 个回答
  • 1690 Views
Martin Hope
ivanmp
Asked: 2012-03-31 11:55:31 +0800 CST

这些陈述在 MS β 考试 70-461“衡量的技能”列表中意味着什么?

  • 3

我已经注册了即将举行的题为查询 Microsoft SQL Server 2012的 Beta 考试 70-461 。

我一直在通读考试概述,发现了一堆描述我不太确定其中一些项目的含义:

  • 创建和更改 DML 触发器。
    • 这个目标可能包括但不限于:插入和删除的表;嵌套触发器;触发类型;更新功能;在会话中处理多行;触发器的性能影响
  • 使用 SELECT 语句查询数据。
    • 该目标可能包括但不限于:使用排名功能在单个查询中为多个类别选择前(X)行;使用同义词和连接(除、相交)等新代码项高效地编写和执行查询;实现使用动态 SQL 和系统元数据的逻辑;编写高效、技术复杂的 SQL 查询,包括所有类型的连接与派生表的使用;根据提供的表格确定哪些代码可以执行或不可以执行;给定一个带约束的表,确定哪个语句集将加载一个表;使用和理解不同的数据访问技术;CASE 与 ISNULL 与 COALESCE

我认为这里的问题在于措辞,我认为我无法完全理解。

如果有人能澄清这些,我将不胜感激。

把它作为一个实际问题:

微软在上面突出显示的声明中谈论的是什么?

sql-server t-sql
  • 2 个回答
  • 492 Views
Martin Hope
ivanmp
Asked: 2012-03-30 04:29:37 +0800 CST

Mac OS X 上的 DB2 Express-C

  • 4

我已经遵循了DB2 Express v9.7电子书入门中描述的所有步骤,并在我的 Mac 上安装了 DB2 Express-C。安装成功,没有问题。

我确实根据这篇博文设置了 OS X:http: //programmingzen.com/2009/01/20/installing-db2-on-mac-os-x/

安装后,我按照说明设置了 DB2 实例环境,并且能够使用以下命令启动 DB2: $ db2start

但是我无法运行 db2fs。它返回以下错误消息:

$ db2fs
sh: /Users/ivan/sqllib/java/jdk64/jre/bin/java: No such file or directory DB2JAVIT : RC = 127

为了让它在我的系统上工作,我还需要设置什么?

db2 installation
  • 2 个回答
  • 2536 Views
Martin Hope
ivanmp
Asked: 2012-03-28 06:11:19 +0800 CST

关于在系统数据库上创建用户对象的建议

  • 1

我想使用 Service Broker 为我们的生产数据库在 SQL Server 上设置一堆事件通知。

我在我的测试机器上设置了一个新数据库,一切正常。问题是,我宁愿不必为此通知目的部署整个数据库,而且我不能使用已经存在的用户数据库之一(无论如何,这将是一团糟)。

如果可能,我最好将通知对象部署在 上master,但首先我想确定这确实是个好主意(如果确实如此)。

来自联机丛书:

不要在 master 中创建用户对象。如果这样做,则必须更频繁地备份 master。

联机丛书建议我不要在 中创建用户对象master,但在这种情况下,我认为这不是什么大问题,因为我真的不在乎我是否最终会丢失一些通知数据。此外,我们已经master经常备份我们的数据库。

在这种情况下我应该使用master数据库还是其他东西?

master在设置之前,我应该了解有关数据库、Service Broker 或事件通知的信息吗?

sql-server sql-server-2005
  • 1 个回答
  • 670 Views
Martin Hope
ivanmp
Asked: 2012-03-27 14:07:49 +0800 CST

使用 Service Broker 发送电子邮件的优雅方式

  • 2

是否有使用 Service Broker 服务/队列发送电子邮件的优雅方式?

我想EVENT NOTIFICATION为 SQL Server 设置一个,并且我想为队列中的每条消息向操作员发送电子邮件。

根据这本书SQL Server 2005 DBA Street Smarts: A Real World Guide to SQL Server 2005 Certification Skills,数据库邮件使用服务代理:

此外,Database Mail 是可扩展的,因为它使用 Service Broker 队列,允许异步处理请求,甚至在服务器在处理之前发生故障时保存请求。

也许我在这里太离谱了,但是,有没有办法可以使用 Service Broker 将消息直接发送到数据库邮件队列?

如果我必须设置一个存储过程来代表 Service Broker 发送电子邮件,我认为在 SQL Server 代理上设置一个作业来检查错误中我感兴趣的事件应该更容易记录并向操作员发送电子邮件。

我愿意接受建议。

sql-server sql-server-2005
  • 1 个回答
  • 2595 Views
Martin Hope
ivanmp
Asked: 2012-03-27 13:58:01 +0800 CST

设置自动增长警报

  • 1

我可以在 SQL Server(2005 或 2008 R2)中为自动增长事件设置警报吗?

我四处搜索,但没有找到自动增长的“错误编号”(如果有的话)。

如果这不可能,您还建议如何设置自动增长警报?

我考虑过使用 Service Broker 配置 SQL Server 通知作为替代方案,但我愿意接受建议。

sql-server sql-server-2005
  • 1 个回答
  • 1048 Views
Martin Hope
ivanmp
Asked: 2012-03-23 11:51:03 +0800 CST

同实例数据库间数据迁移

  • 2

我有两个几乎相同(结构上)的数据库:

  1. 文件
  2. 文件旧

原来的数据库在表分区出现之前就已经存在,所以他们找到的解决方案是创建第二个数据库,并在每年之后将所有旧数据迁移到其中。现在他们想再次合并这两个数据库。

我做了一些研究,发现这两个数据库在表之间的结构差异很小,没有 IDENTITY 列。

因此,除了细微的结构差异之外,我认为最有可能的是将旧数据库中的值插入到第一个数据库中。

数据库其实有点大,有100多张表。

我想知道的是,使用 SSIS 来做这件事是否有意义,或者 SSIS 是否适合这种工作?还是我应该只编写 T-SQL 代码来完成这项工作?

作为一个附加问题,是否有比上述前两个选项更适合此类工作的工具?

sql-server sql-server-2005
  • 1 个回答
  • 738 Views
Martin Hope
ivanmp
Asked: 2012-03-20 10:03:58 +0800 CST

使用 RECOMPILE 查询提示时查询之间执行时间的巨大差异

  • 16

我在同一个 SQL Server 2005 实例上运行了两个几乎相同的查询:

  1. 第一个是SELECTLINQ 生成的原始查询(我知道,我知道......我不是应用程序开发人员,只是 DBA :)。
  2. 第二个和第一个完全一样,OPTION (RECOMPILE)最后加了一个。

没有其他任何改变。

第一个每次运行需要 55 秒。
第二个需要 2 秒。

两个结果集是相同的。

为什么这个提示会在性能上产生如此巨大的提升?

Books Online 上的条目RECOMPILE没有提供非常详细的解释:

指示 SQL Server 数据库引擎在查询执行后放弃为查询生成的计划,强制查询优化器在下次执行相同查询时重新编译查询计划。如果不指定 RECOMPILE,数据库引擎会缓存查询计划并重用它们。编译查询计划时,RECOMPILE 查询提示使用查询中任何局部变量的当前值,如果查询在存储过程中,则将当前值传递给任何参数。

RECOMPILE 是创建使用 WITH RECOMPILE 子句的存储过程的有用替代方法,当必须重新编译存储过程中的查询子集而不是整个存储过程时。有关详细信息,请参阅重新编译存储过程。当您创建计划指南时,重新编译也很有用。有关更多信息,请参阅使用计划指南优化已部署应用程序中的查询。

OPTION (RECOMPILE)由于我的查询有很多局部变量,我的猜测是当我使用查询提示时,SQL Server 能够(认真地)优化它。

我所看到的每一个地方,人们都在说OPTION (RECOMPILE)应该避免这种情况。对此的解释通常是使用这个提示 SQL Server 无法重用这个执行计划,因此每次都要浪费时间重新编译它。
(但是)鉴于巨大的性能优势,我倾向于认为这次使用此查询提示将是一件好事。

我应该使用它吗?如果没有,有没有一种方法可以强制 SQL Server 使用更好的执行计划而无需此提示且无需更改应用程序?

sql-server sql-server-2005
  • 1 个回答
  • 2457 Views
Martin Hope
ivanmp
Asked: 2012-03-19 11:36:12 +0800 CST

在不同的 Windows 帐户下运行每个 SQL Server 服务

  • 5

除了数据库引擎,SQL Server 还有一些附加服务,即:

  • SQL Server 集成服务
  • SQL Server 分析服务
  • SQL Server 报告服务
  • SQL Server 代理

他们每个人都应该有单独的 Windows 帐户吗?

如果是这样,使用这种更精细的帐户设置有什么好处?实用吗?

如果不是,那么推荐的 SQL Server 及其附加服务的良好帐户设置是什么?

sql-server
  • 2 个回答
  • 2066 Views
Martin Hope
ivanmp
Asked: 2012-03-09 06:46:30 +0800 CST

SQL Server DBA 需要了解有关 Windows Server 的哪些信息?

  • 12

类似于我之前的问题 DBA 必须了解 SSAS 的哪些方面?,它产生了一个非常好的答案(谢谢你,@ConcernedOfTunbridgeWells!),我现在问一个类似的问题:

SQL Server DBA 需要了解有关 Windows Server 的哪些信息,以便能够有效地管理它并了解幕后发生的事情,以及了解运行 SQL Server 的底层操作系统在何种程度上是重要的成为一名优秀的DBA?

它可以是个人特征,书籍,从经验中,你的名字!

sql-server windows
  • 1 个回答
  • 1267 Views
Martin Hope
ivanmp
Asked: 2012-03-08 12:25:51 +0800 CST

DBA 必须了解哪些有关 SSAS 的知识?

  • 40

我看过很多关于 SSAS 业务方面的资料,但关于行政和管理的重要方面的资料并不多。

从管理 SQL Server Analysis Services 实例的角度来看,工作的 DBA 必须了解哪些有关 SSAS 的知识才能正确有效地管理它?

sql-server ssas
  • 2 个回答
  • 21536 Views
Martin Hope
ivanmp
Asked: 2012-03-07 10:54:02 +0800 CST

上次在表中插入/更新/删除数据是什么时候?

  • 7

我找到了这个解决方案,但是每次重新启动 SQL Server 服务时,此信息都会丢失,或者换句话说,它不是持久的。

即使服务器在事后关闭,还有其他方法可以找出上次更新表的时间吗?

sql-server
  • 4 个回答
  • 49758 Views
Martin Hope
ivanmp
Asked: 2012-03-07 05:04:29 +0800 CST

镜像和故障转移集群之间有什么区别?什么时候推荐使用其中的一种?

  • 10

镜像和故障转移集群之间的主要区别是什么?

每个人解决了什么样的问题,在什么样的场景中每个人都被推荐而不是另一个?

sql-server mirroring
  • 2 个回答
  • 24258 Views
Martin Hope
ivanmp
Asked: 2012-03-06 10:05:51 +0800 CST

分区表中的全文索引

  • 7

我有一个带有全文索引的表,其中包含超过一百万条记录。

该表在过去被一分为二,并且比某个日期更早的数据在每年年底被移动到另一个具有完全相同结构的单独数据库中的表中。第二个表有大约 3+ 百万条记录。

我只能猜测为什么会这样做,但现在我被要求将这两个表合并回一个表,并将其分区。我正在运行 SQL Server 2005。

全文搜索是否可以在分区表中使用?

有没有关于这种情况的建议,或者我应该注意什么?

sql-server sql-server-2005
  • 1 个回答
  • 1953 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