Questions tagged «configuration»

选择数据库系统的硬件,固件,软件或其他组件的设置。

3
如何在SQL Server上配置SSD驱动器的RAID阵列?
我正在构建一个具有48 GB RAM,1个CPU和8个SATA III(6GB / s)SSD驱动器(128 GB Crucial m4)和LSI MegaRAID控制器(SAS 9265-8i)的SQL Server。我希望典型的工作量主要来自阅读。会有一段时间的写入活动增加(与第三方数据提供者每小时进行一次数据同步-每晚备份),但是我怀疑典型的读写比率约为90%读取/ 10%写入。 选项1: 逻辑驱动器C:-RAID 1(2个物理驱动器)-OS 逻辑驱动器D:-RAID 10(6个物理驱动器)-DB文件/日志/ tempdb /备份? 要么 选项2: 逻辑驱动器C:-RAID 1(2个物理驱动器)-OS 逻辑驱动器D:-RAID 1(2个物理驱动器)-Db文件 逻辑驱动器E:-RAID 1(2个物理驱动器)-日志文件/备份? 逻辑驱动器F:-RAID 1(2个物理驱动器)-tempdb 要么 选项3: 其他建议? 我认为选项1会给我带来更好的性能,因为所有数据库活动都将在3个驱动器上进行条带化(并在阵列中的其他3个驱动器上进行镜像),尽管选项2似乎模仿了传统的观点(这似乎更适用于机械驱动器而不是SSD)。似乎选项1的堆栈溢出已消失。 我猜固态硬盘可以将所有东西都放在一个逻辑驱动器上,因为此时服务器可能受到更多CPU约束,而不是受I / O约束? 我还有一个问题是每晚备份应该放在哪里?我们不希望备份减慢SQL Server的其余部分的速度,并且我猜测将备份与日志写入相同的位置是一个好习惯,因为在这两种情况下,读/写行为都是顺序写入。

3
MySQL table_cache和Opened_tables
我已经看到人们使用Open_tables和Opened_tables的比较来评估table_cache在MySQL中是否太小。但是,我相信Opened_tables在正常运行时间内是累积的,因此这不是有效的比较。唯一需要注意的是,也许Opened_tables只会在未命中时发生碰撞-尽管即使每秒打开的表仍然很小,但逐渐增长它也不是问题。 如果将Open_tables与Opened_tables比较无效,是否还有另一种方法来获取测量数据? 这是在MySQL 5.0上,但也欢迎版本之间存在差异。

1
最佳的mysqldump设置是什么?[关闭]
已关闭。这个问题是基于观点的。它当前不接受答案。 想改善这个问题吗?更新问题,以便通过编辑此帖子以事实和引用的形式回答。 2年前关闭。 经过一番搜索后,我得到了以下设置: mysqldump\ --host=localhost\ --port=3306\ --databases ****\ --user=****\ --password=****\ --default-character-set=utf8\ --add-drop-database\ --add-drop-table\ --add-locks\ --complete-insert\ --extended-insert\ --lock-all-tables\ --create-options\ --disable-keys\ --quick\ --order-by-primary\ --set-charset\ --tz-utc\ > dump/test.sql 到目前为止,还不错,但是我对参数以及执行有一些疑问。 关于我的第一个问题,我只想确保所有这些都是必需的,并且一起使用时不会引起任何冲突。最终,我想制作一个非常健壮和一致的转储文件,其中包含数百万条记录,用于创建表,数据库和插入数据。好处是,使数据库暂时不可用对我来说不是问题。我唯一的目标是制作一个健壮且一致的转储文件。 关于我的第二场音乐会,我想知道如何在命令出错时得到通知,如果出错,则抛出异常。 有任何想法吗? 编辑 这是我根据RolandoMySQLDBA的反馈更新的mysqldump命令。 mysqldump\ --host=localhost\ --port=3306\ --databases ****\ --user=****\ --password=****\ --default-character-set=utf8\ --opt\ --single-transaction\ --routines\ --triggers\ --events\ --add-drop-database\ --add-drop-table\ --complete-insert\ --delayed-insert\ --tz-utc\ …


