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
    • 最新
    • 标签
主页 / dba / 问题

问题[connections](dba)

Martin Hope
Ronaldo
Asked: 2022-04-27 08:09:15 +0800 CST

如何根据 SQL Server 上默认未列出的验证创建全新警报?

  • 0

我想创建一个警报,就像 Brent Ozar 的How to Configure SQL Server Agent Alerts中的警报一样,但是我找不到与我想在 sys.messages 上监视的错误相关的消息,正如sp_add_alert文档所说的那样,我想要的问题监控没有产生任何记录的错误。如果我只使用sp_addmessage,我相信我仍然缺少触发错误的验证。如果我创建一个作业来进行验证,我不需要警报,因为该作业可以自己发送电子邮件。

创建新警报的正确方法是什么?

背景

最近,我环境中的应用程序开始无法在 SQL Server 上连接,我们花了一些时间才注意到问题是由于实例达到了实例的 32k 限制(SQL Server 最多允许 32,767 个用户连接)。连接吞噬者是一个配置错误的应用程序,开发人员现在已经纠正了它,但我不想再次感到惊讶,因为其他一些应用程序导致了同样的情况,因此需要警报。当连接数达到 10K 之类的限制时发出警报会很好,但如果达到 32K 限制就发出警报会有所帮助。

sql-server connections
  • 2 个回答
  • 36 Views
Martin Hope
Tsunani
Asked: 2021-11-11 07:02:49 +0800 CST

更改 max_connections Postgresql

  • -3

如何在不重新启动服务 Postgresql 的情况下更改 Postgresql.conf 上的 max_connections?Systemctl reload postgresql.service 不适用于此配置。

postgresql connections
  • 2 个回答
  • 905 Views
Martin Hope
Marko Skokovic
Asked: 2021-08-27 00:34:07 +0800 CST

Azure Data studio - 连接到同一网络中的服务器 - 错误:收到的证书已过期

  • 2

我正在尝试使用 Azure Data Studio 连接到我的网络上的 SQL 服务器,但出现错误:

与服务器成功建立连接,但在登录过程中出现错误。(提供者:SSL 提供者,错误:0 - 收到的证书已过期。)

连接通过 SSMS 工作,我是该服务器上的 db_datareader。

Azure Data Studio 版本为 1.30.0

错误的详细信息:

