Sql Server Stress Test Tool

Posted on  by 



-->

Could you recommend any other commercial tool for stress testing a SQL Server (2012, 2016)? SQL Server is on a VM in the cloud. Assuming bandwidth is not an issue, which tool/s can one use to simulate a real-life situation of thousands of transactions per minute, for example?

This article describes how to use the SQLIOSim utility to perform stress tests on disk subsystems to simulate SQL Server activity.

Original product version: SQL Server
Original KB number: 231619

To stress test a system to determine if it can support a given load, I'd suggest using SQL SErver 2012's new tool, Distributed Replay1. You can capture or create a load and then dial it up, steps at a time to place greater and greater stress on a system. SQLStress is a tool to stress test a Microsoft SQL Server installation. Its main purpose is to find infrastructure problems within an installation. It can also be used for hardware sizing, system tuning or benchmarking. The focus is on simplicity.

Summary

For Microsoft SQL Server 2005, SQLIOSim was shipped as a separate download package. Starting with SQL Server 2008, SQLIOSim is included with the SQL Server product installation. When you install SQL Server, you find the SQLIOSim tool in the BINN folder of your SQL Server installation. It is recommended to use these updated versions of the tool to simulate the IO activity on the disk subsystem.

The SQLIOSim utility replaces the SQLIOStress utility. The SQLIOStress utility was formerly known as the SQL70IOStress utility.

This article also contains download information for the SQLIOSim utility.

Introduction

This article describes the SQLIOSim tool. You can use this tool to perform reliability and integrity tests on disk subsystems. These tests simulate read, write, checkpoint, backup, sort, and read-ahead activities for Microsoft SQL Server. However, if you have to perform benchmark tests and determine the I/O capacity of the storage system, you should use the Diskspd tool.

Overview

The SQLIOSim utility has been upgraded from the SQLIOStress utility. The SQLIOSim utility more accurately simulates the I/O patterns of Microsoft SQL Server.

For more information about SQL Server I/O patterns, see SQL Server I/O Basics, Chapter 2.

Note

To help maintain appropriate data integrity and security, we recommend that you perform stress tests of your I/O subsystem before you deploy SQL Server on new hardware. The SQLIOSim utility simulates the read patterns, the write patterns, and the problem identification techniques of SQL Server. To perform these tasks, the SQLIOSim utility simulates the user activity and the system activity of a SQL Server system. The SQLIOSim utility performs this simulation independent of the SQL Server engine.

The SQLIOSim utility does not guarantee or warrant data security or integrity. The utility was designed to provide baseline testing of a system environment. The SQLIOSim utility may expose potential data integrity issues.

For more information about logging and data storage, see Description of logging and data storage algorithms that extend data reliability in SQL Server.

The download package contains two executable files, SQLIOSim.com and SQLIOSim.exe. Both executable files provide identical simulation capabilities. SQLIOSim.com is a command-line tool that you can configure to run without user interaction. To do this, you can use command-line parameters, a configuration file, or a combination of both of these methods. SQLIOSim.exe is a graphical application that accepts no command-line parameters. However, SQLIOSim.exe does load default configuration data from configuration files.

SQLIOSim.com command-line parameters

SQLIOSim.com accepts a limited number of command-line parameters to control basic behavior. The configuration file for the SQLIOSim utility provides advanced behavior control. When command-line parameters and configuration file options overlap, the command-line parameters take precedence.

ParameterComment
-cfg fileOverride the Sqliosim.cfg.ini default configuration file. The SQLIOSim utility returns an error if the utility cannot find the file.
-save fileSave the resulting configuration in the configuration file. You can use this option to create the initial configuration file.
-log fileSpecify the error log file name and the error log file path. The default file name is Sqliosim.log.xml.
-dir dirSet the location to create the data (.mdf) file and the log (.ldf) file. You can run this command multiple times. In most cases, this location is a drive root or a volume mount point. This location can be a long path or a UNC path.
-d secondsSet the duration of the main run. This value excludes the preparation phase and the verification phase.
-size MBSet the initial size of the data file in megabytes (MB). The file can grow up to two times the initial size. The size of the log file is calculated as half the size of the data file. However, the log file cannot be larger than 50 MB.

SQLIOSim configuration file

Sample configuration files for various tests can be downloaded from SQL Server support team’s github repo here.

You do not have to use a configuration file. If you do not use a configuration file, all parameters take default values except the data file location and the log file location. You must use one of the following methods to specify the data file location and the log file location:

  • Use the command-line parameters in the SQLIOSim.com file.
  • Use the Files and Configuration dialog box after you run the SQLIOSim.exe file.
  • Use the Filex section of the configuration file.

