在过去的一年中,我们遇到了许多不同的查询同时失败并出现以下错误(或不同资源调控器组中的变体)的情况:资源池“默认”中的系统内存不足,无法运行此错误询问。
最近我们越来越频繁地遇到它。关于导致问题的原因以及如何解决的任何想法?
@@version 返回:
Microsoft SQL Server 2012 (SP3) (KB3072779) - 11.0.6020.0 (X64) 2015 年 10 月 20 日 15:36:27 版权所有 (c) Microsoft Corporation 企业版:Windows NT 6.1(内部版本 7601)上的基于核心的许可(64 位) : 服务包 1)
全部同时发生的示例错误:
Error: 701, Severity: 17, State: 54.
There is insufficient system memory in resource pool 'default' to run this query.
Error: 701, Severity: 17, State: 123.
There is insufficient system memory in resource pool 'dm' to run this query.
Error: 701, Severity: 17, State: 89.
There is insufficient …Run Code Online (Sandbox Code Playgroud) 我突然发现发现我的 PostgreSQL 空间不足。它是在 ram 磁盘上运行的 tmp 实例。允许的空间有限(约 800M)。数据实际上并没有存储在上面,所有的表都会在一些计算完成后被删除。
我检查了文件夹,在基本文件夹下发现了大量数据:
$ du -h 6.0M ./pgsql_tmp 706M ./16384 6.0M ./12780 6.0M ./12772 6.0M ./1 730M。
我的问题是:
目前,我们有许多处于完全恢复模式的数据库。这是一个有意识的决定。
我们还每 15 分钟运行一次事务日志备份。
但是我们只在人们使用数据库的时间运行事务日志备份,即早上 7 点到晚上 8 点之间。
我的问题是:
我需要一个解决方案来监视表权限更改:
我在 PostgreSQL 文档中看到了以下查询。不幸的是,我不明白加入标准。
create temp table tmp_stat_user_tables as select * from pg_stat_user_tables;
select * from pg_stat_user_tables n
join tmp_stat_user_tables t
on n.relid=t.relid
and (n.seq_scan,n.idx_scan,n.n_tup_ins,n.n_tup_upd,n.n_tup_del) <>
(t.seq_scan,t.idx_scan,t.n_tup_ins,t.n_tup_upd,t.n_tup_del);
Run Code Online (Sandbox Code Playgroud)
我需要如何理解 JOIN 子句?
这些表的用途以及第一个查询在做什么对我来说很清楚。
我有一个由不同公司维护的云托管数据库。这是我的场景:
如何关闭整个数据库、模式和数据,并保持我的本地数据库实时更新?
编辑:我能够从托管公司运行脚本,因此我可以创建数据库以及架构和初始数据。
最重要的问题是如何让数据保持实时同步?现在,我正在考虑在 SQL 中执行一系列作业来查询链接服务器数据库,如下所示:
insert into local_table_1
select * from linkedserver_table1
except
select * from local_table_1
Run Code Online (Sandbox Code Playgroud)
问题是,它效率不高,并且不会提取任何更新的记录。我们确实有一个“Updated_date”字段。如何更新本地服务器,从链接服务器中选择所有记录,并更新本地数据库?
ALTER TABLE sample62 CHANGE newcol c;
Run Code Online (Sandbox Code Playgroud)
这段代码让我抓狂。我只是按照我的书去做。
节目说
您的 SQL 语法有错误;检查与您的 MySQL 服务器版本相对应的手册,了解在第 1 行 '' 附近使用的正确语法。
我的MySQL版本是5.7。你能帮我么?
我在哪里可以找到查询计划可能包含在 PostgreSQL 中的可能节点类型(例如 Seq scan、groupAggregate、Nested loop ...)的详尽列表?
我首先收到以下所有错误:
ORA-12162: TNS:net 服务名称指定不正确
当我导出 ORACLE_SID 时,我可以运行任何命令,但出现以下错误:
连接到空闲实例
12C 中的 ALERTLOG 文件在哪里?
我在 ORACLE_HOME/log 文件夹中看不到任何文件。我正在使用 ubuntu 14.04 顺便说一句。
我想要一个可以在所有数据库上读取、写入和查看定义的 SQL Server 登录名。
做完之后:
USE master;
GRANT VIEW ANY Definition TO [a];
Run Code Online (Sandbox Code Playgroud)
看起来我必须授予连接并读取/写入每个数据库。
没有更简单的方法吗?
sql-server ×5
postgresql ×3
permissions ×2
backup ×1
memory ×1
monitoring ×1
mysql ×1
oracle ×1
role ×1