Microsoft.Data.SqlClient.SqlException (0x80131904):与服务器建立连接成功,但随后在登录过程中出错。(提供者:SSL Provider,错误:0 - 收到的证书已过期。)---> System.ComponentModel.Win32Exception (0x80090328):收到的证书已过期。在 Microsoft.Data.SqlClient.SqlInternalConnection.OnError(SqlException 异常,布尔 breakConnection,操作 1 wrapCloseInAction)在 Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj,布尔调用者HasConnectionLock,布尔 asyncClose)在 Microsoft.Data.SqlClient.TdsParserStateObject。在 Microsoft.Data.SqlClient.TdsParserStateObject.SNIWritePacket(PacketHandle 数据包,UInt32 和 sniError,

sql-server-2016 connections
  • 1 个回答
  • 979 Views
Martin Hope
uncaged
Asked: 2020-10-19 17:12:35 +0800 CST

MultiSubnetFailover=true 对于 SQL Server 以外的 DBMS

  • 0

SQL Server 的连接字符串可以包含 MultiSubnetFailover=true,以处理多个 DNS A 记录,让客户端尝试连接到域(或子域)名称的每个 IP 地址,以访问当前主服务器(Always On 可用性组) .

这是否适用于其他 DBMS,如 MySQL?如果没有,是否有等价物?

dbms connections
  • 1 个回答
  • 140 Views
Martin Hope
SweetPotato
Asked: 2020-06-11 02:47:03 +0800 CST

为什么我使用 1 个客户端时有 2 个连接?

  • 0

命令:

select * from pg_stat_activity

显示所有当前活动的连接。该数据库由 AWS RDS 托管,我正在使用 pgAdmin 4 访问数据库,因此我希望有一个连接不是我的,那就是 rdsadmin,但似乎我有 2 个连接。

输出: 在此处输入图像描述

为什么我在使用一个客户端时有两个连接?

postgresql connections
  • 1 个回答
  • 31 Views
Martin Hope
doeeehunt
Asked: 2020-02-19 05:18:26 +0800 CST

对大型数据库的查询会终止与服务器的连接,与 LIMIT 一起使用

  • 1

我正在尝试在大型数据库上运行查询而不终止与服务器的连接。

我在具有 16gb 内存和大约 40gb 可用磁盘的 mac 上使用 Postgres 12.1。数据库为 78gb,pg_database_size根据 do 最大表为 20gb pg_total_relation_size。

无论我运行哪个非工作查询,我(从日志中)得到的错误是:

server process (PID xxx) was terminated by signal 9: Killed: 9

在 VS 代码中,错误是"lost connection to server".

两个不起作用的例子是:

UPDATE table
SET column = NULL
WHERE column = 0;
select columnA
from table1
where columnA NOT IN (
select columnB
from table2
);

LIMIT我可以通过添加例如1,000,000来运行一些查询(例如上面的查询) 。

我怀疑由于临时文件而导致磁盘不足,但在日志中(带有log_temp_files = 0),我看不到任何正在写入的临时文件。

我尝试增加和减少work_mem, maintenance_work_mem,shared_buffers和temp_buffers. 没有工作,性能大致相同。

我尝试删除所有索引,这降低了某些查询的“成本”,但它们仍然终止了与服务器的连接。

什么可能是我的问题,我该如何进一步解决这个问题?

此外,我读到来自超时查询的临时文件存储在 pqsql_tmp 中。我检查了文件夹,它没有很大的文件。临时文件可以存储在其他地方吗?


运行失败查询的 posgtres 日志如下所示:

2020-02-17 09:31:08.626 CET [94908] LOG:  server process (PID xxx) was terminated by signal 9: Killed: 9
2020-02-17 09:31:08.626 CET [94908] DETAIL:  Failed process was running: update table
        set columnname = NULL
        where columnname = 0;

2020-02-17 09:31:08.626 CET [94908] LOG:  terminating any other active server processes
2020-02-17 09:31:08.626 CET [94919] WARNING:  terminating connection because of crash of another server process
2020-02-17 09:31:08.626 CET [94919] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exi$
2020-02-17 09:31:08.626 CET [94919] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2020-02-17 09:31:08.626 CET [94914] WARNING:  terminating connection because of crash of another server process
2020-02-17 09:31:08.626 CET [94914] DETAIL:  The postmaster has commanded this server process to roll back the current transaction and exi$
2020-02-17 09:31:08.626 CET [94914] HINT:  In a moment you should be able to reconnect to the database and repeat your command.
2020-02-17 09:31:08.629 CET [94908] LOG:  all server processes terminated; reinitializing
2020-02-17 09:31:08.698 CET [94927] LOG:  database system was interrupted; last known up at 2020-02-17 09:30:57 CET
2020-02-17 09:31:08.901 CET [94927] LOG:  database system was not properly shut down; automatic recovery in progress
2020-02-17 09:31:08.906 CET [94927] LOG:  invalid record length at 17/894C438: wanted 24, got 0
2020-02-17 09:31:08.906 CET [94927] LOG:  redo is not required

EXPLAIN在第二个示例查询上运行返回:

Seq Scan on gas_prices_all p  (cost=459.93..5635583.33 rows=128975016 width=16)
  Filter: (NOT (hashed SubPlan 1))
  SubPlan 1
    ->  Seq Scan on gas_station g  (cost=0.00..423.14 rows=14714 width=16)
JIT:
  Functions: 13
  Options: Inlining true, Optimization true, Expressions true, Deforming true

FWIW 对于“成本”大约为零的查询,我得到了同样的错误。


更新:我发现了今天早些时候的崩溃报告:

Process:               postgres [41042]
Path:                  /Users/USER/*/postgres
Identifier:            postgres
Version:               0
Code Type:             X86-64 (Native)
Parent Process:        postgres [40107]
Responsible:           postgres [41042]
User ID:               502

Date/Time:             2020-02-18 11:16:26.210 +0100
OS Version:            Mac OS X 10.14.5 (18F132)
Report Version:        12
Anonymous UUID:        F41CCD21-C558-6CB0-316D-D1FF3E279576

Sleep/Wake UUID:       5F08EAEC-373A-4D19-A243-E812E68D2697

Time Awake Since Boot: 1600000 seconds
Time Since Wake:       5700 seconds

System Integrity Protection: enabled

Crashed Thread:        0  Dispatch queue: com.apple.main-thread

Exception Type:        EXC_BAD_ACCESS (Code Signature Invalid)
Exception Codes:       0x0000000000000032, 0x00000001044c4060
Exception Note:        EXC_CORPSE_NOTIFY

Termination Reason:    Namespace CODESIGNING, Code 0x2

kernel messages:

VM Regions Near 0x1044c4060:
    __LINKEDIT             0000000104466000-00000001044c4000 [  376K] r--/rw- SM=COW  /Users/USER/*/*.dylib
--> VM_ALLOCATE            00000001044c4000-00000001044c5000 [    4K] r-x/rwx SM=ZER  
    VM_ALLOCATE            00000001044c5000-00000001044c6000 [    4K] rw-/rwx SM=ZER  

Application Specific Information:
crashed on child side of fork pre-exec

Thread 0 Crashed:: Dispatch queue: com.apple.main-thread
0   ???                             0x00000001044c4060 0 + 4367073376
1   postgres                        0x0000000103798851 ExecAgg + 1185 (executor.h:308)
2   postgres                        0x0000000103785d0f standard_ExecutorRun + 287 (execMain.c:1652)
3   postgres                        0x0000000103789c4e ParallelQueryMain + 670 (execParallel.c:1405)
4   postgres                        0x00000001036520ce ParallelWorkerMain + 1054 (parallel.c:1434)
5   postgres                        0x000000010385bec5 StartBackgroundWorker + 533 (bgworker.c:834)
6   postgres                        0x000000010386acb9 maybe_start_bgworkers + 1161
7   postgres                        0x00000001038696c5 sigusr1_handler + 357 (postmaster.c:5167)
8   libsystem_platform.dylib        0x00007fff76195b5d _sigtramp + 29
9   ???                             0x0000000000003200 0 + 12800
10  postgres                        0x00000001037d54ae main + 1678
11  libdyld.dylib                   0x00007fff75faa3d5 start + 1

Thread 0 crashed with X86 Thread State (64-bit):
  rax: 0x00000001044c4060  rbx: 0x00007f98b9045600  rcx: 0x00000001072c48d8  rdx: 0x00007ffeec6242f4
  rdi: 0x00007f98b9047520  rsi: 0x00007f98b9045fc0  rbp: 0x00007ffeec624320  rsp: 0x00007ffeec624288
   r8: 0x00000000014bafca   r9: 0xffffffff00000000  r10: 0x00000001072c48d0  r11: 0x0000000000000005
  r12: 0x0000000103c51220  r13: 0x00007f98b9047510  r14: 0x00007f98b9045fc0  r15: 0x00007f98b90459a0
  rip: 0x00000001044c4060  rfl: 0x0000000000010246  cr2: 0x00000001044c4060

Logical CPU:     0
Error Code:      0x00000015
Trap Number:     14


Binary Images:
      **lots of stuff**

External Modification Summary:
  Calls made by other processes targeting this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by this process:
    task_for_pid: 0
    thread_create: 0
    thread_set_state: 0
  Calls made by all processes on this machine:
    task_for_pid: 134420121
    thread_create: 0
    thread_set_state: 0

VM Region Summary:
ReadOnly portion of Libraries: Total=398.8M resident=0K(0%) swapped_out_or_unallocated=398.8M(100%)
Writable regions: Total=4.2G written=0K(0%) resident=0K(0%) swapped_out=0K(0%) unallocated=4.2G(100%)

                                VIRTUAL   REGION 
REGION TYPE                        SIZE    COUNT (non-coalesced) 
===========                     =======  ======= 
Kernel Alloc Once                    8K        1 
MALLOC                            81.0M       19 
MALLOC guard page                   16K        3 
MALLOC_LARGE (reserved)             72K        2         reserved VM address space (unallocated)
STACK GUARD                       56.0M        1 
Stack                             8192K        1 
VM_ALLOCATE                        4.1G        4 
__DATA                            18.0M      200 
__FONT_DATA                          4K        1 
__LINKEDIT                       232.2M       11 
__TEXT                           166.6M      199 
__UNICODE                          564K        1 
mapped file                         64K        1 
shared memory                      552K        6 
===========                     =======  ======= 
TOTAL                              4.7G      450 
TOTAL, minus reserved VM space     4.7G      450 

我可以在日志中找到两件可能很有趣的事情:

2020-02-18 19:01:52.044375+0100  localhost kernel[0]: CODE SIGNING: process 51528[postgres]: rejecting invalid page at address 0x1100c1000 from offset 0x0 in file "<nil>" (cs_mtime:0.0 == mtime:0.0) (signed:0 validated:0 tainted:0 nx:0 wpmapped:1 dirty:0 depth:0)
2020-02-18 19:01:52.044805+0100  localhost ReportCrash[52560]: unknown nested kcdata type: 0x1004, size: 2108
2020-02-18 19:01:55.268060+0100  localhost ReportCrash[52560]: (CrashReporterSupport) Saved crash report for postgres[51528] version 0 to postgres_2020-02-18-190155_MacBook-Pro.crash
2020-02-18 19:01:55.273159+0100  localhost ReportCrash[52560]: (CrashReporterSupport) Removing excessive log: postgres_2020-02-18-190155_MacBook-Pro.crash
2020-02-18 19:01:55.274208+0100  localhost ReportCrash[52560]: shouldDisplayUnexpectedlyQuitNotification is NO

更新:我运行了第二个 exaple 查询(上面),LIMIT直到它从工作(LIMIT2,200,000)到终止与服务器的连接(LIMIT2,300,000)。EXPLAIN ANALYZE关于LIMIT2,200,000 的查询是:

Limit  (cost=459.93..96581.42 rows=2200000 width=16) (actual time=13.228..38573.440 rows=2200000 loops=1)
  ->  Seq Scan table1  (cost=459.93..5635583.33 rows=128975016 width=16) (actual time=13.227..38374.070 rows=2200000 loops=1)
        Filter: (NOT (hashed SubPlan 1))
        Rows Removed by Filter: 139729529
        SubPlan 1
          ->  Seq Scan on table2  (cost=0.00..423.14 rows=14714 width=16) (actual time=0.350..6.925 rows=14714 loops=1)
Planning Time: 0.138 ms
Execution Time: 38685.762 ms

EXPLAIN在LIMIT2,300,000 上是:(EXPLAIN ANALYZE在这里崩溃)

Limit  (cost=459.93..100950.58 rows=2300000 width=16)
  ->  Seq Scan on table1  (cost=459.93..5635583.33 rows=128975016 width=16)
        Filter: (NOT (hashed SubPlan 1))
        SubPlan 1
          ->  Seq Scan on table2  (cost=0.00..423.14 rows=14714 width=16)
JIT:
  Functions: 14
  Options: Inlining false, Optimization false, Expressions true, Deforming true

我正在读这篇文章,因为 JIT 在这里踢,这是有道理的给jit_above_cost定(默认)设置为 100,000。所以也许问题出在 JIT 上?


更新 2:使用jit=off第二个示例查询有效,并且也是 ca。快两倍。这怎么可能以及什么可能导致 JIT 在我的系统上出现问题?

postgresql connections
  • 2 个回答
  • 2797 Views
Martin Hope
rawmain
Asked: 2020-02-18 00:38:15 +0800 CST

应该为 1000 个用户的 Jira 系统设置多少池连接大小?

  • 1

对于 Jira 系统,如果使用 Jira 的默认连接配置如下:

<?xml version="1.0" encoding="UTF-8"?>

<jira-database-config>
  <name>defaultDS</name>
  <delegator-name>default</delegator-name>
  <database-type>postgres72</database-type>
  <schema-name>public</schema-name>
  <jdbc-datasource>
    <url>jdbc:postgresql://[IP]:5432/jiradb</url>
    <driver-class>org.postgresql.Driver</driver-class>
    <username>jiradbuser</username>
    <password>{PASSWORD}</password>
    <pool-min-size>20</pool-min-size>
    <pool-max-size>20</pool-max-size>
    <pool-max-wait>30000</pool-max-wait>
    <validation-query>select 1</validation-query>
    <min-evictable-idle-time-millis>60000</min-evictable-idle-time-millis>
    <time-between-eviction-runs-millis>300000</time-between-eviction-runs-millis>
    <pool-max-idle>20</pool-max-idle>
    <pool-remove-abandoned>true</pool-remove-abandoned>
    <pool-remove-abandoned-timeout>300</pool-remove-abandoned-timeout>
    <pool-test-on-borrow>false</pool-test-on-borrow>
    <pool-test-while-idle>true</pool-test-while-idle>
  </jdbc-datasource>
</jira-database-config>

在 postgresql 的配置文件中:

postgresql.conf

max_connections = 300
shared_buffers = 80MB

在 /etc/sysctl.conf 文件中:

kernel.shmmax=100663296

在测试阶段,它可以工作。但是在生产环境中,1000个用户使用这个系统,如果一个app server服务500个用户,那么在postgresql.conf文件中设置多少pool connection size比较好呢?而且,如果使用 pgbouncer,它可以减少多少连接?

postgresql connections
  • 1 个回答
  • 1051 Views
Martin Hope
Code Novice
Asked: 2020-01-07 09:53:17 +0800 CST

SSMS 如何使用当前窗口的相同连接实例打开一个新的查询窗口

  • 1

来自 Oracle,我发现 SSMS 连接与 Oracle 的 SQL Developer 略有不同。Oracle 您单击一个连接,然后您打开的所有选项卡都使用该连接。SSMS 为我打开的每个窗口/选项卡创建一个全新的连接/实例。 我不想要这个。我试图解决的这种行为让我想到了两个讨厌的问题。

  1. 在另一个窗口中查看 COMMIT 之前脚本的影响

我希望能够在一个窗口中运行脚本......并且在另一个窗口中能够查询未提交的数据以简单地查看结果......目前我必须使用运行脚本的相同窗口为了简单地查看影响。(我想到了提交/回滚按钮 - Oracle 我有时会想念你)。

  1. 从另一个窗口查看存储在#TempTable 中的数据

我正在使用脚本创建#TempTable ...但想从另一个窗口查询它的数据。目前,当我打开另一个窗口(与 Oracle 的 SQL Developer 不同)时,它会使用新的连接/实例打开窗口。如何从另一个窗口而不是我运行脚本的窗口查询#TempTable 中的数据?

以上只是出于组织原因......运行脚本非常痛苦......然后当我不想编辑/添加任何其他代码时,必须从同一个选项卡中写入其他代码包含我运行的脚本的页面。

如果我做错了什么或遗漏了一些要点,请告诉我。

sql-server connections
  • 2 个回答
  • 1163 Views
Martin Hope
orca
Asked: 2019-07-12 02:35:48 +0800 CST

互联网上的 MSSQL,但我们通过 RDP 连接

  • 2

我们通过 RDP 将 RDP 连接到使用 MSSQL 2008 的 ERP 解决方案,现在我可以在 Windows 日志和 SQL 日志中看到我们有大量的用户连接尝试,导致与我们用户的连接速度变慢。

由于我们通过 RDP 连接并且 ERP 和 DB 在同一台服务器上,我想我可以关闭 SQL 端口到 Internet,这样可以阻止对 DB 的直接攻击,但我们的 IT 顾问不确定。我认为可以肯定地说,唯一需要通过互联网打开的端口是 RDP 端口,除此之外,所有这些都发生在 LAN 环境中。

我是对的还是我错过了什么?

sql-server connections
  • 2 个回答
  • 252 Views
Martin Hope
Daniel Kanchev
Asked: 2019-02-14 07:08:50 +0800 CST

MySQL 停止并且观察到奇怪的线程/连接行为

  • 0

我们有一个 MySQL 实例,大部分时间都运行良好。然而,我们有时会观察到奇怪的行为。发生的情况是 MySQL 连接突然达到限制(当前设置为 1000)并且 MySQL 几乎停止。当我们检查此服务器的图表时,会观察到以下内容:

在此处输入图像描述

该图像来自运行 MySQL 导出器的 Grafana 实例。困扰我的是为什么不重用缓存中的线程。另一个问题是为什么缓存中的线程突然降为零但同时没有创建新线程(根据第二张图 - 蓝线保持为 0)。

最终,我的目标是了解为什么突然使用 1000 个连接,以及这是 MySQL 还是应用程序的问题。这是 MySQL 文档关于线程的说法:

服务器应缓存多少线程以供重用。当客户端断开连接时,如果那里的线程少于 thread_cache_size,则客户端的线程将被放入缓存中。如果可能,通过重用从缓存中获取的线程来满足对线程的请求,并且只有当缓存为空时才会创建新线程。

任何帮助或指导将不胜感激!

mysql connections
  • 1 个回答
  • 862 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