Note

  • If the name of the parameter indicates that the parameter is a ratio or a percentage, the value of the parameter is expressed as the percentage or the ratio, divided by 0.01. For example, the value of the CacheHitRatio parameter is 10 percent. This value is expressed as 1000 because 10, divided by 0.01, equals 1000. The maximum value of a percentage parameter is 10000.
  • If the parameter type is numeric, and you assign a non-numeric value to the parameter, the SQLIOSim utility sets the parameter to 0.
  • If the parameter type is Boolean, the valid values that you can assign to the parameter are true and false . Additionally, the values are case sensitive. The SQLIOSim utility ignores any invalid values.
  • If a pair of parameters indicates a minimum value and a maximum value, the minimum value must not be larger than the maximum value. For example, the value of the MinIOChainLength parameter must not be larger than the value of the MaxIOChainLength parameter.
  • If the parameter indicates a number of pages, the SQLIOSim utility checks the value that you assign to the parameter against the file that the SQLIOSim utility processes. The SQLIOSim utility performs this check to make sure that the number of pages does not exceed the file size.

CONFIG section

The SQLIOSim utility takes the values that you specify in the CONFIG section of the SQLIOSim configuration file to establish global testing behavior.

ParameterDefault valueDescriptionComments
ErrorFilesqliosim.log.xmlName of the XML type log file
CPUCountNumber of CPUs on the computerNumber of logical CPUs to createThe maximum is 64 CPUs.
Affinity0Physical CPU affinity mask to apply for logical CPUsThe affinity mask should be within the active CPU mask. A value of
0 means that all available CPUs will be used.
MaxMemoryMBAvailable physical memory when the SQLIOSim utility startsSize of the buffer pool in MBThe value cannot exceed the total amount of physical memory on the computer.
StopOnErrortrueStops the simulation when the first error occurs
TestCycles1Number of full test cycles to performA value of 0 indicates an infinite number of test cycles.
TestCycleDuration300Duration of a test cycle in seconds, excluding the audit pass at the end of the cycle
CacheHitRatio1000Simulated cache hit ratio when the SQLIOSim utility reads from the disk
MaxOutstandingIO0Maximum number of outstanding I/O operations that are allowed process-wideThe value cannot exceed 140000. A value of 0 means that up to approximately 140,000 I/O operations are allowed. This is the limit of the utility.
TargetIODuration100Duration of I/O operations, in milliseconds, that are targeted by throttlingIf the average I/O duration exceeds the target I/O duration, the SQLIOSim utility throttles the number of outstanding I/O operations to decrease the load and to improve I/O completion time.
AllowIOBurststrueAllow for turning off throttling to post many I/O requestsI/O bursts are enabled during the initial update, initial checkpoint, and final checkpoint passes at the end of test cycles. The MaxOutstandingIO parameter is still honored. You can expect long I/O warnings.
NoBufferingtrueUse the FILE_FLAG_NO_BUFFERING optionSQL Server opens database files by using FILE_FLAG_NO_BUFFERING true. Some utilities and services, such as Analysis Services, use FILE_FLAG_NO_BUFFERING false. To fully test a server, execute one test for each setting.
WriteThroughtrueUse the FILE_FLAG_WRITE_THROUGH optionSQL Server opens database files by using FILE_FLAG_WRITE_THROUGH true. However, some utilities and services open the database files by using FILE_FLAG_WRITE_THROUGH false. For example, SQL Server Analysis Services opens the database files by using FILE_FLAG_WRITE_THROUGH false. To fully test a server, execute one test for each setting.
ScatterGathertrueUse ReadScatter/WriteGather APIsIf this parameter is set to true, the NoBuffering parameter is also set to true.
SQL Server uses scatter/gather I/Os for most I/O requests.
ForceReadAheadtruePerform a read-ahead operation even if the data is already readThe SQLIOSim utility issues the read command even if the data page is already in the buffer pool.
Microsoft SQL Server Support has successfully used the true setting to expose I/O problems.
DeleteFilesAtStartuptrueDelete files at startup if files existA file may contain multiple data streams. Only streams that are specified in the File x FileName entry are truncated in the file. If the default stream is specified, all streams are deleted.
DeleteFilesAtShutdownfalseDelete files after the test is finishedA file may contain multiple data streams. Only data streams that you specify in the File x FileName entry are truncated in the file. If the default data stream is specified, the SQLIOSim utility deletes all data streams.
StampFilesfalseExpand the file by stamping zerosThis process may take a long time if the file is large. If you set this parameter to false, the SQLIOSim utility extends the file by setting a valid data marker.
SQL Server 2005 uses the instant file initialization feature for data files. If the data file is a log file, or if instant file initialization is not enabled, SQL Server performs zero stamping. Versions of SQL Server earlier than SQL Server 2000 always perform zero stamping.
You should switch the value of the StampFiles parameter during testing to make sure that both instant file initialization and zero stamping are operating correctly.

Filex section

The SQLIOSim utility is designed to allow for multiple file testings. The File x section is represented as [File1], [File2] for each file in the test.

