New in - Microsoft
Download
Report
Transcript New in - Microsoft
Agenda
Microsoft and Oracle Partnership Update
SQL 2005 in the Enterprise
Top SQL 2005 Features for JDE
64 –bit Platform Support
Data Partitioning
Index, Cursor and Query Enhancements
DMV, Plan Guides
Database Mirroring
SQL 2005 Resources
Q&A
Microsoft & Oracle
Partnership
Business Development
Look for areas where we can collaborate
Facilitate the business and technical dialog
Technical Collaboration
Oracle database and applications
Microsoft platform and tools
Communication channels open at various levels in the
organizations
Joint support contacts for customer escalations
Conference calls, briefings, etc.
Co-Marketing and Events
PDC, TechEd, IOUG, UKOUG
Oracle OpenWorld Gold Sponsor
1st Generation
2nd Generation
SQL Server
6.0/6.5
SQL Server
7.0
Differentiation from
Sybase SQL Server
Windows integration
First to include
Replication
Cross-release
objectives
Re-architecture of
relational server
Extensive auto
resource
management
First to include
OLAP & ETL
3rd Generation
SQL Server
2000
Performance,
scalability focus
XML support
First to include
Notification
First to include Data
Mining & Reporting
Reliability and Security
Integrated Business Intelligence
SQL Server
2005
High availability
Security
Developer
productivity
Native XML
First to include
Enterprise ETL and
Deep Data Mining
Lowest TCO
Automatic Tuning
Increased
Productivity
• Up to 40% faster development time w/ VS & .NET integration
• Up to 60% faster building distributed apps w/ Service Broker
• Elimination of routine tasks thru new automatable tools
Better
Business
Insight
•
•
•
•
2x faster performance on large scale OLAP Dimensions
New End User Reporting Tool
New SSIS enabling high scale data integration
Easier access to information thru MS Office
Increased
Mission
Critical
Support
•
•
•
•
35% faster transaction processing
5x faster failover enabling 99.999% availability
50% faster performance for ETL operations
New Native Encryption protects business data
SQL Server in the Enterprise
JD Edwards Support on SQL Server 2005
Supported EnterpriseOne Tools version
Planned as a postrelease patch of 8.96
Supported App versions
8.9
8.10
8.11
8.12
Supported platforms
32-bit
X64 (AMD Opteron and Intel EM64T)
SQL Server 2005 Upgrade Advisor
Analyze all database and services
running on a server
Identify potential risks and issues
Suggest solutions and fixes
Advise when action should be taken
Upgrading to SQL Server 2005
You can reduce upgrade down time
Pre-install Setup pre-requisites
Microsoft .NET Framework 2.0
Microsoft SQL Native Client
Setup support files
Upgrade Path
In-place upgrade
Least complicated for upgrade, but requires more planning for
fallback
Side-by-side upgrade
Install a new SQL Server 2005 instance
Attach or restore JD Edwards database after installed
Easy fallback should problems occurs
Upgrading to SQL Server 2005
after the upgrade
Set JD Edwards database compatibility level to 90
Run update statistics – extremely important
SQL2K statistics stale after upgrade, update statistics will
kick in automatically upon first execution of queries
Manually update statistics after upgrade. Use full scan if
possible.
Run surface area configuration manager after
upgrade
May not recognize an important component is off by
default: name pipes, Service Broker, CLR, FTS, Dedicated
Administration Connection, etc.
SQL Server 2000 vs. SQL Server 2005
Scalability Comparison
Joint Study by Network Appliance and Microsoft
Significant query performance improvements in SQL Server 2005
For complete study, go to http://www.netapp.com/partners/docs/msftsqlserver2005.pdf
New in
Database Engine
Service Broker
HTTP Access
Database Tuning Advisor
Enhanced Read ahead and scan
Indexes
with Included Columns
Multiple Active Result Sets
Persisted Computed Columns
Try/Catch in T-SQL statements
Common Table Expressions
Server Events
Snapshot Isolation Level
Partitioning
Synonyms
Dynamic Management Views
.NET Framework
Common Language Runtime Integration
CLR-based Types, Functions, and Triggers
SQL Server .NET Data Provider
Data Types
CLR-based Data Types
VARCHAR(MAX), VARBINARY(MAX)
XML Datatype
Database Failure and Redundancy
Fail-over Clustering (up to 8 node)
Database Mirroring
Database Snapshots
Enhanced Multi-instance Support
XML
New XML data type
XML Indexes
XQUERY Support
XML Schema (XSD) support
FOR XML PATH
XML Data Manipulation Language
SQLXML 4.0
Database Maintenance
Backup and Restore Enhancements
Checksum Integrity Checks
Dedicated Administrator Connection
Dynamic Configuration AWE
Highly-available Upgrade
Online Index Operations
Online Restore
Management Tools
MDX and XML/A Query Editor
Maintenance Plan Designer
Source Control Support
Profiler access to non-sa
SQLCMD Command Line Tool
Database Mail
Performance Tuning
Profiling Analysis Services
Exportable Showplan and Deadlocks
Profiler Enhancements
New Trace Events
Full-text Search
Backup/Restore includes FT catalogs
Multi-instance service
SQL Client .NET Data Provider
Server Cursor Support
Multiple Active Result Sets
Security
Catalog and meta-data security
Password policy enforcement
Fine Grain Administration Rights
Separation of Users and Schema
Surface Area Configuration
Notification Services
Embed NS in existing application
User-defined match logic
Analysis Services Event Provider
Replication
Seamless DDL replication
Merge Web Sync
Oracle Publication
Peer to Peer Transactional replication
Merge replication perf and scalability
New monitor and improved UI
Analysis Services and Data Mining
Analysis Management Objects
Windows Integrated Backup and Restore
Web Service/XML for Analysis
Integration Services and DM Integration
Eight new Data Mining algorithms
Auto Packaging and Deployment
Migration Wizard
Integration Services
New high performance architecture
Visual design and debugging environment
Extensible with custom code and scripts
XML task and data source
SAP connectivity
Integrated data cleansing and text mining
Slowly changing dimension wizard
Improved flow control
Integration with other BI products
Reporting Services
Report Builder
Analysis Services Query Designer
Enhanced Expression Editor
Multi-valued Parameters
Date Picker
Sharepoint Web Parts
Floating Headers
Custom Report Items
XML Data Provider
Top SQL Server 2005 Features
for JDE
•
•
•
•
•
•
•
•
64-bit Platform Support
Data Partitioning
Index Enhancements
Cursor Enhancements
Enhanced Query Processing
Plan Stability
Dynamic Management View
Database Mirroring
64-bit Platform Support
SQL 2005 x64 provides native support for x64
platforms (from AMD and Intel) and runs on
Windows 2003 x64
Nearly unlimited Virtual Address Space (VAS)
Same price point as 32-bit machines
Best price/performance platform
Virtualized Licensing
Per processor instead of per core licensing
Reduce database cost by a factor of 3 or more
Is 64-bit for you?
32-bit vs. 64-bit
32-bit
Higher clock speed
Smaller memory footprint
Limited to 3GB VAS, AWE helps, but…
64-bit
Flat memory, nearly unlimited VAS
Supports up to 64 processors
Lower clock speed, larger memory footprint
When should you switch to 64-bit for JD Edwards
Need more memory for more connections, cursors
High compiles/sec due to memory recycling
High disk access due to low memory
High sort/hashing activities in tempdb
Data Partitioning
Separate data in a table into multiple manageable pieces
The row is the unit of partitioning
Support single key range partitioning
Instantaneous Split, Merge, Switch Partitions
Sliding window scenario
Transparent to the application
Allow easy management of very large tables and indexes
Fast Insert or Delete of large quantities of data (per-partition)
Index defragmentation or rebuild on one partition using ALTER
INDEX … PARTITION (<num>)
Delete Data From Unpartitioned Table
Delete from BigTable where OrderYear < 1995
Delete index
entries
Delete data
rows
Deletion of data
rows means to
maintain the index
tree, as well as the
data pages which
might take minutes
or even hours on
very big tables (
depending on how
many rows will be
removed )
Delete Data From Partitioned Table
Alter table BigTable switch partition 1 to NewTable
NewTable
BigTable
Data won‘t be
physically moved.
It‘s just a „logical“
move by changing
meta data in the
system tables of
the database
server.
1994
1995
1996
1997
1998
1999
Index Enhancements
Index issues
JD Edwards ships one schema for all verticals/components
not all shipped indexes are used
Unused indexes create performance / on-disk storage
overhead
Index rebuild requires “long-term” table lock
SQL Server 2005
Disable index feature removes the need for maintaining
unused indexes while preserving the index definition
Online index rebuild, reorganize and drop allow index
access during maintenance
Cursor Enhancements
SQL 2000 / JDBC 2000 Cursor issues
JDBC 2000 supports dynamic cursor only
Dynamic cursor has plan limitations
Cursor scalability limited by 3GB virtual address space
SQL Server 2005 / JDBC 2005
JDBC 2005 supports all cursor types
Reduced cursor memory footprint
No more cursor memory limitation on 64-bit
Enhanced Query Processing
Statement Level Recompile
Plans for stored procedures and batches no longer
recompile the whole.
Reduced compile time and resources.
Forced Parameterization
Database level option to enable parameterization for all
queries automatically without application code changes.
Asynchronous Statistics Calculation
Statistics recalculation no longer blocks compilation or
recompilation
Dynamic Management Views
(DMVs)
Reflect what’s going on inside the server process
itself or across all sessions in the server.
Used for diagnostics, memory and process
tuning, and monitoring potentially across all
sessions in the server
More than 80 DMVs, For example
dm_exec_*
dm_tran_*
dm_os_*
dm_io_*
dm_db_*
dm_repl_*
dm_broker_*
…
Query execution and connections
Transactions and isolation
Memory, locking and scheduling
IO on network and disk
Databases and db objects
Replication
Service Broker
DMV
Sample Questions DMV Answers
“sys.dm_exec_query_stats” – what’s the top 5 query
with the most io?
“sys.dm_exec_query_plan” – what execution plan
was used to run the query last time
“sys.dm_db_index_usage_stats” – what are the
rare/never used indexes?
“sys.dm_db_index_operational_stats” – how are the
indexes being accessed
“sys.dm_os_schedulers” – is the system under CPU
pressure
“sys.dm_os_memory_clerks” – which component is
consuming the most memory
DMV Example
Top CPU usage by statement
SQL Server 2000
Profiler Statement level trace
Must capture real time
SQL Server 2005 – (DMVs)
SELECT TOP 5
qs.total_worker_time/qs.execution_count as [Avg CPU Time],
SUBSTRING(qt.text,qs.statement_start_offset/2,
(case when qs.statement_end_offset = -1
then len(convert(nvarchar(max), qt.text)) * 2
else qs.statement_end_offset end qs.statement_start_offset)/2)
as query_text,
qt.dbid,
qt.objectid
FROM sys.dm_exec_query_stats qs
cross apply sys.dm_exec_sql_text(qs.sql_handle) as qt
ORDER BY
[Avg CPU Time] DESC
Plan Stability
Plan in cache is not optimal
JD Edwards queries are dynamically generate by
application, DBAs can’t change the application
99%+ of queries run well, but …
DBAs need more control of optimization than just
creating / dropping indexes or updating statistics
Solution: “out-of-band” query hints
Plan Guide
Plan Guide
Allow controlling optimization with query
hints when the application cannot be changed
Matching During module (sp, trigger, tvf) compilation / batch
compilation
sp_create_plan_guide [ @name = ] N'plan_guide_name'
, [ @stmt = ] N'statement_text'
, [ @type = ] N' { OBJECT | SQL | TEMPLATE }'
, [ @module_or_batch = ]
{
N'[ schema_name.]object_name'
| N'batch_text'
| NULL
}
, [ @params = ] { N'@parameter_name data_type [,…n ]' | NULL }
, [ @hints = ] { N'OPTION ( query_hint [,…n ] )' | NULL }
Plan Guide Scenarios
Force use of a specific JOIN type for a specific query
Force optimizer to always use a particular parameter
value
Force compilation sharing for queries with same
format but different constant literals
Force the use of a specific plan for a manually
parameterized query
Database Mirroring
Synchronization can be synchronous or asynchronous
Zero to minimal impact on transaction throughput
Instantaneous failover
Works on standard hardware with no shared storage
components
Automatic, transparent client redirect
Snapshot on mirror provides reporting capability
Database Mirroring
Two copies of the same database:
Principal: This copy is accessible. Applications connect to
it.
Mirror: Always in the “Restoring” state. Applications
cannot connect to it.
Transaction log records are transferred from the
principal to the mirror continuously to keep the
mirror up-to-date.
Optionally, A third SQL Server instance can be used
as Witness
Required for automatic failover
The granularity of database mirroring is a database.
Multiple databases in an instance can be mirrored.
Basic Principle of Mirroring
(synchronous mode)
Acknowledge
Acknowledge
Commit
Constantly
Redoing on
Mirror
Transmit to Mirror
Write to
Local
Log
DB
Committed
in Log
Log
Write to
Remote
Log
Log
DB
Additional Information
SQL Server 2005 - Books Online
http://www.microsoft.com/sql/2005/default.msp
x
http://msdn.microsoft.com/SQL/2005/default.asp
x
http://www.microsoft.com/technet/prodtechnol/s
ql/2005/default.mspx