OGG for SQL Server - Extract stops capturing - Bug?
Hi, all,
I've found a problem with OGG for SQL Server where the Extract stops capturing data after the transaction log is backed up. I've looked for ways to reconfigure OGG to avoid the problem but couldn't find any reference to options to workaround this problem. It seems to be a bug to me.
My Extract configuration is as follows:
EXTRACT ext1
SOURCEDB mssql1
TRANLOGOPTIONS NOMANAGESECONDARYTRUNCATIONPOINT
EOFDELAY 60
EXTTRAIL dirdat/e1
TABLE dbo.TestTable;
I'm using the EOFDELAY parameter for testing purposes only, since it's easy to reproduce the scenario that causes the issue when the extract polling is configured with longer intervals.
When the Transaction Log backup runs, SQL Server marks all the virtual logs that are older than the primary and secondary truncation points as inactive (status = 0). These virtual logs can then be reused if required. They still contain change records, though, and OGG can read from then if required, before they are overwritten. This situation will never occur if we are not using SQL Replication and have the Extract configured with the parameter MANAGESECONDARYTRUNCATIONPOINT.
However, I'm trying to simulate a scenario where OGG is used along SQL Replication and the extract is configured with the NOMANAGESECONDARYTRUNCATIONPOINT option. The situation that I've reproduced and caused the Extract to stop capturing is the follow sequence of events:
1. Extract reads transaction log and capture change up to LSN X
2. More change are made to the database and the LSN is incremented
3. Log Reader reads Transaction Log, captures changes up to LSN X+Y and advances the secondary truncation point to that LSN
4. A transaction log occurs, backs up all the active virtual logs, advances the primary truncation point to a LSN greater than LSN X+Y, and marks all the virtual logs with LSNs <= X+Y as inactive (status = 0)
5. Changes continue to happen in the database consuming all the available inactive virtual logs and overwriting them.
6. The extract wakes up again to capture more changes.
At this point, the changes between LSNs X and X+Y are not in the Transaction Log anymore, but are available in the backups. From what I understood in the documentation the Extract should detect that situation and retrieve the changes from the Transaction Log backups. This, however, is not happening and the Extract becomes stuck. It still pools the transaction log at the configured interval query the log state with DBCC LOGINFO, but doesn't move forward anymore.
If I stop and restart the Extract I can see from the trace that it does the right thing upon startup. It realises that it requires information that's missing from the logs, query MSDB for the available backups, and mine the backups to get the required LSNs.
I would've thought the Extract should do the same during normal operation, without the need for a restart.
Is this a bug or the normal operation of the Extract? Is there a way to configure it to avoid this situation without using NOMANAGESECONDARYTRUNCATIONPOINT?
The following is the state of the Extract once it gets stuck. The last replicated change occurred at 2012-07-09 12:46:50.370000. All the changes after that, and there are many, were not captured until I restarted the Extract.
GGSCI> info extract ext1, showch
EXTRACT EXT1 Last Started 2012-07-09 12:32 Status RUNNING
Checkpoint Lag 00:00:00 (updated 00:00:54 ago)
VAM Read Checkpoint 2012-07-09 12:46:50.370000
LSN: 0x0000073d:00000aff:0001, Tran: 0000:000bd922
Current Checkpoint Detail:
Read Checkpoint #1
VAM External Interface
Startup Checkpoint (starting position in the data source):
Timestamp: 2012-07-09 11:41:06.036666
LSN: 0x00000460:00000198:0004, Tran: 0000:00089b02
Recovery Checkpoint (position of oldest unprocessed transaction in the data so
urce):
Timestamp: 2012-07-09 12:46:50.370000
LSN: 0x0000073d:00000afd:0004, Tran: 0000:000bd921
Current Checkpoint (position of last record read in the data source):
Timestamp: 2012-07-09 12:46:50.370000
LSN: 0x0000073d:00000aff:0001, Tran: 0000:000bd922
Write Checkpoint #1
GGS Log Trail
Current Checkpoint (current write position):
Sequence #: 14
RBA: 28531192
Timestamp: 2012-07-09 12:50:02.409000
Extract Trail: dirdat/e1
CSN state information:
CRC: D2-B6-9F-B0
CSN: Not available
Header:
Version = 2
Record Source = A
Type = 8
# Input Checkpoints = 1
# Output Checkpoints = 1
File Information:
Block Size = 2048
Max Blocks = 100
Record Length = 20480
Current Offset = 0
Configuration:
Data Source = 5
Transaction Integrity = 1
Task Type = 0
Status:
Start Time = 2012-07-09 12:32:29
Last Update Time = 2012-07-09 12:50:02
Stop Status = A
Last Result = 400
Thanks!
Andre
It might be something simple (or maybe not); but the best/fastest way to troubleshoot this would be to have Oracle (GoldenGate) support review your configuration. There are a number of critical steps required to allow GG to interoperate with MS's capture API. (I doubt this is it, but is your TranLogOptions on one line? It looks like you have it on two , the way it's formatted here.)
Anyway, GG support has seen it all, and can probably wrap this up quickly. (And if it was something simple -- or even a bug -- do post back here & maybe someone else can benefit from the solution.)
Perhaps someone else will be able to provide a better answer, but for the most part troubleshooting this (ie, sql server) via forum tends to be a bit like doing brain surgery blindfolded.
Similar Messages
-
OGG-00868 SQL Server 2008 has problem with ODBC in the EXTRACT process
Hello Everyone
I want to replicate tables between MS SQLServer 2008 and Oracle 10g
I have Windows XP / MS SQLServer 2008 and Oracle Database 10g R 10.2.0.1.0 running on Red Hat Linux
I followed the steps from the white paper (http://www.oracle.com/technetwork/articles/datawarehouse/oracle-sqlserver-goldengate-460262.html)
and Installed Oracle Golden Gate Version 11.2.1.0.1 (for Linux) and the Version 11.2.1.0.1 32bits (for Windows XP)
I followed all steps of the white paper without problem and I could do the initial load in
the Oracle Database from SQL Server sucessfully.
But when I tried to set and start the Extract process from SQL SERVER
a error was generated in the file c:\gg\dirrpt\MSEXT.rpt and the process is ABENDING
GGSCI > info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED MSEXT 00:00:00 03:22:29
2013-08-25 11:59:41 ERROR OGG-00868 Executing statement for select operation Database error 213 ([Microsoft][SQL Server Native Client 10.0][SQL Server]Column name or number of supplied values does not match table definition.
[Microsoft][SQL Server Native Client 10.0][SQL Server]DBCC execution completed. If DBCC printed error messages, contact your system administrator.
[Microsoft][SQL Server Native Client 10.0][SQL Server]Column name or number of supplied values does not match table definition.
[Microsoft][SQL Server Native Client 10.0][SQL Server]DBCC execution completed. If DBCC printed error messag).
2013-08-25 11:59:41 ERROR OGG-01668 PROCESS ABENDING.
If somebody has a clue or faced something similar please let me how could solve it.
Thanks
JuanHello mb_ogg,
Yes, I had created a Data Source HR Driver= SQL Server (second Tab System DSN) and I also had tried with
the driver SQL Server Native Client 10.0 but I faced the same error.
The database by default is EMP
Below is my configuration
Microsoft SQL Server ODBC Driver Version 03.85.1117
Data Source Name: HR
Data Source Description:
Server: JUAN-XP
Database: EMP
Language: (Default)
Translate Character Data: Yes
Log Long Running Queries: No
Log Driver Statistics: No
Use Integrated Security: Yes
Use Regional Settings: No
Prepared Statements Option: Drop temporary procedures on disconnect
Use Failover Server: No
Use ANSI Quoted Identifiers: Yes
Use ANSI Null, Paddings and Warnings: Yes
Data Encryption: No
I also clicked on the button "Test Data Source" with the below messages:
Microsoft SQL Server ODBC Driver Version 03.85.1117
Running connectivity tests...
Attempting connection
Connection established
Verifying option settings
Disconnecting from server
TESTS COMPLETED SUCCESSFULLY!
Then I went to Database Properties (Right Click) /Oprtion and Recovery model field has Full value
I also made a Backup (Backup Type = Full)
The Backups was made to Disk: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Backup\EMP.bak
Today I repeated the same steps and I got the same error (I Copied at the end):
I also have the follow question:
Is necessary define the location of the backup of MS SQL Server to say to GG where it can get it?
GSCI (juan-xp) 1> DBLOGIN SOURCEDB HR
2013-08-27 21:16:32 INFO OGG-03036 Database character set identified as win
dows-1252. Locale: en_US.
2013-08-27 21:16:32 INFO OGG-03037 Session character set identified as wind
ows-1252.
Successfully logged into database.
GGSCI (juan-xp) 3> ADD TRANDATA HRSCHEMA.EMP
Logging of supplemental log data is enabled for table hrschema.emp
GGSCI (juan-xp) 4> EDIT PARAMS DEFGEN
GGSCI (juan-xp) 5> exit
C:\gg>defgen paramfile c:\gg\dirprm\defgen.prm
Oracle GoldenGate Table Definition Generator for SQL Server
Version 11.2.1.0.2 OGGCORE_11.2.1.0.2T3_PLATFORMS_120724.2205
Windows (optimized), Microsoft SQL Server on Jul 25 2012 03:37:58
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
Starting at 2013-08-27 21:18:23
Operating System Version:
Microsoft Windows XP Professional, on x86
Version 5.1 (Build 2600: Service Pack 2)
Process id: 3236
** Running with the following parameters **
defsfile c:\gg\dirdef\emp.def
Source Context :
SourceModule : [defgen.main]
SourceID : [defgen/defgen.c]
SourceFunction : [create_defgen_file]
SourceLine : [808]
2013-08-27 21:18:23 ERROR OGG-00037 DEFSFILE file c:\gg\dirdef\emp.def alrea
dy exists.
2013-08-27 21:18:23 ERROR OGG-01668 PROCESS ABENDING.
C:\gg>defgen paramfile c:\gg\dirprm\defgen.prm
Oracle GoldenGate Table Definition Generator for SQL Server
Version 11.2.1.0.2 OGGCORE_11.2.1.0.2T3_PLATFORMS_120724.2205
Windows (optimized), Microsoft SQL Server on Jul 25 2012 03:37:58
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
Starting at 2013-08-27 21:19:03
Operating System Version:
Microsoft Windows XP Professional, on x86
Version 5.1 (Build 2600: Service Pack 2)
Process id: 3312
** Running with the following parameters **
defsfile c:\gg\dirdef\emp.def
sourcedb hr
2013-08-27 21:19:05 INFO OGG-03036 Database character set identified as win
dows-1252. Locale: en_US.
2013-08-27 21:19:05 INFO OGG-03037 Session character set identified as wind
ows-1252.
table hrschema.emp;
Retrieving definition for hrschema.emp
Definitions generated for 1 table in c:\gg\dirdef\emp.def
C:\gg>ggsci
Oracle GoldenGate Command Interpreter for SQL Server
Version 11.2.1.0.2 OGGCORE_11.2.1.0.2T3_PLATFORMS_120724.2205
Windows (optimized), Microsoft SQL Server on Jul 25 2012 02:57:42
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
GGSCI (juan-xp) 1> start manager
MGR is already running.
GGSCI (juan-xp) 2> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
GGSCI (juan-xp) 3> ADD EXTRACT MSEXT, TRANLOG, BEGIN NOW
EXTRACT added.
GGSCI (juan-xp) 4> ADD RMTTRAIL /u01/app/oracle/gg/dirdat/ms, EXTRACT MSEXT
RMTTRAIL added.
GGSCI (juan-xp) 5> EDIT MSEXT
ERROR: Invalid command.
GGSCI (juan-xp) 6> edit params msext
GGSCI (juan-xp) 7> START EXTRACT MSEXT
Sending START request to MANAGER ('GGSMGR') ...
EXTRACT MSEXT starting
GGSCI (juan-xp) 8> show all
Parameter settings:
SET SUBDIRS ON
SET DEBUG OFF
Current directory: C:\gg
Using subdirectories for all process files
Editor: notepad
Reports (.rpt) C:\gg\dirrpt
Parameters (.prm) C:\gg\dirprm
Replicat Checkpoints (.cpr) C:\gg\dirchk
Extract Checkpoints (.cpe) C:\gg\dirchk
Process Status (.pcs) C:\gg\dirpcs
SQL Scripts (.sql) C:\gg\dirsql
Database Definitions (.def) C:\gg\dirdef
GGSCI (juan-xp) 9> info all
Program Status Group Lag at Chkpt Time Since Chkpt
MANAGER RUNNING
EXTRACT STOPPED MSEXT 00:00:00 00:02:34
GGSCI (juan-xp) 10> EDIT MSEXT
Report MSEXT.rpt with same error
Oracle GoldenGate Capture for SQL Server
Version 11.2.1.0.2 OGGCORE_11.2.1.0.2T3_PLATFORMS_120724.2205
Windows (optimized), Microsoft SQL Server on Jul 25 2012 03:49:54
Copyright (C) 1995, 2012, Oracle and/or its affiliates. All rights reserved.
Starting at 2013-08-27 21:30:26
Operating System Version:
Microsoft Windows XP Professional, on x86
Version 5.1 (Build 2600: Service Pack 2)
Process id: 2452
Description:
** Running with the following parameters **
2013-08-27 21:30:26 INFO OGG-03035 Operating system character set identified as windows-1252. Locale: en_US, LC_ALL:.
EXTRACT MSEXT
SOURCEDB HR
2013-08-27 21:30:28 INFO OGG-03036 Database character set identified as windows-1252. Locale: en_US.
2013-08-27 21:30:28 INFO OGG-03037 Session character set identified as windows-1252.
TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
RMTHOST OCM, MGRPORT 7809
RMTTRAIL /u01/app/oracle/gg/dirdat/ms
TABLE HRSCHEMA.EMP;
2013-08-27 21:30:28 INFO OGG-01815 Virtual Memory Facilities for: COM
anon alloc: MapViewOfFile anon free: UnmapViewOfFile
file alloc: MapViewOfFile file free: UnmapViewOfFile
target directories:
C:\gg\dirtmp.
CACHEMGR virtual memory values (may have been adjusted)
CACHESIZE: 1G
CACHEPAGEOUTSIZE (normal): 4M
PROCESS VM AVAIL FROM OS (min): 1.57G
CACHESIZEMAX (strict force to disk): 1.41G
Database Version:
Microsoft SQL Server
Version 10.00.1442
ODBC Version 03.52.0000
Driver Information:
SQLSRV32.DLL
Version 03.85.1117
ODBC Version 03.52
Source Context :
SourceModule : [ggvam.param]
SourceID : [../gglib/ggvam/cvamparams.cpp]
SourceFunction : [com_goldengate_vam::validateIfSqlServer]
SourceLine : [1955]
2013-08-27 21:30:28 ERROR OGG-00868 Executing statement for select operation Database error 213 ([Microsoft][ODBC SQL Server Driver][SQL Server]Column name or number of supplied values does not match table definition.
[Microsoft][ODBC SQL Server Driver][SQL Server]DBCC execution completed. If DBCC printed error messages, contact your system administrator.
[Microsoft][ODBC SQL Server Driver][SQL Server]Column name or number of supplied values does not match table definition.
[Microsoft][ODBC SQL Server Driver][SQL Server]DBCC execution completed. If DBCC printed error messages, contact your system admi).
2013-08-27 21:30:28 ERROR OGG-01668 PROCESS ABENDING.
Thanks
Juan -
SQL Server - Extract Error - OGG-00868 Supplemental logging is disabled
Hello,
We are trying to replicate from a SQL Server 2008 database to Oracle database, but when trying to start the extract process we are getting the following error message:
OGG-00868 Supplemental logging is disabled for database 'GoldenGate'. To enable logging, perform the following: 1) Set 'trunc. log on chkpt.' to false. 2) Create a full backup of the database. Please refer to the "Oracle GoldenGate For Windows and UNIX Administration Guide" for details.
I have read that for enabling the supplemental logging is enough to "add trandata table_name", and this is done, and the extract process we are using is the following:
EXTRACT cap_or4
SOURCEDB GoldenGate
TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
EXTTRAIL c:\GoldenGate\V28983-01-GG-111112-SQLServer-Windows-x64\dirdat\C4
TABLE GoldenGate.dbo.DES_T1;
And the 'trunc.log on chkpt' is set to false.
We don’t know what else to do, or to check... does anyone have any idea?!
Thank you very much, best regards,
Araitz.-Have you followed all the process for installing as per the guide? clearly you missed something
Please follow below steps.
Installation & Configuration of Oracle GoldenGate for MS SQL Server:
Pre-requisites:
1.Change Data Capture (CDC) must be enabled for Oracle GoldenGate and will be enabled by Oracle GoldenGate by means of the ADD TRANDATA command.
2.SQL Server source database must be set to use the full recovery model.
3.Oracle GoldenGate does not support system databases.
4.After the source database is set to full recovery, a full database backup must be taken.
5.SQL Server 2008 ODBC/OLE DB: SQL Server Native Client 10.0 driver
6.Oracle GoldenGate processes can use either Windows Authentication or SQL Server Authentication to connect to a database.
7.Before installing Oracle GoldenGate on a Windows system, install and configure the Microsoft Visual C ++ 2005 SP1 Redistributable Package. Make certain it
is the SP1 version of this package, and make certain to get the correct bit version for your server. This package installs runtime components of Visual C++
Libraries. For more information, and to download this package, go to http://www.microsoft.com.
Privileges:
1.Required SQL Server privileges for Manager when using Windows authentication
Extract(source system)
BUILTIN\Administrators account must be a member of the SQL Server fixed server role System Administrators.
Account must be a member of the SQL Server fixed server role System Administrators
Replicat (target system)
BUILTIN\Administrators account must be at least a member of the db_owner fixed database role of the target database.
Account must be at least a member of the db_owner fixed database role of the target database.
2.Required SQL Server privileges for Extract and Replicat when using SQL Server authentication
Extract - Member of the SQL Server fixed server role System Administrators.
Replicat - At least a member of the db_owner fixed database role of the target database.
Downloading Oracle GoldenGate
Download the appropriate Oracle GoldenGate build to each system that will be part of the Oracle GoldenGate configuration.
1. Navigate to http://edelivery.oracle.com.
2. On the Welcome page:
--Select your language.
--Click Continue.
3. On the Export Validation page:
--Enter your identification information.
--Accept the Trial License Agreement (even if you have a permanent license).
--Accept the Export Restrictions.
--Click Continue.
4. On the Media Pack Search page:
--Select the Oracle Fusion Middleware Product Pack.
--Select the platform on which you will be installing the software.
--Click Go.
5. In the Results List:
--Select the Oracle GoldenGate Media Pack that you want.
--Click Continue.
6. On the Download page:
--Click Download for each component that you want. Follow the automatic download
process to transfer the mediapack.zip file to your system.
Installing the Oracle GoldenGate files
1. Unzip the downloaded file(s) by using WinZip or an equivalent compression product.
2. Move the files in binary mode to a folder on the drive where you want to install Oracle GoldenGate. Do not install Oracle GoldenGate into a folder that contains spaces in its name, even if the path is in quotes. For example:
C:\“Oracle GoldenGate” is not valid.
C:\Oracle_GoldenGate is valid.
3. From the Oracle GoldenGate folder, run the GGSCI program.
4. In GGSCI, issue the following command to create the Oracle GoldenGate working
directories.
CREATE SUBDIRS
a.Create the necessary working directories for GG.
Source DB:
GGSCI>create subdirs
Target DB:
GGSCI>create subdirs
Install the GoldenGate Manager process
1.Create a GLOBALS parameter file
--Execute the following commands from the <install location>.
GGSCI> EDIT PARAMS ./GLOBALS
--In the text editor, type the following:
MGRSERVNAME <mgr service>
Using a GLOBALS file in each GoldenGate instance allows you to run multiple Managers as services on Windows. When the service is installed, the Manager name
is referenced in GLOBALS, and this name will appear in the Windows Services control panel.
Note! Check to ensure that the GLOBALS file has been added in the GoldenGate installation directory and that it does not have an extension.
--Execute the following command to exit GGSCI.
GGSCI> EXIT
2. Install the Manager service
Execute the following command to run GoldenGate’s INSTALL.EXE . This executable installs Manager as a Windows service and adds GoldenGate events to the
Windows Event Viewer.
Shell> INSTALL ADDSERVICE ADDEVENTS
Note: Adding the Manager as a service is an optional step used when there are multiple environments on the same system or when you want to control the name
of the manager for any reason.
Configuring an ODBC connection
A DSN stores information about how to connect to a SQL Server database through ODBC (Open Database Connectivity). Create a DSN on each SQL Server source
and target system.
NOTE: Replicat will always use ODBC to query the target database for metadata.
To create a SQL Server DSN
1. Run one of the following ODBC clients:
--If using a 32-bit version of Oracle GoldenGate on a 64-bit system, create the DSN by running the ODBCAD32.EXE client from the %SystemRoot%\SysWOW64
folder.
--If using a 64-bit version of Oracle GoldenGate on a 64-bit system, create a DSN by running the default ODBCAD32.EXE client in Control Panel>Administrative
Tools>Data Sources (ODBC).
--If using a version of Oracle GoldenGate other than the preceding, use the default ODBC client in Control Panel>Administrative Tools>Data Sources (ODBC).
2. In the ODBC Data Source Administrator dialog box of the ODBC client, select the System DSN tab, and then click Add.
3. Under Create New Data Source, select the correct SQL Server driver as follows:
--SQL Server 2000: SQL Server driver
--SQL Server 2005: SQL Native Client driver
--SQL Server 2008: SQL Server Native Client 10.0 driver
4. Click Finish. The Create a New Data Source to SQL Server wizard is displayed.
5. Supply the following:
--Name: Can be of your choosing. In a Windows cluster, use one name across all nodes in the cluster.
--Server: Select the SQL Server instance name.
6. Click Next.
7. For login authentication, select With Windows NT authentication using the network login ID for Oracle GoldenGate to use Windows authentication, or select
With SQL Server authentication using a login ID and password entered by the user for Oracle GoldenGate to use database credentials. Supply login information
if selecting SQL Server authentication.
8. Click Next.
9. If the default database is not set to the one that Oracle GoldenGate will connect to,
click Change the default database to, and then select the correct name. Set the other
settings to use ANSI.
10. Click Next.
11. Leave the next page set to the defaults.
12. Click Finish.
13. Click Test Data Source to test the connection.
14. Close the confirmation box and the Create a New Data Source box.
15. Repeat this procedure from step 1 on each SQL Server source and target system.
Setting the database to full recovery model
Oracle GoldenGate requires a SQL Server source database to be set to the full recovery model.
To verify or set the recovery model
1. Connect to the SQL Server instance with either Enterprise Manager for SQL Server 2000 or SQL Server Management Studio for SQL Server 2005 and 2008.
2. Expand the Databases folder.
3. Right-click the source database, and then select Properties.
4. Select the Options tab.
5. Under Recovery, set Model to Full if not already.
6. If the database was in Simple recovery or never had a Full database backup, take a Fulldatabase backup before starting Extract.
7. Click OK.
Enabling supplemental logging
These instructions apply to new installations of Oracle GoldenGate for all supported SQL Server versions. You will enable supplemental logging with the ADD
TRANDATA command so that Extract can capture the information that is required to reconstruct SQL operations on the target. This is more information than
what SQL Server logs by default.
--SQL Server 2005 updated to CU6 for SP2 or later: ADD TRANDATA calls the sys.sp_extended_logging stored procedure.
--SQL Server 2005 pre-CU6 for SP2: ADD TRANDATA creates the following:
A replication publication named [<source database name>]: GoldenGate<source database name> Publisher. To view this publication, look under Replication>Local
Publications in SQL Server Management Studio. This procedure adds the specified table to the publication as an article.
A SQL Server Log Reader Agent job for the publication. This job cannot run concurrently with an Extract process in this configuration.
--SQL Server 2008: ADD TRANDATA enables Change Data Capture (CDC) and creates a minimal Change Data Capture on the specified table.
a.Oracle GoldenGate does not use the CDC tables other than as necessary to enablesupplemental logging.
b.As part of enabling CDC, SQL Server creates two jobs per database: <dbname>_capture and <dbname>_cleanup. The <dbname>_capture job adjusts the secondary
truncation point and captures data from the log to store in the CDC
tables. The <dbname>_cleanup job ages and deletes data captured by CDC.
c.Using the TRANLOGOPTIONS parameter with the MANAGESECONDARYTRUNCATIONPOINT option for Extract removes the <dbname_capture> job, preventing the overhead of
the job loading the CDC tables.
d.The alternative (using TRANLOGOPTIONS with NOMANAGESECONDARYTRUNCATIONPOINT) requires the SQL Server Agent to be running and requires the <dbname>_capture and <dbname>_cleanup jobs to be retained. You will probably need to adjust the <dbname>_cleanup data retention period if the default of three days is not acceptable for storage concerns.
To enable supplemental logging
1. On the source system, run GGSCI.
2. Log into the database from GGSCI.
DBLOGIN SOURCEDB <DSN>[, USERID <user>, PASSWORD <password>]
Where:
-- SOURCEDB <DSN> is the name of the SQL Server data source.
-- USERID <user> is the Extract login and PASSWORD <password> is the password that is required if Extract uses SQL Server authentication.
3. In GGSCI, issue the following command for each table that is, or will be, in the Extract configuration. You can use a wildcard to specify multiple table
names, but not owner names.
ADD TRANDATA <owner>.<table>
NOTE:The Log Reader Agent job cannot run concurrently with the GoldenGate Extract process.
4.Configuration
a.Create and start manager on the source and the destination.
Source DB:
shell>ggsci
GGSCI> edit params mgr
PORT 7809
DYNAMICPORTLIST 7900-7950
DYNAMICPORTREASSIGNDELAY 5
AUTOSTART ER *
AUTORESTART ER *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 30
LAGCRITICALMINUTES 60
LAGREPORTMINUTES 30
PURGEOLDEXTRACTS c:\ogg\dirdat\T*, USECHECKPOINTS, MINKEEPFILES 10
GGSCI> start manager
GGSCI>info all
b. Create the extract group on the source side:
GGSCI> edit params EXT1
Add the following lines to the new parameter file
EXTRACT EXT1
SOURCEDB <DSN>, USERID ogg, PASSWORD ogg@321!
TRANLOGOPTIONS MANAGESECONDARYTRUNCATIONPOINT
EXTTRAIL c:\ogg\dirdat\T1
DISCARDFILE c:\ogg\dirrpt\EXT1.DSC, PURGE, MEGABYTES 100
TABLE dbo.TCUSTMER;
TABLE dbo.TCUSTORD;
GGSCI>ADD EXTRACT EXT1, TRANLOG, BEGIN NOW
GGSCI>ADD EXTTRAIL c:\ogg\dirdat\T1, EXTRACT EXT1, MEGABYTES 100
GGSCI> edit params PMP1
Add the following lines to the new parameter file
EXTRACT PMP1
SOURCEDB <DSN>, USERID ogg, PASSWORD ogg@321!
PASSTHRU
RMTHOST dr, MGRPORT 7810
RMTTRAIL c:\ogg\dirdat\P1
TABLE dbo.TCUSTMER;
TABLE dbo.TCUSTORD;
GGSCI> ADD EXTRACT PMP1, EXTTRAILSOURCE c:\ogg\dirdat\T1
GGSCI> ADD EXTTRAIL c:\ogg\dirdat\P1, EXTRACT PMP1, MEGABYTES 100
Target DB:
===========
shell>ggsci
GGSCI> edit params mgr
PORT 7810
AUTOSTART ER *
AUTORESTART ER *, RETRIES 3, WAITMINUTES 5, RESETMINUTES 30
LAGCRITICALMINUTES 60
LAGREPORTMINUTES 30
PURGEOLDEXTRACTS c:\ogg\dirdat\P*, USECHECKPOINTS, MINKEEPFILES 10
GGSCI> start manager
GGSCI>info all
Create parameter file for replicat:
GGSCI> edit params REP1
REPLICAT REP1
ASSUMETARGETDEFS
TARGETDB <dsn>, USERID ogg@DR, PASSWORD ogg@321!
DISCARDFILE c:\ogg\dirrpt\REP1.DSC, append, megabytes 100
HANDLECOLLISIONS
ASSUMETARGETDEFS
MAP dbo.TCUSTMER, TARGET dbo.TCUSTMER;
MAP dbo.TCUSTORD, TARGET dbo.TCUSTORD;
GGSCI>ADD REPLICAT REP1, RMTTRAIL c:\ogg\dirdat\P1, nodbcheckpoint
# Start extract and replicat:
Source:
GGSCI> start er *
Destination:
GGSCI> start er *Greetings,
N K -
Database Mail Fails For SQL Server Agent Jobs / Maintenace plans - Why ?
Database Mail Fails For SQL Server Agent Jobs / Maintenace plans - Why ?
This has been a very common question I have seen relatedt to Database mail and I thought will post here so if you run into this issue, it could be due to one of the following and also have mentioned below how to get around them. Bottom line is datbase mail works fine with SQL Agent jobs and maintenace plans in SP1 on all platforms.
1. If you see this on 64 bit platform and on RTM build, this is a bug that is addressed in SP1.
2. If you see the below error message, it is known issue and this is because of design that requires SQL Agent to restart, if SQL Agent was started before enabling databasemail and setting a new profile. We are evaluating to change this design of not requiring to restart agent for our future release.
Re: 264] An attempt was made to send an email when no email session has been established
This problem will go away after restarting SQL Server Agent in this case. Thanks,
Gops Dwarak, MSFTThis may be related to the fact that DBMail, by default, shuts itself down after 10 minutes of inactivty. If the mail service isn't running, you won't be able to queue up any mail messages.
There may be a built-in mechanism for addressing this problem, but I found that I can detect this situation and start the mail listener before sending db mail. I use the following in stored procs that need to send email.
You could increase the inactivity period for db mail shutdown from 600 seconds to some larger value. It might not make sense to do so, since shutting it down releases its resources back to teh system; if your SQL server only sneds mail infrequently, it might be better to start the mail listener on demand. Someone with more experience than I might want to add their two cents' worth. :-)
/* Check the mail engine. Start the service if is is stopped */
/* -- the DB Mail engine shuts down after 10 minutes (of inactivity) */
/* -- this setting can be changed, but we probably don't need to. */
DECLARE @rc INT
IF NOT EXISTS (SELECT * FROM msdb.sys.service_queues
WHERE name = N'ExternalMailQueue' AND is_receive_enabled = 1)
EXEC @rc = msdb.dbo.sysmail_start_sp
-- TODO: add handling and logging for any engine start issues -
Hello,
I had a server crash recently and our outsource hosting tech support suggested applying Cumulative Upade 12 for SQL server 2008R2 SP2 to fix the issue. The exception from our dump file "Warning: Unable to Verify TimeStamp for Path\ProgramName"
is not in the list of hotfixes for this CU. Do you know if this will fix this issue? The CU warns not to apply the CU if your issue id not addressed by the CU. Here is a portion of the dump file with the relevant error:
This dump file has an exception of interest stored in it.
The stored exception information can be accessed via .ecxr.
(7e8.2ab4): Unknown exception - code 000042ac (first/second chance not available)
ntdll!NtWaitForSingleObject+0xa:
00000000`777412fa c3 ret
0:240> .sympath srv*c:\Websymbols*http://msdl.microsoft.com/download/symbols;
Symbol search path is: srv*c:\Websymbols*http://msdl.microsoft.com/download/symbols
Expanded Symbol search path is: srv*c:\websymbols*http://msdl.microsoft.com/download/symbols
0:240> .reload /f
.Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe, Win32 error 0n2
*** WARNING: Unable to verify timestamp for sqlservr.exe
..........Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlos.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for sqlos.dll
...............Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\opends60.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for opends60.dll
.......Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\BatchParser.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for BatchParser.dll
....Unable to load image C:\Program Files\Microsoft SQL Server\100\Shared\instapi10.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for instapi10.dll
*** ERROR: Module load completed but symbols could not be loaded for instapi10.dll
..Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Resources\1033\sqlevn70.rll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for sqlevn70.rll
*** ERROR: Module load completed but symbols could not be loaded for sqlevn70.rll
Press ctrl-c (cdb, kd, ntsd) or ctrl-break (windbg) to abort symbol loads that take too long.
Run !sym noisy before .reload to track down problems loading symbols.
.................Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\ftimport.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for ftimport.dll
.Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\msfte.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for msfte.dll
*** ERROR: Module load completed but symbols could not be loaded for msfte.dll
...........Unable to load image C:\Windows\System32\sqlncli10.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for sqlncli10.dll
...Unable to load image C:\Windows\System32\1033\SQLNCLIR10.RLL, Win32 error 0n2
*** WARNING: Unable to verify timestamp for SQLNCLIR10.RLL
*** ERROR: Module load completed but symbols could not be loaded for SQLNCLIR10.RLL
..Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\xpsqlbot.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for xpsqlbot.dll
.Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\XPStar.DLL, Win32 error 0n2
*** WARNING: Unable to verify timestamp for XPStar.DLL
.Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlscm.dll, Win32 error 0n2
*** WARNING: Unable to verify timestamp for sqlscm.dll
...*** ERROR: Module load completed but symbols could not be loaded for odbcint.dll
...Unable to load image C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\Resources\1033\XPStar.RLL, Win32 error 0n2
*** WARNING: Unable to verify timestamp for XPStar.RLL
Thank you,
Steve -The error message appears to be related to a debug session and not come from the actual crash.
So all I know is that you hade a server crash. I don't even know exactly what that means. Did Windows bite the dust? Or was it only SQL Server?
Assuming the latter, I would expect the SQL Server errorlog to have some information (and that would be ERRORLOG.1 or earlier, since the server have been restarted), but if SQL Server died the output may be incomplete.
There may be also dump files, but as I rarely look into these, I am not sure how to interpret them. But I am quite confident that "Unable to verify TimeStamp..." is not the reason SQL Server went down.
I would suggest the following course:
* If the server is not critical, do nothing. As long as it has onlyl happened once, it has only happened once.
* If the server is critical, open a case with Microsoft if you are not able to figure out the reason yourself. The key here is "Unknown exception - code 000042ac".
* If it happens again, you should absolutely open a case. An important thing here is whether the stack dump is identical or something different. If the stack dumps are identical, you may have hit a bug in SQL Server or the OS, and applying CUs or OS
fixes could help if it is a known issue. If the stack dump is something else, you have ghosts in the machine - that is, bad hardware.
Erland Sommarskog, SQL Server MVP, [email protected] -
Does MAP tool capture User Summary (count of users, their details) for SQL Server 2008?
At my end, its working for SQL Server 2012 but not showing User Summary for SQL Server 2008..
Does the User Summary only works for SQL Server 2008 Enterprise edition as one of the thread points out?This is from the
Wiki article:
SQL Server 2008 Enterprise and Datacenter Editions introduced audit event configuration for Windows security logging, which enabled SQL Server 2008 to log logon events to the Windows Security log. The table below shows which versions and editions have the Audit
feature that is needed to record the logon events. MAP cannot obtain user and device access information for any other editions or any older versions of SQL Server.
Datacenter
Enterprise
Business Intelligence
Standard
Workgroup
Web
Express
SQL Server 2008
N/A
Yes
N/A
No
No
No
No
SQL Server 2008 R2
Yes
Yes
N/A
No
No
No
No
SQL Server 2012
N/A
Yes
Yes
Yes
N/A
Yes
Yes
Please remember to click "Mark as Answer" on the post that helps you, and to click
"Unmark as Answer" if a marked post does not actually answer your question. Please
VOTE as HELPFUL if the post helps you. This can be beneficial to other community members reading the thread. -
Microsoft OLE DB Provider for SQL Server 2012 Analysis Services Error Code = 0x80040E05
I've been running a package for 6 months without any issues that pulls data from a cube via MDX and moves it to a database.
We've recently moved to a new server x64 and the connections all succeed but at runtime (in 64 = T&F) I get the following error:
[SRC AdExchange [87]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E05.
An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server 2012 Analysis Services." Hresult: 0x00000001 Description: "Error Code = 0x80040E05, External Code = 0x00000000:.".
[SSIS.Pipeline] Error: SRC AdExchange failed the pre-execute phase and returned error code 0xC0202009.
I've installed SQL_AS_OLEDB, SQL_AS_ADOMD from Microsoft® SQL Server® 2012 SP1 Feature Pack
Why is my connection failing?The server has a 10Gbps network connection.
I've installed CU6 for SQL Server 2012 SP1
http://support.microsoft.com/kb/2874879/en-us#hfi
I'm still getting the same error at runtime in BIDS:
[SRC AdExchange [87]] Error: SSIS Error Code DTS_E_OLEDBERROR. An OLE DB error has occurred. Error code: 0x80040E05.
An OLE DB record is available. Source: "Microsoft OLE DB Provider for SQL Server 2012 Analysis Services." Hresult: 0x00000001 Description: "Error Code = 0x80040E05, External Code = 0x00000000:.".
[SSIS.Pipeline] Error: SRC AdExchange failed the pre-execute phase and returned error code 0xC0202009.
Looking at the errorlog, everything looks normal until:
Launched startup procedure 'sp_ssis_startup'.
Attempting to load library 'xpsqlbot.dll' into memory. This is an informational message only. No user action is required.
Using 'xpsqlbot.dll' version '2011.110.2100' to execute extended stored procedure 'xp_qv'. This is an informational message only; no user action is required.
Attempting to load library 'xpstar.dll' into memory. This is an informational message only. No user action is required.
Using 'xpstar.dll' version '2011.110.3000' to execute extended stored procedure 'xp_instance_regread'. This is an informational message only; no user action is required.
Attempting to load library 'xplog70.dll' into memory. This is an informational message only. No user action is required.
Using 'xplog70.dll' version '2011.110.2100' to execute extended stored procedure 'xp_msver'. This is an informational message only; no user action is required.
AppDomain 2 (SSISDB.dbo[runtime].1) created.
Unsafe assembly 'microsoft.sqlserver.integrationservices.server, version=11.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91, processorarchitecture=msil' loaded into appdomain 2 (SSISDB.dbo[runtime].1).
Unsafe assembly 'microsoft.sqlserver.integrationservices.server, version=11.0.0.0, culture=neutral, publickeytoken=89845dcd8080cc91, processorarchitecture=msil' loaded into appdomain 2 (SSISDB.dbo[runtime].1).
AppDomain 3 (master.sys[runtime].2) created.
Software Usage Metrics is enabled.
SQL Server is terminating because of a system shutdown. This is an informational message only. No user action is required.
Service Broker manager has shut down.
Error: 17054, Severity: 16, State: 1.
The current event was not reported to the Windows Events log. Operating system error = (null). You may need to clear the Windows Events log if it is full.
.NET Framework runtime has been stopped.
SQL Trace was stopped due to server shutdown. Trace ID = '1'. This is an informational message only; no user action is required.
The SQL Server Network Interface library could not deregister the Service Principal Name (SPN) [ MSSQLSvc/XXXXXXXXXX.com ] for the SQL Server service. Error: 0xffffffff, state: 63. Administrator should deregister this SPN manually to avoid client authentication
errors.
The SQL Server Network Interface library could not deregister the Service Principal Name (SPN) [ MSSQLSvc/XXXXXXXXXX.com:1433 ] for the SQL Server service. Error: 0xffffffff, state: 63. Administrator should deregister this SPN manually to avoid client authentication
errors.
Wondering about the unsafe assembly in SSIS and deregistering the SPN..
Anyone have any ideas on how to resolve this?
Thanks! -
What would be the reason for sql server agent [MSSQLSERVER] service terminated unexpectedly?
only below details found in error log
07:26:44.170 spid60
FILESTREAM: effective level = 3, configured level = 3, file system access share name = 'MSSQLSERVER'.
07:26:45.720 spid51
Configuration option 'Agent XPs' changed from 0 to 1. Run the RECONFIGURE statement to install.
07:26:45.730 spid51
FILESTREAM: effective level = 3, configured level = 3, file system access share name = 'MSSQLSERVER'.
07:28:57.840 spid64
Configuration option 'Agent XPs' changed from 1 to 0. Run the RECONFIGURE statement to install.
07:28:57.840 spid64
FILESTREAM: effective level = 3, configured level = 3, file system access share name = 'MSSQLSERVER'.
and below error on agent log
2014-01-01 07:26:28 - ? [131] SQLSERVERAGENT service stopping due to a stop request from a user, process, or the OS...
2014-01-01 07:26:43 - + [188] Scheduler engine timed out (after 15 seconds) waiting for 1 jobs(s) to stop
2014-01-01 07:26:44 - + [098] SQLServerAgent terminated (forcefully)
RahulWhat would be the reason for sql server agent [MSSQLSERVER] service terminated unexpectedly?
only below details found in error log
07:26:44.170 spid60
FILESTREAM: effective level = 3, configured level = 3, file system access share name = 'MSSQLSERVER'.
07:26:45.720 spid51
Configuration option 'Agent XPs' changed from 0 to 1. Run the RECONFIGURE statement to install.
07:26:45.730 spid51
FILESTREAM: effective level = 3, configured level = 3, file system access share name = 'MSSQLSERVER'.
07:28:57.840 spid64
Configuration option 'Agent XPs' changed from 1 to 0. Run the RECONFIGURE statement to install.
07:28:57.840 spid64
FILESTREAM: effective level = 3, configured level = 3, file system access share name = 'MSSQLSERVER'.
and below error on agent log
2014-01-01 07:26:28 - ? [131] SQLSERVERAGENT service stopping due to a stop request from a user, process, or the OS...
2014-01-01 07:26:43 - + [188] Scheduler engine timed out (after 15 seconds) waiting for 1 jobs(s) to stop
2014-01-01 07:26:44 - + [098] SQLServerAgent terminated (forcefully)
Rahul
Can you post the output of below query
select @@version.
If you are using SQl server express edition ,SQL server agent feature is not available.It seems from errorlog that you can start it but actually you cannot.But first confirm what is version and edition of your SQL server
Please mark this reply as the answer or vote as helpful, as appropriate, to make it useful for other readers -
Security Update for SQL Server 2005 SP3 (KB2494113) failed
Here is the Error, Can't get the update install, please help.
KB Number: KB2494113
Machine: MJA01
OS Version: Server 4.0 Service Pack 1 (Build 7601)
Package Language: 1033 (ENU)
Package Platform: x86
Package SP Level: 3
Package Version: 4060
Command-line parameters specified:
Cluster Installation: No
Prerequisites Check & Status
SQLSupport: Passed
Products Detected Language Level Patch Level Platform Edition
SQL Server Database Services 2005 (BKUPEXEC) ENU SP3 2005.090.4035.00 x86 EXPRESS
SQL Server Tools and Workstation Components 2005 ENU SP2 9.2.3042 x86 EXPRESS
Products Disqualified & Reason
Product Reason
SQL Server Tools and Workstation Components 2005 The product instance SQL Tools does not have prerequisite update 4035 installed. Update 4060 is dependent on prerequisite update 4035. Exit setup and refer to the Knowledge Base article to find the prerequisite
patch. Install the prerequisite and rerun the installation.
Processes Locking Files
Process Name Feature Type User Name PID
Product Installation Status
Product : SQL Server Database Services 2005 (BKUPEXEC)
Product Version (Previous): 4035
Product Version (Final) :
Status : Failure
Log File : C:\Program Files (x86)\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB2494113_sqlrun_sql.msp.log
SQL Express Features :
Error Number : 29528
Error Description : MSP Error: 29528 The setup has encountered an unexpected error while Setting Internal Properties. The error is: Fatal error during installation.
Product : SQL Server Tools and Workstation Components 2005
Product Version (Previous): 3042
Product Version (Final) :
Status : NA
Log File :
SQL Express Features :
Error Description : The product instance SQL Tools does not have prerequisite update 4035 installed. Update 4060 is dependent on prerequisite update 4035. Exit setup and refer to the Knowledge Base article to find the prerequisite
patch. Install the prerequisite and rerun the installation.
Summary
One or more products failed to install, see above for details
Exit Code Returned: 29528Hi Bhanu,
I have uninstall the SQL Server Tools and Workstation Components 2005.
But still unable to upg the SQL Server with the KB249411. Any more ideas?
This is the Summary log.
Time: 09/10/2014 11:09:48.218
KB Number: KB2494113
Machine: MJA01
OS Version: Server 4.0 Service Pack 1 (Build 7601)
Package Language: 1033 (ENU)
Package Platform: x86
Package SP Level: 3
Package Version: 4060
Command-line parameters specified:
Cluster Installation: No
Prerequisites Check & Status
SQLSupport: Passed
Products Detected Language Level Patch Level Platform Edition
SQL Server Database Services 2005 (BKUPEXEC) ENU SP3 2005.090.4035.00 x86 EXPRESS
Products Disqualified & Reason
Product Reason
Processes Locking Files
Process Name Feature Type User Name PID
Product Installation Status
Product : SQL Server Database Services 2005 (BKUPEXEC)
Product Version (Previous): 4035
Product Version (Final) :
Status : Failure
Log File : C:\Program Files (x86)\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB2494113_sqlrun_sql.msp.log
SQL Express Features :
Error Number : 29528
Error Description : MSP Error: 29528 The setup has encountered an unexpected error while Setting Internal Properties. The error is: Fatal error during installation.
Summary
One or more products failed to install, see above for details
Exit Code Returned: 29528
Here is what is log in the SQL9_Hotfix_KB2494113_sqlrun_sql.msp.log
Property(S): CommonFilesFolder.D9BC9C10_2DCD_44D3_AACC_9C58CAF76128 = C:\Program Files (x86)\Common Files\
MSI (s) (B8:F0) [11:09:39:826]: Product: Microsoft SQL Server 2005 Express Edition - Update 'GDR 4060 for SQL Server Database Services 2005 ENU (KB2494113)' could not be installed. Error code 1603. Additional information is available in the log file C:\Program
Files (x86)\Microsoft SQL Server\90\Setup Bootstrap\LOG\Hotfix\SQL9_Hotfix_KB2494113_sqlrun_sql.msp.log.
MSI (s) (B8:F0) [11:09:39:827]: Windows Installer installed an update. Product Name: Microsoft SQL Server 2005 Express Edition. Product Version: 9.3.4035.00. Product Language: 1033. Manufacturer: Microsoft Corporation. Update Name: GDR 4060 for SQL Server Database
Services 2005 ENU (KB2494113). Installation success or error status: 1603.
MSI (s) (B8:F0) [11:09:39:828]: Note: 1: 1729
MSI (s) (B8:F0) [11:09:39:828]: Product: Microsoft SQL Server 2005 Express Edition -- Configuration failed.
MSI (s) (B8:F0) [11:09:39:829]: Windows Installer reconfigured the product. Product Name: Microsoft SQL Server 2005 Express Edition. Product Version: 9.3.4035.00. Product Language: 1033. Manufacturer: Microsoft Corporation. Reconfiguration success or error
status: 1603.
MSI (s) (B8:F0) [11:09:39:829]: Attempting to delete file C:\Windows\Installer\63906e.msp
MSI (s) (B8:F0) [11:09:39:829]: Unable to delete the file. LastError = 32
MSI (s) (B8:F0) [11:09:40:092]: Deferring clean up of packages/files, if any exist
MSI (s) (B8:F0) [11:09:40:092]: Attempting to delete file C:\Windows\Installer\63906e.msp
MSI (s) (B8:F0) [11:09:40:094]: MainEngineThread is returning 1603
MSI (s) (B8:6C) [11:09:40:097]: RESTART MANAGER: Session closed.
MSI (s) (B8:6C) [11:09:40:097]: No System Restore sequence number for this installation.
=== Logging stopped: 9/10/2014 11:09:39 ===
MSI (s) (B8:6C) [11:09:40:098]: User policy value 'DisableRollback' is 0
MSI (s) (B8:6C) [11:09:40:098]: Machine policy value 'DisableRollback' is 0
MSI (s) (B8:6C) [11:09:40:098]: Incrementing counter to disable shutdown. Counter after increment: 0
MSI (s) (B8:6C) [11:09:40:098]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (B8:6C) [11:09:40:098]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\Rollback\Scripts 3: 2
MSI (s) (B8:6C) [11:09:40:098]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress 3: 2
MSI (s) (B8:6C) [11:09:40:098]: Note: 1: 1402 2: HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Installer\InProgress 3: 2
MSI (s) (B8:6C) [11:09:40:098]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (s) (B8:6C) [11:09:40:099]: Restoring environment variables
MSI (s) (B8:6C) [11:09:40:099]: Destroying RemoteAPI object.
MSI (s) (B8:30) [11:09:40:099]: Custom Action Manager thread ending.
MSI (c) (FC:60) [11:09:40:100]: Decrementing counter to disable shutdown. If counter >= 0, shutdown will be denied. Counter after decrement: -1
MSI (c) (FC:60) [11:09:40:101]: MainEngineThread is returning 1603
Thanks,
Alice -
Free download of transparent gateway for SQL Server
Can anyone give me the URL where I can download the transparent gateway for SQL Server.. I searched OTN but couldn't find it. I just want to try it out..
Thanks.The indicated URL also shows the zip for the 10gR2 gateways for Windows software: 10201_gateways_win32.zip
To use a gateway you also have to use an Oracle database as a so-called integrating kernel. In this Oracle database you define the database link to the gateway to be able to connect to SQL Server.
But TG4MSQL 10gR2 has been desupported, which means that bugfixing has been stopped. Also just to make clear, allthough the software can be freely downloaded the product itself requires a license when you decide to use it after testing it.
And I recommend to try the DG4MSQL 11gR1 software instead, it can also be found at Oracle Technet:
http://www.oracle.com/technology/software/products/database/oracle11g/111070_win32_2008soft.html
When using a 11gR1 database gateway the Oracle database you use with the gateway must be 10.2.0.4.0 or higher. Or have a closer look at Metalink document: 457808.1 - Database Patch 5965763 Required For Pre-11g Databases Using 11g Database Gateways
Look for: win32_11gR1_gateways.zip
Regards,
Ed -
Missing Stored Procedure for SQL Server
Hello,
I'm trying to create the standard TestStand 4 schema for SQL Server. I get the following error when I run multiple numeric test cases:
An error occurred calling 'LogResults' in 'ITSDBLog' of 'zNI TestStand Database Logging'
An error occurred executing a statement.
Schema: SQL Server Stored Proc (NI).
Statement: MEAS_NUMERICLIMIT.
Could not find stored procedure 'InsertStepMeasNumericLimit'.
Description: Could not find stored procedure 'InsertStepMeasNumericLimit'.
Number: -2147217900
NativeError: 2812
SQLState: 42000
Reported by: Microsoft OLE DB Provider for SQL Server
Source: TSDBLog
-2147217900; User-defined error code.
Step 'Log Results to Database' of sequence 'Log To Database' in 'Database.seq'
My process for creating the database is to create a .sql file from the TestStand database configuration window. I have selected SQL Server Stored Procedure. I then build the database by running the script in the Execute SQL window of the Database viewer. I don't get any errors when creating the database or the stored procedures. I have noticed that a stored procedure, called InsertMeasNumericLimit does exist. When I rename this procedure to InsertStepMeasNumericLimit, the sequence with the multiple numeric executes without error, and my data is in the database.
Now to my questions>
1. Am I doing something wrong in my procedure to create the database schema, that would cause this?
2. Have the NI schemas or DB calls in TS been changed since 3.5 and validated?
3. Has anyone else run across this problem, and what others can I expect to encounter with the SQL server stored procedure schema?
Thanks in advance for the help,
BCEbce,
1. What you are doing is correct. There is a bug with the SQL Server Stored Procedure. Apparently
2. The schemas hasn't changed since 3.5? Were you able to go through the same process in TS 3.5 without running into this error?
3. It looks like you have found the way to solve this problem. There are a few other step types that have similar error. Specifically the IVI steps. Before the bug is fixed, you can use validate to determines whether the statement and column information for the selected schema matches the tables and columns in the database. Alternatively, you may look at the file below to find out the correct spelling of the stored procedures.
<TestStand 4.0>\Components\NI\Models\TestStandModels\Database\SQL Server Create Stored Proc Result Tables.sql
Regards,
Song Du
Systems Software
National Instruments R&D -
Cumulative Update 1 for SQL Server 2014
Microsoft has released Cumulative Update #1 for SQL Server 2014. Relevant for @@VERSION 12.0.2000 through 12.0.2341
http://support.microsoft.com/kb/2931693/en
[Personal Site] [Blog] [Facebook]Shanky, I did not want to write clearly in the forum, what I think if there are dozens of fixes at bug's level like fails, error messages, crashes, etc.., about three weeks after the release of the production version. but I wrote about it few words
at facebook Israeli SQL Server User Group. In short.. It's realy look bad in my opinion.
[Personal Site] [Blog] [Facebook] -
JDriver for SQL Server 6.5 Broken Pipe
hi:
I am using jDriver for SQL Server 6.5 and use prepared statements to execute
my Stored Procedures from a Stateless-EJB. At times, I get the following
error message, can anyone help me with what I should do ?
2002.06.06 at 03:49:43 PM PDT : weblogic.jdbcbase.mssqlserver4.TdsException:
I/O exception while talking to the server, java.io.IOException: Broken pipe
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(SQLException.java:82)
at weblogic.jdbcbase.mssqlserver4.TdsException.<init>(TdsException.java:40)
at
weblogic.jdbcbase.mssqlserver4.TdsStatement.cancel(TdsStatement.java:446)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.getMoreResults(Compiled
Code)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(Compiled Code)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(Compiled Code)
at weblogic.jdbcbase.jts.Statement.execute(Compiled Code)
at weblogic.jdbc20.rmi.internal.PreparedStatementImpl.execute(Compiled
Code)
at weblogic.jdbc20.rmi.SerialPreparedStatement.execute(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarDAO.insertException(Compiled
Code)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.registerLoan(Unknown
Source)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.register(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl.register(LoanRegistrar
EOImpl.java:56)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl_ServiceStub.register(C
ompiled Code)
at
com.pmi.zeus.mom.LoanInputQueueListener.messageInputProcessor(LoanInputQueue
Listener.java:86)
at
com.pmi.zeus.mom.LoanInputQueueListener.onMessage(LoanInputQueueListener.jav
a:59)
at weblogic.jms.client.JMSMessageConsumer.run(Compiled Code)
at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
2002.06.06 at 03:49:43 PM PDT : java.sql.SQLException: I/O exception while
talking to the server, java.io.IOException: Broken pipe
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(SQLException.java:82)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.register(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl.register(LoanRegistrar
EOImpl.java:56)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl_ServiceStub.register(C
ompiled Code)
at
com.pmi.zeus.mom.LoanInputQueueListener.messageInputProcessor(LoanInputQueue
Listener.java:86)
at
com.pmi.zeus.mom.LoanInputQueueListener.onMessage(LoanInputQueueListener.jav
a:59)
at weblogic.jms.client.JMSMessageConsumer.run(Compiled Code)
at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
thanks,
balaji.Balaji Venkataraman wrote:
hi:
I am using jDriver for SQL Server 6.5 and use prepared statements to execute
my Stored Procedures from a Stateless-EJB. At times, I get the following
error message, can anyone help me with what I should do ?That means the driver-DBMS connection has broken somehow. It can either be
a bug in our driver, or a bug in the DBMS. Is there any indication in DBMS logs
about client thread failures that result in a session being killed?
If you can isolate the SQL and JDBC that causes this, we may be able to
debug it. Is the DBMS a 6.5 DBMS?
Joe
>
>
2002.06.06 at 03:49:43 PM PDT : weblogic.jdbcbase.mssqlserver4.TdsException:
I/O exception while talking to the server, java.io.IOException: Broken pipe
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(SQLException.java:82)
at weblogic.jdbcbase.mssqlserver4.TdsException.<init>(TdsException.java:40)
at
weblogic.jdbcbase.mssqlserver4.TdsStatement.cancel(TdsStatement.java:446)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.getMoreResults(Compiled
Code)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(Compiled Code)
at weblogic.jdbcbase.mssqlserver4.TdsStatement.execute(Compiled Code)
at weblogic.jdbcbase.jts.Statement.execute(Compiled Code)
at weblogic.jdbc20.rmi.internal.PreparedStatementImpl.execute(Compiled
Code)
at weblogic.jdbc20.rmi.SerialPreparedStatement.execute(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarDAO.insertException(Compiled
Code)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.registerLoan(Unknown
Source)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.register(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl.register(LoanRegistrar
EOImpl.java:56)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl_ServiceStub.register(C
ompiled Code)
at
com.pmi.zeus.mom.LoanInputQueueListener.messageInputProcessor(LoanInputQueue
Listener.java:86)
at
com.pmi.zeus.mom.LoanInputQueueListener.onMessage(LoanInputQueueListener.jav
a:59)
at weblogic.jms.client.JMSMessageConsumer.run(Compiled Code)
at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
2002.06.06 at 03:49:43 PM PDT : java.sql.SQLException: I/O exception while
talking to the server, java.io.IOException: Broken pipe
at java.lang.Throwable.fillInStackTrace(Native Method)
at java.lang.Throwable.fillInStackTrace(Compiled Code)
at java.lang.Throwable.<init>(Compiled Code)
at java.lang.Exception.<init>(Compiled Code)
at java.sql.SQLException.<init>(SQLException.java:82)
at com.pmi.zeus.ejb.LoanRegistration.LoanRegistrar.register(Compiled Code)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl.register(LoanRegistrar
EOImpl.java:56)
at
com.pmi.zeus.ejb.LoanRegistration.LoanRegistrarEOImpl_ServiceStub.register(C
ompiled Code)
at
com.pmi.zeus.mom.LoanInputQueueListener.messageInputProcessor(LoanInputQueue
Listener.java:86)
at
com.pmi.zeus.mom.LoanInputQueueListener.onMessage(LoanInputQueueListener.jav
a:59)
at weblogic.jms.client.JMSMessageConsumer.run(Compiled Code)
at weblogic.jms.client.JMSSession.run(JMSSession.java:342)
at weblogic.jms.server.JMSServerSession.execute(JMSServerSession.java:44)
at weblogic.kernel.ExecuteThread.run(Compiled Code)
thanks,
balaji. -
Increase Performance and ROI for SQL Server Environments
May 2015
Explore
The Buzz from Microsoft Ignite 2015
NetApp was in full force at the recent Microsoft Ignite show in Chicago, talking about solutions for hybrid cloud, and our proven solutions for Microsoft SQL Server and other Microsoft applications.
Hot topics at the NetApp booth included:
OnCommand® Shift. A revolutionary technology that lets you move virtual machines back and forth between VMware and Hyper-V environments in minutes.
Azure Site Recovery to NetApp Private Storage. Replicate on-premises SAN-based applications to NPS for disaster recovery in the Azure cloud.
These tools give you greater flexibility for managing and protecting important business applications.
Chris Lemmons
Director, EIS Technical Marketing, NetApp
If your organization runs databases such as Microsoft SQL Server and Oracle DB, you probably know that these vendors primarily license their products on a "per-core" basis. Microsoft recently switched to "per-core" rather than "per-socket" licensing for SQL Server 2012 and 2014. This change can have a big impact on the total cost of operating a database, especially as core counts on new servers continue to climb. It turns out that the right storage infrastructure can drive down database costs, increase productivity, and put your infrastructure back in balance.
In many customer environments, NetApp has noticed that server CPU utilization is low—often on the order of just 20%. This is usually the result of I/O bottlenecks. Server cores have to sit and wait for I/O from hard disk drives (HDDs). We've been closely studying the impact of all-flash storage on SQL Server environments that use HDD-based storage systems. NetApp® All Flash FAS platform delivers world-class performance for SQL Server plus the storage efficiency, application integration, nondisruptive operations, and data protection of clustered Data ONTAP®, making it ideal for SQL Server environments.
Tests show that All Flash FAS can drive up IOPS and database server CPU utilization by as much as 4x. And with a 95% reduction in latency, you can achieve this level of performance with half as many servers. This reduces the number of servers you need and the number of cores you have to license, driving down costs by 50% or more and paying back your investment in flash in as little as six months.
Figure 1) NetApp All Flash FAS increases CPU utilization on your SQL Server database servers, lowering costs.
Source: NetApp, 2015
Whether you're running one of the newer versions of SQL Server or facing an upgrade of an earlier version, you can't afford not to take a second look at your storage environment.
End of Support for Microsoft SQL Server 2005 is Rapidly Approaching
Microsoft has set the end of extended support for SQL Server 2005 for April 2016—less than a year away. With support for Microsoft Windows 2003 ending in July 2015, time may already be running short.
If you're running Windows Server 2003, new server hardware is almost certainly needed when you upgrade SQL Server. Evaluate your server and storage options now to get costs under control.
Test Methodology
To test the impact of flash on SQL Server performance, we replaced a legacy HDD-based storage system with an All Flash FAS AFF8080 EX. The legacy system was configured with almost 150 HDDs, a typical configuration for HDD storage supporting SQL Server. The AFF8080 EX used just 48 SSDs.
Table 1) Components used in testing.
Test Configuration Components
Details
SQL Server 2014 servers
Fujitsu RX300
Server operating system
Microsoft Windows 2012 R2 Standard Edition
SQL Server database version
Microsoft SQL Server 2014 Enterprise Edition
Processors per server
2 6-core Xeon E5-2630 at 2.30 GHz
Fibre channel network
8Gb FC with multipathing
Storage controller
AFF8080 EX
Data ONTAP version
Clustered Data ONTAP® 8.3.1
Drive number and type
48 SSD
Source: NetApp, 2015
The test configuration consisted of 10 database servers connected through fibre channel to both the legacy storage system and the AFF8080 EX. Each of the 10 servers ran SQL Server 2014 Enterprise Edition.
The publicly available HammerDB workload generator was used to drive an OLTP-like workload simultaneously from each of the 10 database servers to storage. We first directed the workload to the legacy storage array to establish a baseline, increasing the load to the point where read latency consistently exceeded 20ms.
That workload was then directed at the AFF8080 EX. The change in storage resulted in an overall 20x reduction in read latency, a greater than 4x improvement in IOPS, and a greater than 4x improvement in database server CPU utilization.
Figure 2) NetApp All Flash FAS increases IOPS and server CPU utilization and lowers latency.
Source: NetApp, 2015
In other words, the database servers are able to process four times as many IOPS with dramatically lower latency. CPU utilization goes up accordingly because the servers are processing 4x the work per unit time.
The All Flash FAS system still had additional headroom under this load.
Calculating the Savings
Let's look at what this performance improvement means for the total cost of running SQL Server 2014 over a 3-year period. To do the analysis we used NetApp Realize, a storage modeling and financial analysis tool designed to help quantify the value of NetApp solutions and products. NetApp sales teams and partners use this tool to assist with return on investment (ROI) calculations.
The calculation includes the cost of the AFF8080 EX, eliminates the costs associated with the existing storage system, and cuts the total number of database servers from 10 to five. This reduces SQL Server licensing costs by 50%. The same workload was run with five servers and achieved the same results. ROI analysis is summarized in Table 2.
Table 2) ROI from replacing an HDD-based storage system with All Flash FAS, thereby cutting server and licensing costs in half.
Value
Analysis Results
ROI
65%
Net present value (NPV)
$950,000
Payback period
six months
Total cost reduction
More than $1 million saved over a 3-year analysis period compared to the legacy storage system
Savings on power, space, and administration
$40,000
Additional savings due to nondisruptive operations benefits (not included in ROI)
$90,000
Source: NetApp, 2015
The takeaway here is that you can replace your existing storage with All Flash FAS and get a big performance bump while substantially reducing your costs, with the majority of the savings derived from the reduction in SQL Server licensing costs.
Replace your existing storage with All Flash FAS and get a big performance bump while substantially reducing your costs.
Maximum SQL Server 2014 Performance
In addition to the ROI analysis, we also measured the maximum performance of the AFF8080 EX with SQL Server 2014. A load-generation tool was used to simulate an industry-standard TPC-E OLTP workload against an SQL Server 2014 test configuration.
A two-node AFF8080 EX achieved a maximum throughput of 322K IOPS at just over 1ms latency. For all points other than the maximum load point, latency was consistently under 1ms and remained under 0.8ms up to 180K IOPS.
Data Reduction and Storage Efficiency
In addition to performance testing, we looked at the overall storage efficiency savings of our SQL Server database implementation. The degree of compression that can be achieved is dependent on the actual data that is written and stored in the database. For this environment, inline compression was effective. Deduplication, as is often the case in database environments, provided little additional storage savings and was not enabled.
For the test data used in the maximum performance test, we measured a compression ratio of 1.5:1. We also tested inline compression on a production SQL Server 2014 data set to further validate these results and saw a 1.8:1 compression ratio.
Space-efficient NetApp Snapshot® copies provide additional storage efficiency benefits for database environments. Unlike snapshot methods that use copy-on-write, there is no performance penalty; unlike full mirror copies, NetApp Snapshot copies use storage space sparingly. Snapshot copies only consume a small amount of storage space for metadata and additional incremental space is consumed as block-level changes occur. In a typical real-world SQL Server deployment on NetApp storage, database volume Snapshot copies are made every two hours.
First introduced more than 10 years ago, NetApp FlexClone® technology also plays an important role in SQL Server environments. Clones are fully writable, and, similar to Snapshot copies, only consume incremental storage capacity. With FlexClone, you can create as many copies of production data as you need for development and test, reporting, and so on. Cloning is a great way to support the development and test work needed when upgrading from an earlier version of SQL Server. You'll sometimes see these types of capabilities referred to as "copy data management."
A Better Way to Run Enterprise Applications
The performance benefits that all-flash storage can deliver for database environments are significant: more IOPS, lower latency, and an end to near-constant performance tuning.
If you think the performance acceleration that comes with all-flash storage is cost prohibitive, think again. All Flash FAS doesn't just deliver a performance boost, it changes the economics of your operations, paying for itself with thousands in savings on licensing and server costs. In terms of dollars per IOPS, All Flash FAS is extremely economical relative to HDD.
And, because All Flash FAS runs NetApp clustered Data ONTAP, it delivers the most complete environment to support SQL Server and all your enterprise applications with capabilities that include comprehensive storage efficiency, integrated data protection, and deep integration for your applications.
For complete details on this testing look for NetApp TR-4303, which will be available in a few weeks. Stay tuned to Tech OnTap for more information as NetApp continues to run benchmarks with important server workloads including Oracle DB and server virtualization.
Learn more about NetApp solutions for SQL Server and NetApp All-flash solutions.
Quick Links
Tech OnTap Community
Archive
PDFMay 2015
Explore
The Buzz from Microsoft Ignite 2015
NetApp was in full force at the recent Microsoft Ignite show in Chicago, talking about solutions for hybrid cloud, and our proven solutions for Microsoft SQL Server and other Microsoft applications.
Hot topics at the NetApp booth included:
OnCommand® Shift. A revolutionary technology that lets you move virtual machines back and forth between VMware and Hyper-V environments in minutes.
Azure Site Recovery to NetApp Private Storage. Replicate on-premises SAN-based applications to NPS for disaster recovery in the Azure cloud.
These tools give you greater flexibility for managing and protecting important business applications.
Chris Lemmons
Director, EIS Technical Marketing, NetApp
If your organization runs databases such as Microsoft SQL Server and Oracle DB, you probably know that these vendors primarily license their products on a "per-core" basis. Microsoft recently switched to "per-core" rather than "per-socket" licensing for SQL Server 2012 and 2014. This change can have a big impact on the total cost of operating a database, especially as core counts on new servers continue to climb. It turns out that the right storage infrastructure can drive down database costs, increase productivity, and put your infrastructure back in balance.
In many customer environments, NetApp has noticed that server CPU utilization is low—often on the order of just 20%. This is usually the result of I/O bottlenecks. Server cores have to sit and wait for I/O from hard disk drives (HDDs). We've been closely studying the impact of all-flash storage on SQL Server environments that use HDD-based storage systems. NetApp® All Flash FAS platform delivers world-class performance for SQL Server plus the storage efficiency, application integration, nondisruptive operations, and data protection of clustered Data ONTAP®, making it ideal for SQL Server environments.
Tests show that All Flash FAS can drive up IOPS and database server CPU utilization by as much as 4x. And with a 95% reduction in latency, you can achieve this level of performance with half as many servers. This reduces the number of servers you need and the number of cores you have to license, driving down costs by 50% or more and paying back your investment in flash in as little as six months.
Figure 1) NetApp All Flash FAS increases CPU utilization on your SQL Server database servers, lowering costs.
Source: NetApp, 2015
Whether you're running one of the newer versions of SQL Server or facing an upgrade of an earlier version, you can't afford not to take a second look at your storage environment.
End of Support for Microsoft SQL Server 2005 is Rapidly Approaching
Microsoft has set the end of extended support for SQL Server 2005 for April 2016—less than a year away. With support for Microsoft Windows 2003 ending in July 2015, time may already be running short.
If you're running Windows Server 2003, new server hardware is almost certainly needed when you upgrade SQL Server. Evaluate your server and storage options now to get costs under control.
Test Methodology
To test the impact of flash on SQL Server performance, we replaced a legacy HDD-based storage system with an All Flash FAS AFF8080 EX. The legacy system was configured with almost 150 HDDs, a typical configuration for HDD storage supporting SQL Server. The AFF8080 EX used just 48 SSDs.
Table 1) Components used in testing.
Test Configuration Components
Details
SQL Server 2014 servers
Fujitsu RX300
Server operating system
Microsoft Windows 2012 R2 Standard Edition
SQL Server database version
Microsoft SQL Server 2014 Enterprise Edition
Processors per server
2 6-core Xeon E5-2630 at 2.30 GHz
Fibre channel network
8Gb FC with multipathing
Storage controller
AFF8080 EX
Data ONTAP version
Clustered Data ONTAP® 8.3.1
Drive number and type
48 SSD
Source: NetApp, 2015
The test configuration consisted of 10 database servers connected through fibre channel to both the legacy storage system and the AFF8080 EX. Each of the 10 servers ran SQL Server 2014 Enterprise Edition.
The publicly available HammerDB workload generator was used to drive an OLTP-like workload simultaneously from each of the 10 database servers to storage. We first directed the workload to the legacy storage array to establish a baseline, increasing the load to the point where read latency consistently exceeded 20ms.
That workload was then directed at the AFF8080 EX. The change in storage resulted in an overall 20x reduction in read latency, a greater than 4x improvement in IOPS, and a greater than 4x improvement in database server CPU utilization.
Figure 2) NetApp All Flash FAS increases IOPS and server CPU utilization and lowers latency.
Source: NetApp, 2015
In other words, the database servers are able to process four times as many IOPS with dramatically lower latency. CPU utilization goes up accordingly because the servers are processing 4x the work per unit time.
The All Flash FAS system still had additional headroom under this load.
Calculating the Savings
Let's look at what this performance improvement means for the total cost of running SQL Server 2014 over a 3-year period. To do the analysis we used NetApp Realize, a storage modeling and financial analysis tool designed to help quantify the value of NetApp solutions and products. NetApp sales teams and partners use this tool to assist with return on investment (ROI) calculations.
The calculation includes the cost of the AFF8080 EX, eliminates the costs associated with the existing storage system, and cuts the total number of database servers from 10 to five. This reduces SQL Server licensing costs by 50%. The same workload was run with five servers and achieved the same results. ROI analysis is summarized in Table 2.
Table 2) ROI from replacing an HDD-based storage system with All Flash FAS, thereby cutting server and licensing costs in half.
Value
Analysis Results
ROI
65%
Net present value (NPV)
$950,000
Payback period
six months
Total cost reduction
More than $1 million saved over a 3-year analysis period compared to the legacy storage system
Savings on power, space, and administration
$40,000
Additional savings due to nondisruptive operations benefits (not included in ROI)
$90,000
Source: NetApp, 2015
The takeaway here is that you can replace your existing storage with All Flash FAS and get a big performance bump while substantially reducing your costs, with the majority of the savings derived from the reduction in SQL Server licensing costs.
Replace your existing storage with All Flash FAS and get a big performance bump while substantially reducing your costs.
Maximum SQL Server 2014 Performance
In addition to the ROI analysis, we also measured the maximum performance of the AFF8080 EX with SQL Server 2014. A load-generation tool was used to simulate an industry-standard TPC-E OLTP workload against an SQL Server 2014 test configuration.
A two-node AFF8080 EX achieved a maximum throughput of 322K IOPS at just over 1ms latency. For all points other than the maximum load point, latency was consistently under 1ms and remained under 0.8ms up to 180K IOPS.
Data Reduction and Storage Efficiency
In addition to performance testing, we looked at the overall storage efficiency savings of our SQL Server database implementation. The degree of compression that can be achieved is dependent on the actual data that is written and stored in the database. For this environment, inline compression was effective. Deduplication, as is often the case in database environments, provided little additional storage savings and was not enabled.
For the test data used in the maximum performance test, we measured a compression ratio of 1.5:1. We also tested inline compression on a production SQL Server 2014 data set to further validate these results and saw a 1.8:1 compression ratio.
Space-efficient NetApp Snapshot® copies provide additional storage efficiency benefits for database environments. Unlike snapshot methods that use copy-on-write, there is no performance penalty; unlike full mirror copies, NetApp Snapshot copies use storage space sparingly. Snapshot copies only consume a small amount of storage space for metadata and additional incremental space is consumed as block-level changes occur. In a typical real-world SQL Server deployment on NetApp storage, database volume Snapshot copies are made every two hours.
First introduced more than 10 years ago, NetApp FlexClone® technology also plays an important role in SQL Server environments. Clones are fully writable, and, similar to Snapshot copies, only consume incremental storage capacity. With FlexClone, you can create as many copies of production data as you need for development and test, reporting, and so on. Cloning is a great way to support the development and test work needed when upgrading from an earlier version of SQL Server. You'll sometimes see these types of capabilities referred to as "copy data management."
A Better Way to Run Enterprise Applications
The performance benefits that all-flash storage can deliver for database environments are significant: more IOPS, lower latency, and an end to near-constant performance tuning.
If you think the performance acceleration that comes with all-flash storage is cost prohibitive, think again. All Flash FAS doesn't just deliver a performance boost, it changes the economics of your operations, paying for itself with thousands in savings on licensing and server costs. In terms of dollars per IOPS, All Flash FAS is extremely economical relative to HDD.
And, because All Flash FAS runs NetApp clustered Data ONTAP, it delivers the most complete environment to support SQL Server and all your enterprise applications with capabilities that include comprehensive storage efficiency, integrated data protection, and deep integration for your applications.
For complete details on this testing look for NetApp TR-4303, which will be available in a few weeks. Stay tuned to Tech OnTap for more information as NetApp continues to run benchmarks with important server workloads including Oracle DB and server virtualization.
Learn more about NetApp solutions for SQL Server and NetApp All-flash solutions.
Quick Links
Tech OnTap Community
Archive
PDF -
I have used SSRS a lot years ago with Sql Server 2000 and Sql Server 2005. I have written external assemblies, ... But now I have to do this with Sql Server 2008 (R2 -- which I realize I am way behind the times already but ...) in sql server 2000 and
2005 there was a tab for datasource to the left of the tab for design which was to the left of the preview tab. How do I get to the datasource window in sql server 2008 (r2) ?
I see that datasource explorer. But where can I get to the datasource window to edit my queries and so forth for sql server 2008 (R2)?
Thanks
Rich PI think I found the answer to my question --- just right-click on the the Data Sources or Datasets for editing connections and dataset queries. I'm guessing it gets even fancier with Sql Svr 2012 - 2014. Man, that's the one thing
about coding platforms -- you let it go for a few years and come back, and everything has changed (well, a lot of things). Now I need to figure out how to add an external assembly to SSRS 2008 (R2).
Rich P
Maybe you are looking for
-
I went to the apple store and they told me that my version of Itunes on my Ipod touch is like 20 versions behind. My mom just bought a mac and I want to update my software but I dont want to lose all of my music,movies,shows, and pictures. I no longe
-
Hi All, This is the first time that i have got to work with BAPI . Can some 1 tell me the BAPI to create a purchase order. And also is bapi same as using a function module in calling . How do we pass the parameters and get back the result. I got 1 ba
-
Hi All Can you use Adobe interative forms in a Bsp application i.e. can you imbed an adobe form in a bsp view ? Any information on this would be of great help. Thank you Darren
-
Unable to Run SSIS Package Through SQL Agent Job
Hi, I recently upgraded SQL server 2008 R2 to SQL Server 2012. I also upgraded all the packages on the server. The package runs fine from BIDS. However when I try to run the package through the SQL Agent Job it fails with the error below: Executed as
-
Do i have to do post upgrade steps using DBUA or it will be done by the utility. Thanxs in advance