ParameterDefault valueDescriptionComments
FileNameNo default valueFile name and pathThe FileName parameter can be a long path or a UNC path. It can also include a secondary stream name and type. For example, the FileName parameter may be set to file.mdf:stream2.
NOTE In SQL Server 2005, DBCC operations use streams. We recommend that you perform stream tests.
InitialSizeNo default valueInitial size in MBIf the existing file is larger than the value that is specified for the InitialSize parameter, the SQLIOSim utility does not shrink the existing file. If the existing file is smaller, the SQLIOSim utility expands the existing file.
MaxSizeNo default valueMaximum size in MBA file cannot grow larger than the value that you specify for the MaxSize parameter.
Increment0Size in MB of the increment by which the file grows or shrinks. For more information, see the 'ShrinkUser section' part of this article.The SQLIOSim utility adjusts the Increment parameter at startup so that the following situation is established:Increment * MaxExtents < MaxMemoryMB / NumberOfDataFiles
If the result is 0, the SQLIOSim utility sets the file as non-shrinkable.
ShrinkablefalseIndicates whether the file can be shrunk or expandedIf you set the Increment parameter to 0, you set the file to be non-shrinkable. In this case, you must set the Shrinkable parameter to false. If you set the Increment parameter to a value other than 0, you set the file to be shrinkable. In this case, you must set the Shrinkable parameter to true.
SparsefalseIndicates whether the Sparse attribute should be set on the filesFor existing files, the SQLIOSim utility does not clear the Sparse attribute when you set the Sparse parameter to false.
SQL Server 2005 uses sparse files to support snapshot databases and the secondary DBCC streams.
We recommend that you enable both the sparse file and the streams, and then perform a test pass.
NOTE If you set Sparse = true for the file settings, do not specify NoBuffering = false in the config section. If you use these two conflicting combinations, you may receive an error that resembles the following from the tool:
Error:-Error: 0x80070467
Error Text: While accessing the hard disk, a disk operation failed even after retries.
Description: Buffer validation failed on C:SQLIOSim.mdx Page: 28097
LogFilefalseIndicates whether a file contains user or transaction log dataYou should define at least one-log file.

RandomUser section

The SQLIOSim utility takes the values that you specify in the RandomUser section to simulate a SQL Server worker that is performing random query operations, such as Online Transaction Processing (OLTP) I/O patterns.

ParameterDefault valueDescriptionComments
UserCount-1Number of random access threads that are executing at the same timeThe value cannot exceed the following value: CPUCount1023-100
The total number of all users also cannot exceed this value. A value of 0 means that you cannot create random access users. A value of -1 means that you must use the automatic configuration of the following value: min(CPUCount
2, 8)
NOTE A SQL Server system may have thousands of sessions. Most of the sessions do not have active requests. Use the count(*) function in queries against the sys.dm_exec_requests dynamic management view (DMV) as a baseline for establishing this test parameter value.
CPUCount here refers to the value of the CPUCount parameter in the CONFIG section.
The min(CPUCount*2, 8) value results in the smaller of the values between CPUCount*2 and 8.
JumpToNewRegionPercentage500The chance of a jump to a new region of the fileThe start of the region is randomly selected. The size of the region is a random value between the value of the MinIOChainLength parameter and the value of the MaxIOChainLength parameter.
MinIOChainLength1Minimum region size in pages
MaxIOChainLength100Maximum region size in pagesSQL Server 2005 Enterprise Edition and SQL Server 2000 Enterprise Edition can read ahead up to 1,024 pages.
The minimum value is 0. The maximum value is limited by system memory.
Typically, random user activity causes small scanning operations to occur. Use the values that are specified in the ReadAheadUser section to simulate larger scanning operations.
RandomUserReadWriteRatio9000Percentage of pages to be updatedA random-length chain is selected in the region and may be read. This parameter defines the percentage of the pages to be updated and written to disk.
MinLogPerBuffer64Minimum log record size in bytesThe value must be either a multiple of the on-disk sector size or a size that fits evenly into the on-disk sector size.
MaxLogPerBuffer8192Maximum log record size in bytesThis value cannot exceed 64000. The value must be a multiple of the on-disk sector size.
RollbackChance100The chance that an in-memory operation will occur that causes a rollback operation to occur.When this rollback operation occurs, SQL Server does not write to the log file.
SleepAfter5Sleep time after each cycle, in milliseconds

AuditUser section

The SQLIOSim utility takes the values that you specify in the AuditUser section to simulate DBCC activity to read and to audit the information about the page. Validation occurs even if the value of the UserCount parameter is set to 0.

ParameterDefault valueDescriptionComments
UserCount2Number of Audit threadsThe value cannot exceed the following value: CPUCount1023-100
The total number of all users also cannot exceed this value. A value of 0 means that you cannot create random access users. A value of -1 means that you must use the automatic configuration of the following value: min(CPUCount
2, 8)
NOTE A SQL Server system may have thousands of sessions. Most of the sessions do not have active requests. Use the count(*) function in queries against the sys.dm_exec_requests DMV as a baseline for establishing this test parameter value.
CPUCount here refers to the value of the CPUCount parameter in the CONFIG section.
The min(CPUCount*2, 8) value results in the smaller of the values between CPUCount*2 and 8.
BuffersValidated64
DelayAfterCycles2Apply the AuditDelay parameter after the number of BuffersValidated cycles is completed
AuditDelay200Number of milliseconds to wait after each DelayAfterCycles operation

