标签: windows

在专用数据库服务器上,要为操作系统保留多少内存?

假设您有一个明确用于数据库功能的专用服务器——您应该为操作系统保留多少内存?

我意识到这可能会有所不同,具体取决于特定的操作系统、特定的数据库软件等。但是,由于内存对数据库性能非常重要,我希望数据库具有最大合理级别的内存,而不会使主机操作系统挨饿。

所以

  • 什么是好的经验法则?
  • 我们应该查看哪些计数器或性能指标来确定我们是否走得太远并且主机操作系统是否以某种方式被数据库饿死?

sql-server windows memory

39
推荐指数
4
解决办法
7730
查看次数

忘记 PostgreSQL Windows 密码

今天早上我一直在尝试连接 Windows 7 Professional 桌面上的 PostgreSQL 数据库。

默认值是“postgres”,但果然我忘记了最初安装时使用的密码。

我用谷歌搜索并找到了一篇与重置密码相关的帖子。我按照步骤操作,但最终结果与帖子中提到的有点不同。我用了-

net user postgres postgres
Run Code Online (Sandbox Code Playgroud)

为我的数据库重置密码,但我收到的不是成功消息:

“发生系统错误 5。访问被拒绝。”

系统错误。如何避免此错误并重置密码?

postgresql authentication windows password-recovery postgresql-9.1

38
推荐指数
1
解决办法
18万
查看次数

MySQL 在磁盘上创建临时表。我该如何阻止?

我们正在运行一个网站(Moodle),用户目前发现它很慢。我想我已经将问题追溯到 MySQL 在磁盘上创建临时表。我created_tmp_disk_tables在 Mysql Workbench 服务器管理中观察了这个变量,这个数字以大约 50 个表/秒的速度增加。经过一天的使用,created_tmp_disk_tables是> 100k。此外,内存似乎没有被释放。使用量不断增加,直到系统变得几乎无法使用,我们必须重新启动 MySQL。我几乎每天都需要重新启动它,从使用大约 30-35% 的可用内存开始,并以 80% 结束一天。

我在数据库中没有 blob,也无法控制查询,因此我无法尝试优化它们。我还使用了Percona 配置向导来生成配置文件,但是 my.ini 也没有解决我的问题。

问题

  1. 我应该更改什么来阻止 MySQL 在磁盘上创建临时表?我需要更改哪些设置?我应该给它扔更多的内存吗?

  2. 如何阻止 MySQL 占用我的内存?

编辑

我启用了slow_queries日志并发现查询SELECT GET_LOCK() 被记录为缓慢。快速搜索显示我在 PHP 配置 ( mysqli.allow_persistent = ON) 中允许持久连接。我关掉了这个。这降低了 MySQL 消耗内存的速度。它仍然在创建临时表。

我还检查了它key_buffer size是否足够大。我看着变量key_writes。这应该为零。如果没有,请增加key_buffer_size.I 有零key_reads和零,key_writes因此我认为key_buffer_size足够大。

我将tmp_table_sizemax-heap-table-size增加到 1024M,因为 created_tmp_disk_tables 的增加可能表明这些表无法放入内存。这并没有解决它。

参考:http : //www.mysqlperformanceblog.com/2007/08/16/how-much-overhead-is-caused-by-on-disk-temporary-tables/

编辑 2

如果您sort_merge_passes …

mysql performance windows database-tuning temporary-tables

32
推荐指数
2
解决办法
9万
查看次数

尝试导入的文件中的权限被拒绝

当我尝试使用\i不在 psql.exe 文件夹中的文件时,它会显示C:: permission denied. 例如,我有一个带有 SQL 命令的文件,C:\Users\Work\Desktop\School Work\load_database.sql当我输入\i "C:\Users\Work\Desktop\School Work\load_database.sql"它时,它说C:: permission denied. 我怎样才能解决这个问题?

我在这里找到了一个解决方法,您可以将 .sql 文件复制到与 psql.exe 所在的文件夹相同的文件夹中。

顺便说一句,\i代表进口吗?

postgresql windows permissions

26
推荐指数
2
解决办法
8万
查看次数

Windows 2008R2 上 SQL 2008R2 的推荐页面文件大小

这篇 Microsoft 文章 -如何确定 64 位版本的 Windows Server 2008 和/或 Windows 2008 R2 的适当页面文件大小提供了计算 64 位 Windows 2008 和 Windows 2008R2 的页面文件大小的指南。这无疑适用于通用服务器。我想知道在 Windows 2008/R2 64 位上运行的 SQL Server 2008R2 的指导是什么?

我假设我们希望内存中的数据尽可能少地访问页面文件,否则 SQL 可能会访问磁盘两次以获取数据。SQL Server 甚至允许内存中的数据访问页面文件吗?我已经通过SQL Server 2008 R2 联机丛书寻找指导,但还没有发现任何关于页面文件使用的提及。

这是一个潜在的使用场景:给定一个具有 64GB RAM 的物理服务器,整个 64GB RAM 是否需要一个页面文件?我们应该为 96GB 的页面文件做好准备吗?对于单个文件来说,这似乎有点过分。我知道传统观点是,Windows 将页面文件与内存结合起来,以尝试在 RAM 上更轻松地交换应用程序,但这是真的吗?小于 64GB 的页面文件会影响性能吗?

sql-server-2008 sql-server windows memory

25
推荐指数
2
解决办法
5万
查看次数

更改现有数据目录路径

我想更改文件中的datadir路径my.ini

现有的datadir路径是C:/ProgramData/MySQL/MySQL Server 5.1/Data/

我的C:驱动器大小为 30 GB,MySQL 数据文件夹占用 25 GB。所以我想datadirF:/naveen/data.

