我的公司正在转向SQL Server 2008 R2。 我们有一个包含大量存档数据的表格。 大多数使用此表的查询在where语句中使用DateTime值。 例如: 查询1 SELECT COUNT(*) FROM TableA WHERE CreatedDate > '1/5/2010' and CreatedDate < '6/20/2010' 我假设分区是在CreatedDate上创build的,每个分区分布在多个驱动器上,我们有8个CPU,数据库中有5亿条logging在2008年1月1日之间均匀分布到2/24/2011(38个分区)。 这个数据也可以分成四个季度或者其他的时间段,但是让我们把假设保持在几个月。 在这种情况下,我相信8个CPU将被利用,只有6个分区将在2010年1月5日至6月20date间被查询。 现在如果我运行以下查询,我的假设与上面相同。 查询2 SELECT COUNT(*) FROM TableA WHERE State = 'Colorado' 有问题吗? 1.是否会查询所有分区? 是 2.是否将使用全部8个CPU来执行查询? 是 3.性能是否比查询没有被分配的表更好? 是 4.还有什么我失踪? 5.分区索引如何提供帮助? 基于对SQL Server 2008分区表和并行性的有限了解,我回答了上面的第3个问题。 但是,如果我的答案不正确,你能否提供任何我不正确的反馈。 资源: video: 演示SQL Server 2008分区表并行 (5分钟长) MSDN: 分区表和索引 更新我们在数据库上有一个集群索引,并覆盖了列上的索引 […]
目前,我正在评估一项策略,通过SQL Server 2008和冗余服务器实现高可用性,以限制数据库停机时间。 我现在的想法是在高安全模式下设置SQL Server 2008镜像,这样两台机器将完全同步。 这两台机器将处于相同的EC2可用区域,因此它们之间的延迟将会很低。 这将为单个数据库服务器closures提供保护,但如果此可用区出现问题,数据库将仍处于脱机状态。 我的想法是完全在另一个地区有另一个数据库服务器。 我唯一的问题是如何保持这个服务器与当前的数据库交易最新。 这是我的理解,SQL Server 2008只支持两台机器之间的镜像(可能涉及第三台目击者机器),所以我不知道最好的策略是保持最新的服务器。
重build索引后,为什么索引重组需要3倍? 我不确定是否每次都发生这种情况,所以我在上个月做了一个testing。 我configuration了SSMS,每天(凌晨4点)执行索引重组计划,以及每周(星期日上午5点)在线索引重build,而不pipe碎片级别。 重build被设置为填充85%的页面。 让我困扰的是,重build之后的第一次重组每次都花费更长的时间,而且没有任何意义(至less在我理解每个操作的作用的情况下)是没有意义的。
我正在寻找一个命令行工具或SQL命令来导出/导入表或完整的数据库。 很像Oracle数据库的imp和exp命令。 有什么build议么?
我们目前的SQL服务器是在Windows 2003的32位,因此我们已经计划在64位从零开始重新构build服务器,但是我们有大约200个数据库在服务器上运行,所以我可能必须备份一切,并在64位Windows安装后恢复。 有没有更容易的方法来恢复所有这些数据库散装或任何最安全的select将不胜感激。
客户希望我从旧系统中提取客户数据他正在使用的应用程序似乎使用MSDE作为数据库,其备份的扩展名为.dat SSMS快速版或Access似乎没有办法从这些文件中导入数据。 有人能指出我正确的方向吗? 编辑 好的抱歉提出这个问题,因为我刚刚设法find解决scheme。 1:在sql server 2005中创build一个新的数据库 2:select要恢复的选项 3:使用对话框find.dat文件,你会得到一个消息“备份集保存了一个非现有数据库的数据库的备份”(这对我来说是个问题) 4:在选项中select“覆盖现有的数据库 msde .dat文件然后被导入到sql服务器
这可能只是我不理解如何做到这一点,但我发现我可以安装SQL Server Express从一个单一的可执行文件,如SQL发布向导和SQL压缩和TSQL这个和那个转储所有这些东西的愤怒… 但是,当我去卸载SQL Server,所有这些垃圾留下,我必须逐个删除它们! 这是为什么? 有一个卸载程序,我可以运行,基本上说“让我的机器,如果我从来没有安装SQL Express”,只是倾倒它呢?
我有一个奇怪的问题,那些几乎无法解决的问题(真正解决问题的唯一方法就是抛弃技术,购买新的问题)。 我有一些专家(约10名顾问)来解决我的问题 – 没有解决scheme – 因此我的理由在这里发布。 [请不要因为所谓的专家设置的方式而对我进行拍摄! 我忙于重新devise它在64位:)] 我有这个问题是: 环境 : Windows Server 2003 x86企业版(32位) 16 GB RAM 光纤通道4GB EMC SAN存储(500GB分区,从数据中拆分OS) SQL Server 2000 SP4 x86企业版(32位) SAP BusinessObjects XI 3.1(Java,Apache,Tomcat) “商业数据库,宇宙和商业报告” McAfee防病毒企业 configuration : / PAE / 3GB = boot.ini SQL =使用AWE,Minmem = 4GB,Maxmem = 12GB 加载最新的补丁包括其中的SQL地址更多的内存 sqlserver.exe在任务pipe理器中显示130,123 kb( 红灯!! ) 问题 :我可以拉下服务器,使用所有核心,通过拉出一个报告,最大可以达到100%(见截图)。 目前我们有大约200个用户通过各种客户端数据库程序连接,以及BO报告。 我在ProcessExplorer中find了这个查询运行时, […]
scheme – SQL Server 2008 R2镜像环境 – 高安全性与自动故障转移同步。 Witness Server是一个SQL Server 2008 R2速成版。 问题:Witness服务器可以用于其他SQL目的吗? 特别是我想知道是否有可能在证人上完成数据库备份的testing还原,然后在还原的数据库上运行完整性检查(DBCC CHECKDB)? 谢谢。
最好我给一个背后的故事,让你得到全面的情况。 我正在build立一个新的业务,希望能在2012年4月份开始,因此我正在准备好每一个方面。 业务的一部分将是虚拟主机。 我在这个领域非常有经验,并曾经pipe理过VPS。 在我的情况下,我去了两台服务器, 第一个只是一个Web服务器,第二个有邮件和数据库。 虽然MS SQL数据库最初不会提供给客户,但是可以或不可以通过“升级”等方式添加。我有2008快速安装,因为我需要为网站面板(我可能会也可能不会最终使用)。 否则MySQL数据库可以免费用于客户。 我正在思考两个数据库系统的备份策略。 对于MS SQL,我在00:00有一个每日完整备份,从01:00到23:00每个小时有一个差异。 我现在认为这将是备份“控制面板”的最佳方式 – 当我上线时,我可能每10分钟做一次备份。 至于MYSQL,似乎我不能做差异,就像我用MS SQL做的那样,首选的操作是每次都做一个完整的转储。 我相信你可以想象在这方面,磁盘空间会随着时间的推移而快速增长。 我的主要问题是: 我应该如何备份MySQL每小时? 每天一次完整的备份对客户来说是不够的,无论是否写入。 我实际上意识到客户负责他们的数据和备份,事实上,这是大多数公司的工作原理,但我想添加额外的安全网,可能会或可能不会帮助 – 尽最大的努力,如果你愿意的话。 我读过一些将MySQL复制到另一台机器的地方,然后每小时转储一次就可以解决我的问题,但是我会担心这个延迟。 我已经读过这个复制导致瓶颈。 这仍然是这样吗? 理想情况下,我想有另一台服务器进行登台/备份/复制,但现在还没有预算。 也许当我得到一定数量的客户时,我会这样做。 无论如何,这几乎是它的大部分。 感谢您的时间和帮助。 PS 我想提一下,以防万一,这是不明显的,我正在使用Windows Server的僵尸VPS – 在这种情况下,2008 R2数据中心。 另外,除了我的备份之外,我通过networking将它们发送到iDrive作为在线备份。 我的想法完美地工作在于,我创build了与以前完全相同的备份文件。 这样一来,在线备份中,我只用尽了本地备份文件的数据大小,同时保持了30天“在线版本”的设置。 所以我可以对我的客户说我有30(分)天的备份价值,我实际上做的都是正式的,只是用了一个备份集。