ReadAheadUser section

The SQLIOSim utility takes the values that are specified in the ReadAheadUser section to simulate SQL Server read-ahead activity. SQL Server takes advantage of read-ahead activity to maximize asynchronous I/O capabilities and to limit query delays.

ParameterDefault valueDescriptionComments
UserCount2Number of read-ahead threadsThe value cannot exceed the following value: CPUCount1023-100
The total number of all users also cannot exceed this value. A value of 0 means that you cannot create random access users. A value of -1 means that you must use the automatic configuration of the following value: min(CPUCount
2, 8)
NOTE A SQL Server system may have thousands of sessions. Most of the sessions do not have active requests. Use the count(*) function in queries against the sys.dm_exec_requests DMV as a baseline for establishing this test parameter value.
CPUCount here refers to the value of the CPUCount parameter in the CONFIG section.
The min(CPUCount*2, 8) value results in the smaller of the values between CPUCount*2 and 8.
BuffersRAMin32Minimum number of pages to read per cycleThe minimum value is 0. The maximum value is limited by system memory.
BuffersRAMax64Maximum number of pages to read per cycleSQL Server Enterprise editions can read up to 1,024 pages in a single request. If you install SQL Server on a computer that has lots of CPU, memory, and disk resources, we recommend that you increase the file size and the read-ahead size.
DelayAfterCycles2Apply the RADelay parameter after the specified number of cycles is completed
RADelay200Number of milliseconds to wait after each DelayAfterCycles operation

BulkUpdateUser section

The SQLIOSim utility takes the values that you specify in the BulkUpdateUser section to simulate bulk operations, such as SELECT...INTO operations and BULK INSERT operations.

ParameterDefault valueDescriptionComments
UserCount-1Number of BULK UPDATE threadsThe value cannot exceed the following value: CPUCount*1023-100
A value of -1 means that you must use the automatic configuration of the following value: min(CPUCount*2, 8)
NOTE A SQL Server system may have thousands of sessions. Most of the sessions do not have active requests. Use the count(*) function in queries against the sys.dm_exec_requests DMV as a baseline for establishing this test parameter value.
CPUCount here refers to the value of the CPUCount parameter in the CONFIG section.
The min(CPUCount*2, 8) value results in the smaller of the values between CPUCount*2 and 8.
BuffersBUMin64Minimum number of pages to update per cycle
BuffersBUMax128Maximum number of pages to update per cycleThe minimum value is 0. The maximum value is limited by system memory.
DelayAfterCycles2Apply the BUDelay parameter after the specified number of cycles is completed
BUDelay10Number of milliseconds to wait after each DelayAfterCycles operation

ShrinkUser section

The SQLIOSim utility takes the values that you specify in the ShrinkUser section to simulate DBCC shrink operations. The SQLIOSim utility can also use the ShrinkUser section to make the file grow.

ParameterDefault valueDescription
MinShrinkInterval120Minimum interval between shrink operations, in seconds
MaxShrinkInterval600Maximum interval between shrink operations, in seconds
MinExtends1Minimum number of increments by which the SQLIOSim utility will grow or shrink the file
MaxExtends20Maximum number of increments by which the SQLIOSim utility will grow or shrink the file

Configuration .ini file comments

The semicolon character (;) at the start of a line in the configuration .ini file causes the line to be treated as a single comment.

File creation

The SQLIOSim utility creates separate data files and log files to simulate the I/O patterns that SQL Server generates in its data file and in its log file. The SQLIOSim utility does not use the SQL Server engine to perform stress activity. Therefore, you can use the SQLIOSim utility to test a computer before you install SQL Server.

When you run the SQLIOSim utility, make sure that you specify the same file location that you use for your SQL Server database files. When you do this, the utility simulates the same I/O path as your SQL Server database.

You can enable the compress attribute or the encrypt attribute for the existing test files. You can also enable these attributes for the existing directory where the test files will be created. The corresponding options to enable these attributes are located in the Properties dialog box for a file or for a directory.

By default, the SQLIOSim utility creates test files that have the .mdx and.ldx file name extensions. Therefore, these files will not overwrite existing data and log files.

Warning

Do not specify the actual SQL Server database files for testing. The SQLIOSim utility will overwrite the data with random test patterns, and your actual SQL Server data will be lost.

SQLIOSim error log and handling

The SQLIOSim utility creates the error log file in one of the following locations:

  • The location that you specify in the log startup parameter
  • The location that you specify in the ErrorFile= line in the Sqliosim.cfg.ini file

The SQLIOSim.log.xml error log contains details about the execution. These details include error information. Review the log carefully for error information and for warning information.

Note

If you experience an error in the SQLIOSim utility, we recommend that you ask your hardware manufacturer to help determine the root cause of the issue.

Multiple copies

