Database Administrators
Q&A for database professionals who wish to improve their database skills
Latest Questions
0
votes
1
answers
20
views
Win Server 2016 - PostgreSQL 15 and 16 Install Errors - Failed to Load SQL Modules into Database Clusters
*Note that PG10 was installed on this server. Prior to installing the new version, I stopped and disabled the PG10 service.* Here's the OS version of the server in question: [![enter image description here][1]][1] I used the EDB installers linked from the main postgres site: [https://www.postgresql....
*Note that PG10 was installed on this server. Prior to installing the new version, I stopped and disabled the PG10 service.*
Here's the OS version of the server in question:
I used the EDB installers linked from the main postgres site: https://www.postgresql.org/download/windows/
I was unable to install PG16 on a client's system due to the error:

Failed to Load SQL Modules into Database Clusters
which occurred near the end of installation. I have installed PG16 on Win10 and Win11 before (as well as some other Win Server OS's on client systems - but I'm not sure exactly what server versions) and have not run into this issue before.
After I clicked through the error and the installation completed, the postgres service refused to start with Error 1067: The process terminated unexpectedly
I tried a lot of suggestions I found online (many from this post )
Here's a full list of what I tried:
- Rebooting the server
- Installing as admin
- Installing outside of the Program Files folder (C:\PostgreSQL)
- Creating the PostgreSQL and data folders prior to install and giving full permissions to: User Group, Admin Group and the NETWORK SERVICE user.
- Setting the service user to Local System, and also the local admin.
- Using the default password ("postgres") in the installer
- Explicitly setting the locale to English US in the installer
I also tried to manually patch the install with some commands I found online:
(initialize the DB cluster)
initdb -D "C:\PostgreSQL\16\data" -U postgres -A password --pwfile=passwd.txt
(simulate postgres service run)
"C:\PostgreSQL\16\postgres.exe" -D "C:\PostgreSQL\16\data"
The command to init the DB succeeded, but when I tried the second command (simulate service), I immediately got a generic Windows "PostgreSQL has stopped working" error. This is what the event viewer showed:
> Faulting application name: postgres.exe, version: 16.0.4.0, time stamp: 0x66b37331 Faulting module name: ucrtbase.dll, version: 10.0.14393.7426, time stamp: 0x66f600f9 Exception code: 0xc0000409 Fault offset: 0x000000000006c9e8 Faulting process id: 0x1b38 Faulting application start time: 0x01dbfc1356b9793c Faulting application path: C:\Program Files\PostgreSQL\16\bin\postgres.exe Faulting module path: C:\Windows\System32\ucrtbase.dll Report Id: c29be876-cf53-4689-b6df-459d3bc7df35 Faulting package full name: Faulting package-relative application ID:
Searching online suggested this might be due to issues with the server's runtime libraries, but this was starting to go way over my head. We tried installing PG15 and got the same errors.
Eventually we tried going all the way back to PG12, and that worked. I know postgres made significant changes between 12 and 13. PG12 is EOL now, so it's not ideal to use that instead of a newer version, but this was the latest version we could get working. We will likely keep it as is for now, but I would appreciate any further insights or troubleshooting tips in case we decide to revisit the upgrade, or in case this happens with another client. Any help is much appreciated!
user2437443
(145 rep)
Aug 1, 2025, 07:15 PM
• Last activity: Aug 2, 2025, 11:51 AM
0
votes
1
answers
379
views
error writing input to commandERROR: Invalid username and/or password
This is the error I have been getting on my RMAN notifcations on my backup jobs for the last day or so. The title is exactly how the message is formatted. > ~~~End Step Output/Error Log~~~ > Error Log:BackupOp > error writing input to commandERROR: Invalid username and/or password > > ~~~End Step Ou...
This is the error I have been getting on my RMAN notifcations on my backup jobs for the last day or so. The title is exactly how the message is formatted.
> ~~~End Step Output/Error Log~~~
> Error Log:BackupOp
> error writing input to commandERROR: Invalid username and/or password
>
> ~~~End Step Output/Error Log~~~
I only have 2 backup jobs and both are affected by this. Not sure how much information here is useful but what I have been looking at is the SYS account the jobs are using is not locked out.
select account_status from dba_users where username = 'SYS';
ACCOUNT_STATUS
--------------------------------
OPEN
The emagent.trc log is showing this pair of lines for every backup job since the first one failed.
2019-02-06 23:44:26,791 Thread-14472 ERROR command: failed to write to stdin of process 6228: (error=232, no message available)
2019-02-06 23:44:26,791 Thread-14472 ERROR command: nmejcc_feedInput: received -11 from process write
Restarting the DBConsole service has no affect and the errors persist.
I can manually run full and archivelog backups just fine as sysdba. I see no reason to blame RMAN since I can run the backup rman scripts just fine. I think this is just an EM issue.
Matt
(365 rep)
Feb 7, 2019, 05:05 PM
• Last activity: Jul 30, 2025, 10:04 PM
2
votes
1
answers
465
views
Cosmos DB ODBC driver installation problem
We are trying to install Cosmos DB ODBC Driver following the instructions provided [in this Microsoft Azure resource](https://learn.microsoft.com/en-us/azure/cosmos-db/odbc-driver) and are running into the following error: >The setup routines for Microsoft DocumentDB ODBC Driver ODBC driver could no...
We are trying to install Cosmos DB ODBC Driver following the instructions provided [in this Microsoft Azure resource](https://learn.microsoft.com/en-us/azure/cosmos-db/odbc-driver) and are running into the following error:
>The setup routines for Microsoft DocumentDB ODBC Driver ODBC driver could not be loaded due to a system error code 126: The specified module could not be found. (C:\Program Files\Microsoft DocumentDB ODBC Driver\lib\DocumentDBODBC_sb64.dll).
We've tried unsuccessfully on Windows Server 2008R2 and Windows Server 2012R2. We have it working on several Windows 10 desktops, just not server OS's unfortunately. We tried several things like installing using run as administrator, from command line, with both 32 and 64 bit installed, and then one or the other. We opened the location of the DLL to 'Everyone/full control' We checked that the Visual C++ redistributables are installed although not sure which specific ones are needed.
Any advice would be greatly appreciated.
Ben Saunders
(21 rep)
Jan 11, 2018, 01:56 PM
• Last activity: Jul 26, 2025, 06:08 AM
0
votes
1
answers
1037
views
The Windows Server Failover Clustering (WSFC) resource control API returned error code 19
What is root cause of this error. I couldn't find any related information.\ There are two nodes on Availability Group and if you reboot second node, database wont up.
What is root cause of this error. I couldn't find any related information.\
There are two nodes on Availability Group and if you reboot second node, database wont up.
Davoud Teimouri
(1 rep)
Apr 8, 2021, 12:29 AM
• Last activity: Jul 24, 2025, 07:04 PM
0
votes
1
answers
1034
views
Two physical servers with sql server on same network
IS there a way I can remotely access sql server DB having two different servers in the same network/public IP? The first Server is configured to listen to 1433 port but we make the connections using No-Ip provider. As both servers will be under the same DNS, how can I configure my app/sql server to...
IS there a way I can remotely access sql server DB having two different servers in the same network/public IP?
The first Server is configured to listen to 1433 port but we make the connections using No-Ip provider.
As both servers will be under the same DNS, how can I configure my app/sql server to connect to the DB in the second server?
Pedro Cury
(1 rep)
May 6, 2019, 11:52 PM
• Last activity: Jul 24, 2025, 02:04 PM
0
votes
1
answers
148
views
Enabling EFS on FileStream Folders
Please help me on below: Below is my Environment: *Windows Server 2012 R2 Standard* *SQL Server 2014 SP2 GDR* *Availability Groups 2014 with 3 Node (2 Sync and 1 BCP async)* I have 7 Databases with FileStream enabled. Each 7 DB Filestream data folders is around 500 GB. Due to security policy I need...
Please help me on below:
Below is my Environment:
*Windows Server 2012 R2 Standard*
*SQL Server 2014 SP2 GDR*
*Availability Groups 2014 with 3 Node (2 Sync and 1 BCP async)*
I have 7 Databases with FileStream enabled.
Each 7 DB Filestream data folders is around 500 GB.
Due to security policy I need to enable both Transparent Data Encryption (TDE for structured data) and Encrypting File System (EFS on FileStream folders).
While enabling EFS on FileStream folders I am getting below error.
(**NOTE :** I am doing it by turning the SQL Servers offline and before taking services offline , I am failing over AG to next available Synchronized AG Node)
I cannot Ignore the error and move on , because of which please advise on below:
**I even tried turn off anti virus and Firewall . No Luck**
1. What is the root cause of this issue and how can I perfectly enable EFS for the 7 DBs FS Folders .
2. Can I try enabling the EFS on multiple DB FS Folders keeping in mind their sizes (500 GB each) ?
Kindly advise. Thanks

Learning_Learning
(1620 rep)
Feb 1, 2019, 05:19 AM
• Last activity: Jul 15, 2025, 07:04 PM
3
votes
2
answers
186
views
Concerns regarding changing virtual NIC on SQL Server 2008 R2 / Windows Server 2008 R2
I have SQL Server 2008 R2 running on Windows Server 2008 R2 in a virtual environment (ESXI 5.5). Client has been advised to switch the existing E1000 adapter with a VMXNET 3 adapter because they were told it would perform better. Anyhow, I've done this several times on member servers as well as doma...
I have SQL Server 2008 R2 running on Windows Server 2008 R2 in a virtual environment (ESXI 5.5). Client has been advised to switch the existing E1000 adapter with a VMXNET 3 adapter because they were told it would perform better.
Anyhow, I've done this several times on member servers as well as domain controllers. As I understand it, SQL Server is more concerned with the network layer so I don't believe this should be an issue. I am not a SQL guru so I figured I would ask here to be safe.
user77410
(35 rep)
Oct 3, 2015, 04:04 PM
• Last activity: Jun 29, 2025, 11:04 AM
0
votes
1
answers
281
views
How to Configure SSRS Web Service URL and Web Portal URL via Command Line
I need to apply the default settings on SSRS Web Service URL and Web Portal URL, but i need to do it automatically somehow. Is it possible to do it via command line? I have looked through this SSRS documentation from Microsoft, but don't see any option to do that. As per Microsoft, `You must write c...
I need to apply the default settings on SSRS Web Service URL and Web Portal URL, but i need to do it automatically somehow.
Is it possible to do it via command line?
I have looked through this SSRS documentation from Microsoft, but don't see any option to do that.
As per Microsoft,
You must write custom code that makes calls into the Report Server WMI provider. There are no command line utilities or script templates for configuring the URLs.
Bymemot
(1 rep)
Oct 7, 2024, 06:40 AM
• Last activity: May 31, 2025, 01:07 PM
0
votes
1
answers
261
views
EMCA insists that it cannot connect to the service
Really new to Oracle and being a DBA in general. I am trying to set up a development environment so that I can play an learn oracle better. Enterprise Mananger failed to configure itself when I first created the database using the Database Configuration Assistant. No biggie. Just need to user emca.e...
Really new to Oracle and being a DBA in general. I am trying to set up a development environment so that I can play an learn oracle better. Enterprise Mananger failed to configure itself when I first created the database using the Database Configuration Assistant. No biggie. Just need to user emca.exe
I had some issues with the Listener but those might have just been me being impatient in waiting for the service to register or the service not running. Right now my issue is this from the emca log:
> CONFIG: ORA-12514: TNS:listener does not currently know of service requested in connect descriptor
According to post here and on SO it should just be an issue with the service name. Problem is it looks right to me.
###Listener.ora
ADR_BASE_VLISTENER = D:\app\Administrator
VLISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dvp-oracle)(PORT = 1521))
)
)
###lsnrctl status
.... truncated ....
Listening Endpoints Summary...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=dvp-oracle)(PORT=1521)))
Services Summary...
Service "prodbkp" has 1 instance(s).
Instance "prodbkp", status READY, has 1 handler(s) for this service...
Service "prodbkpXDB" has 1 instance(s).
Instance "prodbkp", status READY, has 1 handler(s) for this service...
The command completed successfully
That tells me that the database registered itself dynamically correctly. prodbkp is my SID. This might be a case issue since I named the DB "PRODbkp" but everything else seems to be fine since I can connect with
sqlplus sys@prodbkp as sysdba
just fine. Case should not be an issue with service names as per docs.oracle.com
###tsnnames.ora
PRODBKP =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = dvp-oracle)(PORT = 1521))
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = prodbkp)
)
)
Which also looks OK. Most of the solutions point to SERVICE_NAME mismatches. However I don't _appear_ to have one.
###v$parameter output
SQL> select value from v$parameter where name='service_names';
VALUE
--------------------------------------------------------------------------------
prodbkp
That gap you see above prodkbp is in the output as well. Not sure if that matters either. My production server has that anomaly as well so I can't imagine that has anything to do with it.
Basically everything looks right but something is still wrong. I cannot install Enterprise Manager
__Environment__
- Windows Server 2008R2
- Oracle 11g
Matt
(365 rep)
Aug 28, 2017, 01:58 PM
• Last activity: May 18, 2025, 06:04 PM
2
votes
1
answers
766
views
DBCC Check DB fails due to operating system error 665
We have a SQL Server 2017 Standard version where recently the CHECKDB is failing with the operating system error 665. The fragmentation level of the disk drive is 0% as it is automatically defragmented weekly. The database is 24/7 OLTP database. Only way the checkdb completes is when we turn off the...
We have a SQL Server 2017 Standard version where recently the CHECKDB is failing with the operating system error 665.
The fragmentation level of the disk drive is 0% as it is automatically defragmented weekly.
The database is 24/7 OLTP database. Only way the checkdb completes is when we turn off the application. Now online solution suggests
1) Increase the size of the disk drive, I have 800gb free space on the drive which has a database with 550 gb used space
2) Defragment the data drive- Currently automatically defragment weekly
3) Break the database into smaller files- Currently not possible due to downtime
4) Consider placing the database files on ReFS volume which does not have the same ATTRIBUTE_LIST_ENTRY limits that NTFS presents. You must reformat the current NTFS volume using ReFS. – Again not possible due to downtime
Currently the checkdb checks with the option Physical only and using Ola Hallengreen script
My short term proposal is to do the checkdb into another server. But I am running out of ideas if there are other ways to cure the problem without any downtime.
SQL_NoExpert
(1117 rep)
Apr 22, 2021, 03:02 PM
• Last activity: May 12, 2025, 02:02 AM
0
votes
2
answers
324
views
Postgres file increment size
I'm COPY-ing 300 tables / 400G to PG10@win2016server using a few threads to speed things up, but because the table files are incremented in 64-kb units (or something there-about) they get fragmented on disk which hurt read performance. Ideally I would like to make sure that files are expanded in lar...
I'm COPY-ing 300 tables / 400G to PG10@win2016server using a few threads to speed things up, but because the table files are incremented in 64-kb units (or something there-about) they get fragmented on disk which hurt read performance.
Ideally I would like to make sure that files are expanded in larger increments (eg. 8 mb), alternative would be to make
initial size = max segment size
(1gb). Is there any way to accomplish this?
And I know, single threaded copy would solve the issue at hand, but I would still have the same problem after the copying, as tables grow continually and still only in small fragmented chunks.
EDIT:
As a "proof" of sorts, i created a simple table
CREATE TABLE testtable
(
id bigint primary key,
somestring varchar(4000)
);
BEGIN
FOR i IN 1..2000 LOOP
insert into testtable values(i, repeat('Jeg kan en sang der kan drive dig til vanvid.', 40));
END LOOP;
END
which produces a table of 4096kb, which contig.exe reports to be of 25 fragments (in this instance), or 160kb on average. For 4 mb this is not an issue, for 400gb it is.
mikkel
(238 rep)
Oct 23, 2017, 01:13 PM
• Last activity: May 11, 2025, 11:04 PM
1
votes
1
answers
3386
views
No connection possible after TrustServerCertificate=True => The certificate chain was issued by an authority that is not trusted
I have a machine which could connect to an MS SQL Server in the past. I have SSMS installed and the connection was possible when I activated TrustServerCertificate checkbox in SSMS. I could connect and see databases and tables and execute statements etc... Later I tried to scaffold models with entit...
I have a machine which could connect to an MS SQL Server in the past. I have SSMS installed and the connection was possible when I activated TrustServerCertificate checkbox in SSMS. I could connect and see databases and tables and execute statements etc...
Later I tried to scaffold models with entity framework with the command:
dotnet ef dbcontext scaffold "Server=xxx;Database=yyy;User Id=zzz;Password=abcd;TrustServerCertificate=true;" Microsoft.EntityFrameworkCore.SqlServer --table xxx.yyy
There was a prompt which said i could create or install (I cant remember which it was) a certificate. I accepted the prompt and after that the connection is not possible anymore. Even with SSMS the connection is not possible anymore.
I think entity framework or the machine has created a certificate and now the connection is not possible because the created certificat is not trusted by the sql server.
How do i get the connection working again?
If i try to connect via SSMS i get the message:
>
> Cannot connect to xxx.
>
> ------------------------------ ADDITIONAL INFORMATION:
>
> A connection was successfully established with the server, but then an
> error occurred during the login process. (provider: SSL Provider,
> error: 0 - The certificate chain was issued by an authority that is
> not trusted.) (Microsoft SQL Server, Error: -2146893019)
>
> For help, click:
> https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver--2146893019-database-engine-error
>
> ------------------------------
>
> The certificate chain was issued by an authority that is not trusted
>
> ------------------------------
If i activate trust server certificate the following message is shown:
> Cannot connect to xxx.
>
> ------------------------------ ADDITIONAL INFORMATION:
>
> Login failed for user 'zzz'. (Microsoft SQL Server, Error:
> 18456)
>
> For help, click:
> https://docs.microsoft.com/sql/relational-databases/errors-events/mssqlserver-18456-database-engine-error
>
How can i remove this certificate? Where is it stored on the machine? How can i connect again? I have no acces to the remote SQL Server.
I did not find any certificate in "computer certificates" or "user certificates" on the windows machine which may be indicating that this was the created certificate. There are so many installed certificates on this machine.
Thanks in advance
Sebastian Siemens
(111 rep)
Aug 31, 2023, 10:53 AM
• Last activity: May 9, 2025, 09:01 PM
1
votes
1
answers
58
views
SQL Job losing permissions to local folder?
(SQL Server 2017 standard, VS 2019 Pro, MSDT 4.6) I have a very strange and interesting situation: one task of one SSIS package appears to no longer have access to a local folder path. The job step is a Script task that counts the number of files in a given path (there should only ever be 8 files),...
(SQL Server 2017 standard, VS 2019 Pro, MSDT 4.6)
I have a very strange and interesting situation: one task of one SSIS package appears to no longer have access to a local folder path.
The job step is a Script task that counts the number of files in a given path (there should only ever be 8 files), which determines a SUCCESS or FAIL path of the rest of the SSIS package (the package runs only once per day). Up unitl about a month ago, the entire SSIS package functioned as expected. I am not certain what has changed, but the script task can no longer access the path (the path is a compound variable, and the underlying C# code trims the path so that there are no leading or trailing spaces).
I have run the SSIS package, logged into my machine as the same service account that runs my SQL Agent, in Visual Studio and the package performs as expected.
As part of the FAIL path of my SSIS package, I send an email to myself regarding the attempted file count, which includes the path the script task attempted to check, as well as the user context it tried access the path, so I know those parts are fine. The domain account that runs SQL Agent is part of the ADMINISTRATORS group on the server, and has no other access problems in any other part of any other SSIS package on the server (there are over 100). I have this exact same package on a different server, and the script task performs as expected.
I have worked with my server admins, my security admins, and my network admins, to compare and contrast the permissions between the "it works" server and the "doesn't work" server, and no one is able to find any reason why the script task is not working.
I am at my wits end trying to resolve this issue. Although not a show-stopper, as I can manually execute the package in VS to load my data, it does take away from any automation I am attempting to establish. I would love any suggestions on where and what to check, as I am completely out of ideas.
EDIT: I have tried using ProcMon to monitor the path to be checked, for any and all activity. Only 2 entries in the log file pertain to that path:
1. CreateFile - for when the previous task downloads the file from the
source FTP server. The result was SUCCESS, with the following
details:
- Desired Access: Read Data/List Directory, Synchronize
- Disposition: Open
- Options: Directory, Synchronous IO Non-Alert, Open For Backup
- Attributes: n/a
- ShareMode: Read, Write, Delete
- AllocationSize: n/a
- OpenResult: Opened
2. CloseFile - for when the writing of the downloaded files is complete.
* The result was SUCCESS.
Kulstad
(95 rep)
May 9, 2025, 12:20 PM
• Last activity: May 9, 2025, 03:01 PM
3
votes
2
answers
1420
views
MySQL Workbench, Windows Server 2019, MySQL not showing Performance, Information of MySQL Schemas!
This evening I installed MySQL on a new clean install of Windows 2019 server. When the install finished, the installer offered the possibility of opening Workbench so I said yes. Then I noticed that there were schemas missing - as per the question, the performance, information and mysql schemas were...
This evening I installed MySQL on a new clean install of Windows 2019 server. When the install finished, the installer offered the possibility of opening Workbench so I said yes.
Then I noticed that there were schemas missing - as per the question, the performance, information and mysql schemas were missing (see the screenshot below**1**)
But, when I log in using the mysql client, I get this
mysql> show schemas;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| sakila |
| sys |
| world |
+--------------------+
6 rows in set (0.00 sec)
In Workbench, I can access the "missing" schemas via queries like so
SELECT host, user FROM mysql.user;
host,user
%,xxx
localhost,mysql.infoschema
localhost,mysql.session
localhost,mysql.sys
localhost,root
Can anybody explain to me what's going on here? How can I get the missing schemas to appear in MySQL Workbench?
**1** I know that screenshots are normally not a good idea in this forum, but this time, it's the only way to show what I mean.
>mysqld.exe --version
\mysqld.exe Ver 8.0.18 for Win64 on x86_64 (MySQL Community Server - GPL)
and
Workbench 8.0
and
Windows Server 2019 Standard

PHB
(33 rep)
Nov 27, 2019, 09:48 PM
• Last activity: May 3, 2025, 10:15 PM
2
votes
1
answers
298
views
SSRS ReportServer_XXX.log is giving incorrect CPU count
I am currently investigating an issue wherein sometimes the SSRS just suddenly stops accepting requests until we do an IISRESET command. This happens after we added an additional processor on the server. No new report is added on that time. Right now we have 2x Quad Core with HT enabled processors....
I am currently investigating an issue wherein sometimes the SSRS just suddenly stops accepting requests until we do an IISRESET command. This happens after we added an additional processor on the server. No new report is added on that time. Right now we have 2x Quad Core with HT enabled processors. Information in
'sys.dm_os_sys_info'
is giving me the correct cpu_count which is 16. However, while looking at the 'ReportServer_XXX.log'
, I noticed that it's logging incorrect cpu count.
w3wp!resourceutilities!1!3/22/2014-14:29:16:: i INFO: Reporting Services starting SKU: Standard w3wp!resourceutilities!1!3/22/2014-14:29:16:: i INFO: Evaluation copy: 0 days left w3wp!resourceutilities!1!3/22/2014-14:29:16:: i INFO: CPU throttling turned on w3wp!resourceutilities!1!3/22/2014-14:29:16:: i **INFO: Running on 127 physical processors, 255 logical processors**
I am not certain if this is the cause but either way, how do I correct this issue? The count is way off.
Also, on our other server, the ***CPU throttling turned on*** message is not being logged. Could also be this another reason?
SSRS is running under this environment:
- Windows Server 2003 R2 32-bit (PAE enabled)
- SQL Server 2005 SP4 (AWE enabled)
- 2xQuad core with HT processors
- 64GB memory
pinoy_ISF
(121 rep)
Mar 23, 2014, 05:45 PM
• Last activity: May 2, 2025, 05:08 AM
0
votes
2
answers
130
views
Unexplained read latency in SQL Server despite healthy RAID 10 disk and good synthetic benchmarks
I've set up a SQL Server instance on a dedicated Windows server. The `.mdf` data file is placed on a dedicated disk configured as RAID 10, with the RAID controller cache ratio set to 90% write / 10% read. I'm observing unexpectedly high read latency based on metrics reported by both SQL Server (e.g....
I've set up a SQL Server instance on a dedicated Windows server. The
.mdf
data file is placed on a dedicated disk configured as RAID 10, with the RAID controller cache ratio set to 90% write / 10% read.
I'm observing unexpectedly high read latency based on metrics reported by both SQL Server (e.g., "Stalls/sec for Read") and Windows Performance Monitor (e.g., "Avg. Disk sec/Read").
SQL Server reports "Stalls/sec for Read" consistently above 20ms
Performance Monitor shows "Avg. Disk sec/Read" at about 25ms, with only 5–10 disk reads/sec
Write performance, in contrast, is consistently excellent. Latency remains under 1ms, which aligns with the RAID controller's write cache configuration. However, I’ve noticed that approximately once per minute, there's a write spike where Disk Writes/sec temporarily jumps above 5,000. Apart from these brief spikes, write performance is stable and fast.
To validate storage performance independently, I used fio to simulate random read load against a 100GB data file. Surprisingly, fio reports read latency of only around 5ms, which is much lower than what SQL Server and Performance Monitor are reporting.
Here's the fio command I used:
fio --name=rand_read_test --rw=randread --bs=68k --size=1G --numjobs=4 --iodepth=1 --ioengine=windowsaio --direct=1 --time_based --runtime=60s --filename=testfile1g
This server also has two other dedicated drives:
- One for the .ldf
log files
- One for tempdb
Both of these disks show normal latency and no unusual performance behavior.
**My questions:**
- What could explain this high read latency reported by SQL Server and
Performance Monitor, despite relatively low read IOPS and healthy
synthetic benchmarks?
- Could the RAID controller's cache configuration be limiting read
performance in ways not captured by fio?
- Are there SQL Server-specific patterns or behaviors that might cause
high logical read latency despite light physical disk usage?
Hamidreza Shokouhi
(101 rep)
Apr 13, 2025, 08:58 PM
• Last activity: Apr 13, 2025, 11:38 PM
0
votes
2
answers
3056
views
MySQL restrict specific login to single ip address
i am trying to setup a mysql server with some logins that can be accessed from anywhere, and another login ( effectively root access ) from a single machine with a static ip. both machines have a single WAN address and are located in the same hosted server facility. the only firewall present is the...
i am trying to setup a mysql server with some logins that can be accessed from anywhere, and another login ( effectively root access ) from a single machine with a static ip. both machines have a single WAN address and are located in the same hosted server facility. the only firewall present is the one built into the operating system.
Host ( 81.1.1.1 / SERVER-4XP5PS5 / mysql_win64 5.5 / svr2012r2 ):
firewall port translation :
netsh interface portproxy add v4tov4 listenport=5001 connectport=3306 connectaddress=81.1.1.1 protocol=tcp
Advanced Firewall Rules->Add inbound open port 'MySQL5001' / port 5001 / tcp / All connection types
mysql remote login :
create user 'testuser'@'82.2.2.2' identified by 'testpassword';
grant all on *.* to 'testuser'@'82.2.2.2';
Client ( 82.2.2.2 / mysql_win32 5.5 / svr2012r2 ):
mysql.exe -h81.1.1.1 -P5001 -utestuser -ptestpassword
ERROR 1045 (28000): Access denied for user 'testuser'@'SERVER-4XP5PS5' (using password: YES)
it seems the mysql server on the host thinks the connection is coming from the local machine, but it is not, i am running the mysql connect command from the client machine.
any ideas how to get mysql to get testuser to connect through port 5001 while restricting testuser connections to ip 82.2.2.2 ?
note : it works fine if i lose the ip address requirement and replace 82.2.2.2 with %, but that defeats the purpose of what i am trying to achieve.
Barny
(1 rep)
May 8, 2019, 01:58 PM
• Last activity: Mar 16, 2025, 02:02 AM
-1
votes
1
answers
74
views
SQL Server does not reduce the size of MDF and LDF files even though the file shrink process has been carried out
I am a SQL Server 2017 user, I deleted a table that had too many records, but after the delete process, the size of the MDF and LDF files did not decrease, but increased. I have shrunk the file but the file size remains the same. What should I do to change the file size? I want the mdf file size to...
I am a SQL Server 2017 user, I deleted a table that had too many records, but after the delete process, the size of the MDF and LDF files did not decrease, but increased. I have shrunk the file but the file size remains the same. What should I do to change the file size?
I want the mdf file size to return to normal according to the existing record
Rafardhan Athalla
(1 rep)
Mar 14, 2025, 09:55 AM
• Last activity: Mar 14, 2025, 08:57 PM
1
votes
1
answers
1199
views
SQL Server 2017 AlwaysOn Failover Cluster issue
I have 2 `Windows 2012R2` VM's running on `Vmware ESXi 7` with VMDK's as the SQL disks. I have a SQL 2017 AlwaysOn Cluster running on Server 2012R2. there is no any running backup (SNAPSHOT) *PROD : 10.10.22.1 and 10.10.22.2 HEARTBEAT : 192.168.200.2 and 192.168.200.3 file share witness already defi...
I have 2
Windows 2012R2
VM's running on Vmware ESXi 7
with VMDK's as the SQL disks.
I have a SQL 2017 AlwaysOn Cluster running on Server 2012R2.
there is no any running backup (SNAPSHOT)
*PROD : 10.10.22.1 and 10.10.22.2
HEARTBEAT : 192.168.200.2 and 192.168.200.3
file share witness already defined*
CrossSubnetDelay : 1000
CrossSubnetThreshold : 20
PlumbAllCrossSubnetRoutes : 0
SameSubnetDelay : 1000
SameSubnetThreshold : 10
get-cluster |fl *history*
RouteHistoryLength : 20
LOG:
Cluster has missed two consecutive heartbeats for the local endpoint 10.10.22.1~3343~ connected to remote endpoint 10.10.22.2:~3343
Cluster has missed two consecutive heartbeats for the local endpoint 192.168.200.2:~3343~ connected to remote endpoint 192.168.200.3:~3343~.
Clustered role 'sqlcluster' is moving to cluster node 'host02'.
FailoverCluster Logs:
Cluster node 'host01' was removed from the active failover cluster membership. The Cluster service on this node may have stopped. This could also be due to the node having lost communication with other active nodes in the failover cluster. Run the Validate a Configuration wizard to check your network configuration. If the condition persists, check for hardware or software errors related to the network adapters on this node. Also check for failures in any other network components to which the node is connected such as hubs, switches, or bridges.
Cluster node 'host02' was removed from the active failover cluster membership. The Cluster service on this node may have stopped. This could also be due to the node having lost communication with other active nodes in the failover cluster. Run the Validate a Configuration wizard to check your network configuration. If the condition persists, check for hardware or software errors related to the network adapters on this node. Also check for failures in any other network components to which the node is connected such as hubs, switches, or bridges.
Cluster resource 'sqlcluster' of type 'SQL Server Availability Group' in clustered role 'sqlcluster' failed.
The Cluster service is shutting down because quorum was lost. This could be due to the loss of network connectivity between some or all nodes in the cluster, or a failover of the witness disk.
Run the Validate a Configuration wizard to check your network configuration. If the condition persists, check for hardware or software errors related to the network adapter. Also check for failures in any other network components to which the node is connected such as hubs, switches, or bridges.
Cluster resource 'File Share Witness' of type 'File Share Witness' in clustered role 'Cluster Group' failed.
Based on the failure policies for the resource and role, the cluster service may try to bring the resource online on this node or move the group to another node of the cluster and then restart it. Check the resource and group state using Failover Cluster Manager or the Get-ClusterResource Windows PowerShell cmdlet.
System Log:
Unable to update the IP address on Isatap interface isatap.{1DF84235-46E7-44DE-BD8F-5A80FD1BD3BD}. Update Type: 0. Error Code: 0x57.
Cell-o
(1106 rep)
Nov 10, 2021, 05:48 PM
• Last activity: Feb 11, 2025, 09:04 AM
0
votes
2
answers
3749
views
ORA-12152: TNS: unable to send break message - Only LISTENER restart works
i have a strange problem with our Oracle 12.1.0.1.0 on our VM Windows Server 2016. I create a daily batch script whichs creates a dump file (via EXP) and execute some sql statements (via SQLPlus). After a few hours the batch scripts doesnt work anymore. So i try to start the batch manually to see wh...
i have a strange problem with our Oracle 12.1.0.1.0 on our VM Windows Server 2016.
I create a daily batch script whichs creates a dump file (via EXP) and execute some sql statements (via SQLPlus).
After a few hours the batch scripts doesnt work anymore. So i try to start the batch manually to see what happens. The login at SQLPlus and EXP returns this error message:
> ORA-12152: TNS: unable to send break message
So i try to start SQLPlus manually, but i get the same error, if i try to connect as USER@SID.
My application which uses a direct database drivers works fine. So the database in the background works.
I think its a problem with the listener, because if i restart the listener (lsnrctl restart) sqlplus and exp works, but after a few hours the problem comes back.
Listener.ora:
SID_LIST_LISTENER =
(SID_LIST =
(SID_DESC =
(SID_NAME = CLRExtProc)
(ORACLE_HOME = O:\Oracle\product\12.1.0\dbhome_1)
(PROGRAM = extproc)
(ENVS = "EXTPROC_DLLS=ONLY:O:\Oracle\product\12.1.0\dbhome_1\bin\oraclr12.dll")
)
)
LISTENER =
(DESCRIPTION_LIST =
(DESCRIPTION =
(ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOSTNAME)(PORT = 1521))
)
)
Sqlnet.ora:
SQLNET.AUTHENTICATION_SERVICES= (NTS)
NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)
Tnsnames.ora:
ORCL =
(DESCRIPTION =
(ADDRESS_LIST =
(ADDRESS = (PROTOCOL = TCP)(HOST = MY_HOSTNAME)(PORT = 1521))
)
(CONNECT_DATA =
(SERVER = DEDICATED)
(SERVICE_NAME = ORCL)
)
)
Does anybody has an idea?
Edit 1:
lsnrctl stat:
LSNRCTL for 64-bit Windows: Version 12.1.0.1.0 - Production on 17-JAN-2022 08:41:48
Copyright (c) 1991, 2013, Oracle. All rights reserved.
Anmeldung bei (DESCRIPTION=(ADDRESS=(PROTOCOL=IPC)(KEY=EXTPROC1521)))
TNS-12541: TNS: Kein Listener
TNS-12560: TNS: Fehler bei Protokolladapter
TNS-00511: Kein Listener
64-bit Windows Error: 2: No such file or directory
Anmeldung bei (DESCRIPTION=(ADDRESS=(PROTOCOL=TCP)(HOST=SERVER)(PORT=1521)))
STATUS des LISTENER
------------------------
Alias LISTENER
Version TNSLSNR for 64-bit Windows: Version 12.1.0.1.0 - Production
Startdatum 13-JAN-2022 15:55:54
Uptime 3 Tage 16 Std. 45 Min. 56 Sek.
Trace-Ebene off
Sicherheit ON: Local OS Authentication
SNMP OFF
Parameterdatei des Listener O:\Oracle\product\12.1.0\dbhome_1\network\admin\listener.ora
Log-Datei des Listener O:\Oracle\diag\tnslsnr\SERVER\listener\alert\log.xml
Zusammenfassung Listening-Endpunkte...
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcp)(HOST=SERVER)(PORT=1521)))
(DESCRIPTION=(ADDRESS=(PROTOCOL=tcps)(HOST=SERVER)(PORT=5500))(Security=(my_wallet_directory=O:\ORACLE\admin\ORCL\xdb_wallet))(Presentation=HTTP)(Session=RAW))
Services Übersicht...
Dienst "CLRExtProc" hat 1 Instanzen.
Instanz "CLRExtProc", Status UNKNOWN, hat 1 Handler f³r diesen Dienst...
Dienst "ORCL" hat 1 Instanzen.
Instanz "orcl", Status READY, hat 1 Handler für diesen Dienst...
Dienst "ORCLXDB" hat 1 Instanzen.
Instanz "orcl", Status READY, hat 1 Handler für diesen Dienst...
Der Befehl wurde erfolgreich ausgef³hrt.
Log from listener\alert\log.xml:
17-JAN-2022 08:48:46 * (CONNECT_DATA=(SERVER=DEDICATED)(SERVICE_NAME=orcl)(CID=(PROGRAM=O:\Oracle\product\12.1.0\dbhome_1\bin\sqlplus.exe)(HOST=SERVER)(USER=Administrator))) * (ADDRESS=(PROTOCOL=tcp)(HOST=XXXX::XXXX:XXXX:XXXX:606b%3)(PORT=59736)) * establish * orcl * 0
TRC file:
https://pastebin.com/8rdvmEm3
Athris
(21 rep)
Jan 13, 2022, 03:14 PM
• Last activity: Feb 10, 2025, 08:21 PM
Showing page 1 of 20 total questions