2
更多的CPU核心与更快的磁盘
我是一家小公司的一员,因此像往常一样担任许多不同的职务。最新的一项是为.NET Web应用程序购买专用的SQL Server盒。我们已经引用了双Xeon E5-2620(六核)2.00 GHz CPU配置(总共12核),32 GB的RAM。这使我们在磁盘阵列上的预算有限,它实际上由RAID 1配置中的两个2​​.5英寸SAS 300 GB驱动器(15k RPM)组成。 我知道磁盘设置对于SQL Server来说不是最佳选择,我真的很想推动RAID 10,因此我们可以将数据库,日志文件和tempdb放在自己的驱动器上。为了使它与我们的预算兼容,我应该考虑减少CPU内核数吗?还是我会为保留内核并使用更少的驱动器而付出更多的钱,也许在双RAID 1设置中可以使用4个? 以下是一些其他统计信息 SQL Server数据库倾向于大量读写操作,分别可能是80%和20%。当前的DB大​​小目前约为10 GB 26 GB,并且以每月250 MB的速度增长。 当前运行在与Web服务器共享的单个四核Xeon盒上的SQL Server 2008 R2 Standard(12 GB Ram,RAID 1中的2 x 10k 300GB SAS驱动器)上,希望迁移到SQL Server 2012 Standard。 数据库可以为大约100-150个并发用户提供一些后台调度任务。阅读这篇文章,我认为12个内核严重过头了! 我将整个应用程序部署到链接到SQL Azure DB的Azure云服务(2个小实例)。尽管在测试时性能是合理的(几乎为零负载),但由于我已经读了太多的不可预测性,所以我失去了在生产中使用的勇气。使用横向扩展方法可能会更好,但是只有10 GB的数据库,我现在可以避免扩展并节省一些现金。 我最初忽略了许可成本,却没有意识到SQL Server 2012许可是基于内核数量的。我有一个带有SQL Server 2012 Standard许可证的BizSpark MSDN订阅,因此我需要了解开箱即用的几个内核。


2
不测试一项功能还可以吗?
您是否在任何时候都对语言/数据库/系统如此熟悉,从而无需测试新功能/配置/查询/等。在系统中实施之前进行了包含/模拟的测试(特别是涉及修改数据的功能)?还是在测试环境中通过仿真测试新查询总是必不可少的吗? 为了进一步说明,很显然,测试始终是最安全的。但是,是否有办法确定何时风险很小,以至于不值得进行测试?措辞的另一种说法是:什么时候或曾经有专业的实践来承担实施功能的风险? 另外,我们假设所有内容都已备份,因此,在最坏的情况下,可以轻而易举地恢复数据。 有人可以引用特定的专家经验来解决此问题吗?请在适当/可能的地方提供参考。

1
SQL Server服务帐户Windows特权和权限
我的问题是,如果您为每个SQL Server进程创建一个新的域用户帐户,则应为每个帐户设置什么权限?还是SQL配置管理器实际上会解决这个问题,而我只是遇到了无法预料的问题? 我经常不得不设置Microsoft SQL Server,并且想知道是否有人可以提供有关配置服务应以其身份运行的帐户的建议。IMO已被Microsoft模糊地记录在案,尽管他们指出了正确的方向,但我从未找到任何具体的例子。 总结到目前为止我所看到的: 对于简单的部署\开发环境,可以使用安装程序使用的默认虚拟帐户: NT SERVICE\MSSQLSERVER 避免使用该SYSTEM帐户,这是不安全的。 对于生产环境和域环境,建议为每个服务使用托管服务帐户或创建域用户帐户(而非管理员)。据称,如果您在安装时使用域帐户,则安装程序将为您设置任何必需的权限。 如果将现有安装上的服务帐户从虚拟帐户更改为域帐户,建议使用SQL Server配置管理器设置新的服务帐户。据说这将为您设置任何必需的权限。 我只是尝试将现有安装中的服务帐户更改为域帐户,这会导致登录失败,直到我授予该帐户log on as service权限为止,这与SQL Server配置管理器将设置任何必需权限的部分相矛盾。(尽管我不确定GPO是否会干扰设置此本地安全策略) Microsoft确实在此页面上提供了SQL Server安装程序授予的权限列表。 但是我不清楚这是否是我应该为创建该用户以运行该服务的用户手动执行的操作,还是使用SQL配置管理器是否应自动设置这些权限。 SQL Server 2014域控制器位于Windows Server 2008 R2上。