The SQLIOSim utility accommodates multiple-file-level testing and multiple-user-level testing. The SQLIOSim utility does not require multiple invocations. However, the SQLIOStress utility requires multiple invocations. You can run multiple copies of the SQLIOSim utility if the following conditions are true:

  • All copies reference unique testing files per instance of the utility.
  • The MaxMemoryMB parameter of each instance provides for a non-overlapping memory region that is sufficient for each instance.

The sum of the MaxMemoryMB parameter for each instance must be less than or equal to the total physical memory. Some testing phases, such as checkpoint simulation, can be memory-intensive and may create out-of-memory conditions when you run multiple copies. If you experience out-of-memory errors, you can reduce the number of utility copies that are running.

Sample configuration files

In addition to the default Sqliosim.cfg.ini file, the package provides the following sample files.

Sample fileDescriptionParameters that differ from the default configuration file
Sqliosim.hwcache.cfg.iniMinimize reads
Files are made small to keep them fully in memory
No sequential reads
For the AuditUser section and for the ReadAheadUser section:
CacheHitRatio=10000
UserCount=0
Sqliosim.nothrottle.cfg.iniRemove I/O throttling
Minimize the time to wait to increase I/O volume
TargetIODuration=1000000
AuditDelay=10
RADelay=10
Sqliosim.seqwrites.cfg.iniMinimize reads
Files are made small to keep them fully in memory
Files are made non-shrinkable
No sequential reads
No random access
Bulk update in large chunks without delays
Shrinkable=FALSE
For the AuditUser section, for the ReadAheadUser section, and for the RandomUser section:
CacheHitRatio=10000
ForceReadAhead=FALSE
BuffersBUMin=600
BuffersBUMax=1000
BUDelay=1
UserCount=0
Sqliosim.sparse.cfg.iniUse only 32 MB of memory
Make target I/O duration large enough to enable many outstanding I/O requests
Disable scatter/gather APIs to issue separate I/O requests for every 8-KB page
Create a 1-GB non-shrinkable file
Create a 1-GB non-shrinkable secondary sparse stream in the file
MaxMemoryMB=32
TestCycles=3
TestCycleDuration=600
TargetIODuration=10000
UseScatterGather=FALSE
[File1]
FileName=sqliosim.mdx
InitialSize=1000 MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=FALSE
[File2]
FileName=sqliosim.ldx
InitialSize=50
MaxSize=50
Increment=0
Shrinkable=FALSE
LogFile=TRUE
Sparse=FALSE
[File3]
FileName=sqliosim.mdx:replica
InitialSize=1000
MaxSize=1000
Increment=10
Shrinkable=FALSE
LogFile=FALSE
Sparse=TRUE

References



Similar Messages:
ADVERTISEMENT

How To Stress Test The DR Server

Dec 27, 2007

Hi all,
We have configured a DR server for our Production Server for Database Mirroring.
But, before bringing DR Server into live, we will setup Mirroring between our DR & TEST Server for Stress Testing on new DR Server.
So, What is best way to Stress test the DR Server, before bringing DR Server into Live.
Thanks.

SQL Server Performance Stress Test

Jan 11, 2005

I have been asked to perform a performance stress test on a SQL server with new hardware that we are going to be receiving.
How have some of you performed your stress analysis against new or existing hardware?
This hardware that I am going to receive will have to be configured within a high availabilty environment. I want to take this opportunity to really put a beat down on this server.
Thank you all for your suggestions.

Memory Stress Test In SQL Server 2005

Apr 2, 2007
Sql Server Stress Test Tool

I have a Windows 2003 Server running SQL 2005. The server has 32 GB of memory and I have enabled AWE in SQL. I have also configured the min and max SQL memory as 1 GB and 28 GB, respectively. However, this server currently has very low activity so I'm not sure whether my AWE-related changes worked. SQLSERVR.EXE process takes up about 100 MB of memory. Is there any tool or scripts that I can use to memory stress SQL to confirm that AWE is really in effect ?

Physical RAM Stress Test

Nov 20, 2006

Hi,
I have a new server where 32GB of RAM is installed and I have user databases on this server.I am using SQL server 2000 Enterprise edition and Platform is Windows 2003 adv server, which supports upto 128GB of memory.
sp_configure 'awe enabled' is set to 1 and at OS level, AWE is enabled as well.
max server memory (MB) is 2147483647
I was doing some stress test on this server but memory usage doesn't go beyond 180MB....can someone suggest a test for physical RAM ?
How can I make sure that application will make full use of available physical memory?
Rgds
Wilson

Timeout Exception During Long Running Stress Test

Dec 5, 2006