这可能吗?

我的机器运行的是Windows Server 2003

mysql windows mysql-5.1

24
推荐指数
1
解决办法
7万
查看次数

无法打开表 mysql/innodb_index_stats

在全新安装 XAMPP 并从我的 linux live db 导入到 windows 开发阶段后,我开始遇到INSERT. 其他一切似乎都运行良好。

我得到的错误mysql_error.log是:

2013-08-15 12:44:49 16c0 InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
2013-08-15 12:44:49 16c0 InnoDB: Recalculation of persistent statistics requested for table "sizaradb"."pages" but the required persistent statistics storage is not present or is corrupted. Using transient stats instead.
2013-08-15 12:44:59 16c0 InnoDB: Error: Table "mysql"."innodb_table_stats" not found.
2013-08-15 12:44:59 16c0 InnoDB: Recalculation of persistent statistics requested for table "sizaradb"."translations" but the required persistent statistics storage is …
Run Code Online (Sandbox Code Playgroud)

mysql innodb windows linux mysql-5.6

19
推荐指数
2
解决办法
8万
查看次数

如何在 Postgres 中每小时做一次增量备份?

尝试对单个 Postgres 服务器(Win7 64)进行每小时增量备份。

我有以下设置postgresql.conf

max_wal_senders = 2
wal_level       = archive
archive_mode    = on
archive_command = 'copy "%p" "c:\\postgres\\foo\\%f"'
Run Code Online (Sandbox Code Playgroud)

(重新开始)

我做了一个基本备份 pg_basebackup -U postgres -D ..\foo -F t -x

它在base.tar文件foo夹中创建了一个大文件并添加了一些 16,384 KB 的文件,我认为这些文件是 WAL。

我不明白的是为什么 WALfoo不会改变data/pg_xlog变化中的 WAL 。pg 不应该复制它们吗?它是如何决定这样做的?

也许我需要设置archive_timeout=3600

我见过几个站点(pg 的邮件列表、bacula 的 postgres 页面)说您需要调用 pg_start_backup() 和 pg_stop_backup(),但我相信这些不是必需的。真的吗?

次要问题:

  1. 多久data/pg_xlog写入一次 WAL ?什么触发写入?

    如果我\q在 psql 中执行一些 DML,它似乎会更新 WAL 。或者在 pgAdmin 中编辑一个表,然后关闭窗口。我认为它会在提交时写入。

  2. 最佳实践?pg_basebackup 每周一次?将 …

postgresql backup windows postgresql-9.4

18
推荐指数
2
解决办法
2万
查看次数

如何在 Windows 上重置 PostgreSQL 的 postgres 密码?

我已经在我的 Windows 机器上安装了 PostgreSQL 进行开发。现在好久没用了,忘记了用户密码postgres(PostgreSQL默认admin用户)。如何postgres在 Windows 上重置PostgreSQL的密码?


我遵循 Milen 的建议,但在尝试重新加载配置文件时收到此消息:

C:\Program Files\PostgreSQL\9.1\data>pg_ctl reload -D .
pg_ctl: could not send reload signal (PID: 3396): Operation not permitted
Run Code Online (Sandbox Code Playgroud)

在 Windows 中有一个菜单选项“重新加载配置”效果更好,如下所示:

在此处输入图片说明

postgresql windows password-recovery

17
推荐指数
1
解决办法
10万
查看次数

将 SSMS 连接到集成服务时出现“访问被拒绝”

尝试使用特定 SQL Server 群集的网络名称将 SSMS 连接到 Integration Services 时收到以下错误:

连接到计算机 'FooDB' 上的 Integration Services 服务失败,出现以下错误:“访问被拒绝”。

如果计算机尚未配置为允许通过 DCOM 进行远程连接,或者用户确实有权通过 DCOM 访问 SQL Server Integration Services 服务,则会发生此错误。

这是一个有据可查的解决方案的常规问题。例如,请参阅此处此处的解决方案。

但是,我已经尝试了我所知道的所有解决方案,但问题仍然存在。

更详细地说,我做了以下工作:

  • 验证连接的用户是否具有以上 MsDtsServer100 上链接的文章中列出的 DCOM 权限:

    1. 启动和激活权限:允许本地启动、允许远程启动、本地激活、远程激活

    2. 访问权限:允许本地访问,允许远程访问

    3. 配置权限:允许读取

  • 使用数据包嗅探器确认与连接相关的所有流量都成功通过了防火墙。在 TCP 连接断开之前显示的最后一个数据包是来自服务器的回复,其中包含 MSRPC 标头中“拒绝访问”的 Windows 状态代码。

  • 测试将用户添加到“分布式 COM 用户”组和/或本地管理员组,然后重新启动服务器。这允许用户使用本地节点名称(FooDBN1、FooDBN2)从 SSMS 连接到 SSIS,但是在连接到集群网络名称(FooDB)时,他们仍然会收到“访问被拒绝”错误,这是他们的习惯使用,以及什么对我们的其他集群有效。

此外,我还没有发现在其他集群上更改这些组的成员身份是必要的。

在我检查过的其他集群上,我可以使用集群名称将 SSMS 连接到 SSIS,无需任何非默认配置。

我意识到这可能更适合 ServerFault,如果需要,可以迁移问题,但这也是一个 SQL Server 问题,我认为这里的用户之前可能更可能处理过它。

平台详情:

  • Windows Server 2008 R2 SP1
  • SQL Server 2008 R2 SP2
  • 具有单个 SQL Server 实例的 2 节点主动-被动群集 …

sql-server windows permissions clustering ssis

17
推荐指数
1
解决办法
2万
查看次数