2
改用ARITHABORT ON的风险
我正在与一家供应商合作,安排他们提供核心应用程序,只要不修改核心应用程序,我就可以构建自己的扩展。它内置在ColdFusion中,可连接到SQL Server 2005数据库。 我构建的某些报告依赖于使用从核心表计算出的函数的视图,并且随着表的增大,报告变得非常慢。为了加快报告速度,我想使用索引视图。但是,在我的测试环境中创建了索引视图之后,核心应用程序无法再插入到核心表中(它返回了一条错误消息,这ARITHABORT是ON使用索引视图时所必需的)。 因此,似乎为了使用索引视图,SET ARITHABORT ON每当插入/更新核心表时,我都需要拥有核心应用程序。我在测试环境中运行了此命令: ALTER DATABASE MyDatabase SET ARITHABORT ON; 而且似乎工作正常。但是我的供应商说,由于应用程序具有成千上万的查询,因此该设置可能会中断其中一个查询,并且如果将来出现一些意外的数据库问题,他们会坚持要求我恢复默认设置。 是否有实际的查询会被打破SET ARITHABORT ON?在任何情况下都最好保留它OFF? TL; DR为了使新的索引视图生效,我需要ARITHABORT ON为整个数据库进行设置,但是我的供应商警告说,这将由我自己承担风险。实际上有风险吗?


5
有没有MySQL基准测试工具?[关闭]
关闭。这个问题是题外话。它当前不接受答案。 想改善这个问题吗? 更新问题,使它成为数据库管理员Stack Exchange 的主题。 5年前关闭。 我很久以前就听说过,有这个工具可以帮助您tweek mysql设置以获得更好的性能,但是我无法找到它。我知道我可以使用ab for apache来模拟高流量,这会生成缓慢的日志。但是,如果崩溃(已经发生并且处于生产模式),我不知道为什么崩溃以及是否可以从配置中删除它。

3
更改maxrecursion的系统范围默认值
如何更改系统范围的默认值MAXRECURSION? 默认情况下为100,但是我需要将其增加到1000。 我无法使用查询提示,因为我使用的程序会接受我的查询并为我执行查询,但是不幸的是,我无法解决此限制。 但是,我确实对服务器实例具有管理员权限。我在服务器方面进行了摸索,但没有看到与查询选项或递归相关的任何信息。我假设有有是一个某处在那里我可以更新系统范围内的默认。 有任何想法吗?

2
无法配置或启动MySQL
在全新的Kubuntu 14.04安装中,我运行了sudo aptitude install mysql-server-core-5.6。由于某些KDE软件包对的依赖关系,无法完成安装mysql-server-core-5.5,而这些软件包已被替换。现在,当我运行时,sudo aptitude install mysql-server-5.5在指定密码后出现此错误: Configuring mysql-server-5.5 Unable to set password for the MySQL "root" user An error occurred while setting the password for the MySQL administrative user. This may have happened because the account already has a password, or because of a communication problem with the …

2
动态更改为innodb_flush_log_at_trx_commit
这与这个问题有关。它确实有助于为InnoDB表获得更好的性能。 根据MySQL手册,innodb_flush_log_at_trx_commit是全局动态变量。因此,我可以使用SET GLOBAL命令更改它,但它似乎正在工作。 mysql> SET GLOBAL innodb_flush_log_at_trx_commit=2; Query OK, 0 rows affected mysql> SHOW VARIABLES LIKE 'innodb_flush_log_at_trx_commit'; +--------------------------------+-------+ | Variable_name | Value | +--------------------------------+-------+ | innodb_flush_log_at_trx_commit | 2 | +--------------------------------+-------+ 1 row in set 但是,它并没有改变实际的MySQL设置。当我更新my.cnf并重新启动MySQL服务器时,它确实起作用了。因此,我不能在运行时更改全局变量吗? 我更喜欢默认值innodb_flush_log_at_trx_commit=1,但是我需要将其更改为2,然后才能运行恢复过程以使大型数据库更快地运行。但是,当过程完成后,我想将值更改回1。是否可以在运行时执行此操作? 我没有访问共享托管服务器上的my.cnf的权限。

3
在SSMS结果网格,对象资源管理器和其他窗口上使用深色主题
有几种方法可以在SSMS主编码窗口上使用“深色主题”,即导入vsettings文件,应用在配置文件上禁​​用的深色主题或手动执行。但是所有这些选项都不会影响“网格结果”,“对象资源管理器”和其他窗口。除了编码之一,这两个是我主要使用的。 我尝试了通常的“ 工具”>“选项”>“环境”>“字体和颜色”,然后在“ 显示设置 ”组合框上选择: “选项网格结果”,“ 白色”用于“ 项目前景”,“ 黑色”用于“ 项目背景”。保存并重新启动的SSMS,但仅文本为白色,背景仍为白色。 对正在发生的事情或如何做有任何想法吗?我找不到如何在对象资源管理器中执行此操作。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.