Hi,
We have built two testing apps for sending and receiving files across the network reliably using SQL Express as the database backend. The apps seem to be working fine under light load. However during stress test, we always get the following exception:
'System.Data.SqlClient.SqlException: Timeout expired. The timeout period elapsed prior to completion of the operation or the server is not responding.'
During stress test, both the sender and receiver are running on the same machine. Sender creates file fragments, store them in the sender database and then send out to the network. File fragments will be deleted from the sender database when the sender receives acknowledgement from the receiver. On the receiver side, file fragments will be stored in the receiver database as they are coming in from the network. Corresponding file fragments will be deleted from the receiver database when a complete file is received.
There is maximum of about 1500 updates and 1500 deletes per second on the sender database. On the receiver side, maximum is about 300 updates and 300 deletes per second. Our goal is to send 30 GB of data (it should run for about 10 hrs). As said before we never have a good completed test run, a 'timeout' exception is always thrown from the sender app (when it tries to end a transaction). It could happen as early as 1.5 hrs after we started the test. Note that although we are sending 30 GB of data, but at any point in time the database shouldn't be too big (should be well within 4 GB limit) because we delete file fragments relatively soon.
Next we changed the 'Query Wait' setting in the Management Studio Advanced setting from the default '-1' to a very big number, then we have a successful run of sending 30 GB of data.
- First of all, are we not doing this properly in terms of dealing with SQL Express? Is SQL Express able to handle long running heavy load transactions for hours?
- We also noticed even before we got the timeout exception, the memory usage of sqlserver.exe keeps growing. Maybe it doesn't have a chance to cleanup internally. If the app hammers SQL Express for hours, I wonder how does it handle fragmentation? I assume it needs some sort of de-fragmenation, otherwise performance will degrade significantly...
- Seems like the Query Wait setting plays an important role here, any guideline on how to pick a reasonable value? Or should we pick a relatively small number and then do re-try in our app when we get timeout exceptions?
- Is it possible that we are running into some SQL Express resource limits? Any idea of how can we tell other than the VM size of sqlserver.exe?
Any help or suggestions would be greatly appreciated!
Thanks very much
W Wong

Tool To Test Stored Procedure In SQL Server

Jan 30, 2007

Hi All
Is there any Tool available To Test Stored procedure in SQL server?
Thanks in Advance
Abin

Stress-Testing SQL Server

Jan 28, 2005

What do you recommend for stress-testing the performance of key stored procedures (they have been identified) for our application? The parameters can be programatically selected, for example:
Select 'exec my_proc @id = ' + Cast(id As varchar)
From myTable
Where foo = 'bar'
I have the Support Tools Available For Stress Testing & Performance Analysis (http://www.microsoft.com/downloads/details.aspx?FamilyId=5691AB53-893A-4AAF-B4A6-9A8BB9669A8B&displaylang=en) from Microsoft's site and they are pretty good.
Recommendations appreciated, and thanks in advance!

DB Engine :: Replicate A Master Test Database To 100 Test Environments?

Oct 12, 2015

We are setting up a test lab environment with 100 machines. We want one master testing db that gets replicated to each to run scripted application tests nightly.
My goal is to minimize the amount of work to move this thing to each of the 100 test machines. I am wondering if we need to even have the sql local and invest in a monster db server with 100 copies of the db we restore and each test machine point to their own db on that server, or if I should use db mirroring or something to get the master test db to each of those machines instead.

Unit Testing For SSIS - To Test Or Not To Test?

Oct 17, 2006

Now that we have a good programming model in SSIS - the question is whether to write automated unit tests for your packages, and would it generally be a good idea for packages?
Also - if yes to write tests - then where to find more informations regarding How to accomplish that?

How To Test SSis Package And What Are The Things I Need To Test It ?

Nov 27, 2007


hi every one,
i need to test SSIS pacakge which will import data from different database where record count is around 5 millions.
iam planning to test it through c# code as well as manually also.
SSIS source : consist of 7 tables
SSIS destination :consist of 7 tables
Using c# code iam trying to run ssis package through batch file.
i am putting expected rowcount, column count in an excel file and comparing same with destination tables by writing query implementing ADO.Net concept.
am i going right way ,can any one suggest best and productive way to test the ssis package .
what are the other things i need to test it.
do any one can add test cases to it.
S.No
Test Case
1
Verify all the tables have been imported.
2
Verify all the rows in each table have been imported.
3
Verify all the columns specified in source query for each table have been imported
4
Verify all the data has been received without any truncation for each column.
5
Verify the schema at source and destination
6
Verify the time taken /speed for data transfer
7
Fields truncated due to difference in length of the field at destination.
Regards
Arif shareef

STRESS TESTING

May 1, 2001

Hi,
Is there anyway to test the loadtesting/Stress testing on SQLSERVER. I wanted to executes a Store procedure with concurrent users.
Thanks
JK

Stress Tools

Oct 26, 2000

can anyone tell me where can download stress testing tool for SQL Server 7.0.
Thank You,
Piyush Patel

Stress Testing

Dec 24, 2002

Anyone have a tool or script to run to test a SQL server under heavy stress?

Stress Management

Sep 22, 1998

What exactly `Stress Management` is.
Any tools for assessing Stress Management?

Sql server stress test tool download

Stress Tester

May 18, 2001

Anyone know a decent stress tester tool for SQL Server2000? I need to simulate many concurrent users executing queries...
Regards,
/S

BULK IMPORT Stress

Jul 26, 2006

I am trying to import a data file, which is tab delimited, using BULKINSERT. I have used BCP to create a format file, since the destinationtable has around 20 columns, but the data file has only three.Here's the problem: The columns I am trying to import comprise ID (anint identity column), Name (a varchar(255) column and Status (a smallint column). The data file contains identity values for the firstcolumn, so I am using the KEEPIDENTITY modifier. The Status column ismandatory, so I have set all rows in the data file to zero for thatcolumn. All of the other columns in the destination table either allowNULL or have default values. When I BULK INSERT the file using theformat file the identity columns are NOT imported and the Status columngets value 3376. The Name column is the only one that gets importedcorrectly. Here's the format file:8.031 SQLINT 0 4 ' ' 1 ID'2 SQLCHAR 0 0 ' ' 2 NameSQL_Latin1_General_CP1_CI_AS3 SQLSMALLINT 0 2 ' 4 Status'Sorry it's a bit messy.Where is 3376 coming from, and why are my identity values for column IDnot being imported?

Stress Testing A Datawarehouse Hardware Set Up

Mar 8, 2002

I am testing different raid setups in a Datawarehousing environment.
E.G
3 X Raid 5 (with four filegroups)
3 X Raid 10 (with four filegroups)
At the moment I have chance to trial different hardware configurations.
I want to measure what are the performance differences
I need to stress test these configs. Is there any tools I can use to do this.
Any loads I can use. What should I measure.
Are there any aricles for the environment
Any help would be great
Pete

SSIS Foreach Loop Stress Testing Problem.

Mar 2, 2006

I am currently working on a project which needs to load over a 1000 xml files. The files are stored across 10 subfolders. I am using a foreach loop with a file enumerator, which is configured at the top of the folder structure and traverses the subfolders. This loops through the files, load the data and then moves the file to another folder. The package executes fine for a few 100 files but then hangs; this happens after a different number of processed files each time the package is run. While trying to resolve the problem we ran performance counters and noticed that the number open handles increased significantly just about the time Dtexec looked like it had hanged and DTexec also then started taking a lot of the cpu processing time. Has one else come across similar situations?

Asp.net Confgiguration Tool. Tool Keeps Timing Out

Mar 2, 2006

is it possible to change the settings on this tool. i want to have it so that it does not time out at all? or is that possible??

SQL 2012 :: Restore DB From Prod To Test - How To Restore Users In Test

Jun 25, 2015

I need to restore test DB from production backup but once it is restored I would need all the permissions of sql logins and windows AD account intact in test Db as it was before.

BI - Test Server

Jul 20, 2007

Hi,
I am new to BI. Can someone please tell me step by step how to setup BI test enviroment at work?
Thank you so much.

How To Test SP In SQL Server Express?

Feb 23, 2006

How can I test a stored proc that is in my SQL Server Express 2005 database? I don't see anything in VS 2005 or a Query Analyzer in SSMS express. Thanks

Connecting To SQL Test Server

Jan 18, 1999

Hi!
I'm currently having a problem connecting to my SQL Server6.5 test
server. (Not the hottest problem since it is only the test server, but
it sure would be nice to use it.) I was able to connect to it from my
desktop (Win95 machine) up until this morning. I get the following
error when I try connecting 'A connection could not be established to
PIGLET- DB-Library. Unable to connect: SQL Server is unavailable or does
not exist. General network error. Check your documentation.'
Does anyone have any idea what this should mean to me? I do have the
server running and I am able to perform actions there, but not from my
desktop. Any suggestions?
Thank you!
Toni Eibner

Test Server Configuration

Apr 15, 2004

I have a recommended configuration for production server. But, is there any guidelines for determining the test server configuration when compared to production. I know test server need not be as powerful as production, but I am not sure how to decide the test server configuration. Any help would be appreciated

Auto Restore .bak From Production To Same Server's TEST Db With Other Dbs &&amp; .baks In Same Server.

Aug 10, 2007


Howdy;
I've tried this in the 'tools' area, but that didn't work too well. I suspect, I will have to generate a T-SQL code then schedule it as a job. Why I can't just drag and drop with basic desires, is beyond me, but THAT probably does exist.
anyway here is the problem
[this server has many databases, on SQL 2000 sp2]
1. User only wants me to use Monday morning's full backup, which is good in that it doesn't include transaction logs.
2. Restore that data overtop/into Developement db. = good, no data to worry about damaging.
3. User does NOT want me to do this by hand, but schedule it.
ok,
a. must do a RESTORE WITH FILELISTONLY from [?] what ?, master? and if I user the *.bak of the production, it has
a coded date field in the name entry SO, I would, I guess, have to generate all sorts of wonderful code to find the date and build a file name. Why, because using the FROM DISK = 'F:MSSQLBACKUPDBPRODUCTION_yyyyddmm.BAK' is not going to work with a wild card.
Can I do a file lookup using a 'PRODUCTION' prefix into a variable, then use that or should I look for latest file date [remember there are several database backups here], or ????
then. How does one schedule such a T-SQL. Do I save it to some text file, and invoke it using a job scheduler.
any help appreciated.
IS there an easier way.
rik

Moving Just Data Between A Production Server & Test Server

Feb 28, 2000

Load Test Sql Server

We have both a production SQL 7 server, QA, and Development. From time to time, I want to move just the data from the production server to the other 2 servers without modifing the objects that may have been changed such as stored procedures and rights. Is there a way using the SQL tools provided that we can just move the data. Becuase also what happens is that the rights to the objects change which means my developers no longer have access to the tables for selects in QA since the changes where overwritten by production where they do not have the rights.
Thanks
Ricky Kelley

Is There An Online Remote SQL Server I Can Test Against?

Jun 5, 2006

HiI am trying to connect an application to a remote sql server database, however it does not appear to eb configured for remote connections. Does anyone know a connection string of a database I can connect to , soem sort of learnsers database sort of idea ?Thank you.

SQL 7 DB Restore To Test Server Using With Move

Jan 8, 2001

I am trying to copy a production db (26.5 gigs) with a 3 gig log from production to a test server. The Prod db name is EDD_Cat which resides on one logical drive for the data (.mdf) and another logical drive for the log (.ldf). The test server does not have the same physical raid allocation. The only way that I can get that much space is to spread the data across 3 logical drives. I have preallocated a database called EDD_CatT with the same total physical db size. I have not been successful in restoring from a sql backup device (copied from production) to the new test db. Here are my tsql statements and error:
Restore Database EDD_Catt
from Iloc01bkp
with File=2,
Move 'EDD_Cat_dat' to 'D:Mssql7DataEDD_Cat.mdf',
Replace,
Move 'EDD_Cat_dat' to 'E:Mssql7DataEDD_Cat2.ndf',
Replace,
Move 'EDD_Cat_dat' to 'F:Mssql7DataEDD_Cat3.ndf',
Replace,
Move 'EDD_Cat_log' to 'G:Mssql7DataEDD_Log1.ldf',
Replace
start db restore
---------------------------
2001-01-02 12:23:31.610
(1 row(s) affected)
Server: Msg 3257, Level 16, State 1, Line 0
There is insufficient free space on disk volume 'E:' to create the database. The database requires 20447232000 additional free bytes, while only 1732972544 bytes are available.
Server: Msg 3013, Level 16, State 1, Line 0
Backup or restore operation terminating abnormally.
I also tried using EM but basically got the same type of error.
I could do this with SQL 6.5 as long as the db size was the same or larger.
Any advice/suggestions will be greatly appreciated. BOL and the manuals that I have seem to only give examples that have one file for the data and another for the log but I could not find one that gave an example of what I am trying to do.
Thanks much for your time
Calvin Matsumoto - State of California

Test Load A MS SQL Server (version 7)

Dec 13, 1999

I need to create a test load a MS SQL Server 7.0 server of 250 users.
Does anyone know of any application(s) that can do or any processes
that can mimic a load such as this?

Restore Of Prodcution DB To Test DB On Another Server

Oct 1, 2006

Hello
Can anybody give me an idea or a script which can be used to Restore a production Database to Test Database on another server. As I need to do this 3 days a week, I would like to make this automated.
Thanks

Creating Test SQL Server Environments

Nov 5, 2007

Hi,
I was wondering if anyone has a neat (preferably automated) method of creating small testing databases from large production instances.
My requirement would be to copy the schema and a subset of configuration data from a production database into a test database. The subset of data would be a full copy of a subset of tables, rather than a subset of data within one or more tables. There is a mixture of SQL2000 and SQL2005 servers involved in this requirement. I'm familar with the scripting mechanisms of Enterprise Manager and Management studio and DTS packages, sufficent to perform a process like this manually, but want to productionise and schedule this process to be performed automatically.
I'm sure this must be a commonly performed task, so I'm interested to know if anyone has a 'best practice' for this requirement.
Thanks,
Bill

Sql Server Stress Test Tool Kit

Generating Test Data In SQL Server

Ms Sql Server Benchmark Stress Test Tools

Jul 3, 2006

Sql Query Stress Tool Download

Hi,
I use SQL Server 2005 Dev Edition and am not new to making databases (then again, I've had enough experience and my dad does the same thing).
I am (unfortunately) a university student and for my dissertation I am going to produce a SQL Server database with a strong emphasis on data mining.
Obviously, for the data mining to be useful at all I need to produce loads and loads of test data.
Fair enough, and there are applications which do this, such as EMS Data Gen, but can anyone recommend me any other data gen utilities? EMS Data Gen has poor handling of unique attributes, and as I am doing a car manufacturer this will give me problems when I come to the registration number attribute.
Also, why are utilities for SQL Server (and Oracle at that) so expensive? This makes it out of my reach and makes it difficult to build a truly good database that will net me good marks, and demotivates me. :(
Lastly, please feel free to recommend to me any utilities for SQL Server - such as performance monitors, backup utilities. Anything. But if they are priced utilities, they have to be sensibly priced (<£100), because I cannot yet afford to pay >£1k on such utiltiies.
Thanks





Coments are closed