SQL Server 2005 RDBMS Technical Overview Matthew Stephen IT Pro Evangelist (SQL Server) Microsoft...
-
Upload
damion-lease -
Category
Documents
-
view
230 -
download
3
Transcript of SQL Server 2005 RDBMS Technical Overview Matthew Stephen IT Pro Evangelist (SQL Server) Microsoft...
SQL Server 2005 RDBMS Technical SQL Server 2005 RDBMS Technical OverviewOverviewMatthew StephenIT Pro Evangelist (SQL Server)http://blogs.technet.com/mat_stephenMicrosoft Ltd.
AgendaAgenda
IntroductionIntroduction
Manageability enhancementsManageability enhancements
Security enhancementsSecurity enhancements
Availability enhancementsAvailability enhancements
Secure, reliable, and productive database platform for line-of-business and analytical applications
High availability for enterprise applicationsHigh availability for enterprise applications
Security enhancementsSecurity enhancements
Focus on manageability; self optimizationFocus on manageability; self optimization
Enterprise Data Management
Developer Productivity
Business Intelligence
Integration with Visual StudioIntegration with Visual Studio®® and .NET and .NET
Native XML technology Native XML technology
Interoperability: open standards, Web servicesInteroperability: open standards, Web services
Comprehensive ETL solutionComprehensive ETL solution
Real-time decision making: reporting, data miningReal-time decision making: reporting, data mining
Scalability and availability enhancementsScalability and availability enhancements
IntroductionIntroductionEmpowering ProductivityEmpowering Productivity
ManageabilityManageability New Management ToolsNew Management Tools
New: SQL Server Management StudioNew: SQL Server Management Studio
New rich GUINew rich GUI
Integrated managementIntegrated management
Supports all SQL Server componentsSupports all SQL Server components
Replaces:Replaces:
Enterprise ManagerEnterprise Manager
Query AnalyzerQuery Analyzer
Analysis Services ManagerAnalysis Services Manager
ManageabilityManageabilityManagement StudioManagement Studio
Object ExplorerObject Explorer
Create databases and data sourcesCreate databases and data sources
Control privileges and permissionsControl privileges and permissions
Configure replicationConfigure replication
Manage SQL Server AgentManage SQL Server Agent
Ω
Manageability Manageability Tuning ToolsTuning Tools
XML Show PlanXML Show Plan
Publicly available SchemaPublicly available Schema
Programmatic accessProgrammatic access
PortabilityPortability
Database Tuning AdvisorDatabase Tuning Advisor
Time bound tuningTime bound tuning
What-if analysisWhat-if analysis
ScalabilityScalability
Ω
Manageability Manageability Diagnostic ToolsDiagnostic Tools
Dynamic Management ViewsDynamic Management Views
Server transparencyServer transparency
““sys.memory_clerks” sys.memory_clerks”
““sys.schedulers” sys.schedulers”
SQL ProfilerSQL Profiler
Integrated with Performance MonitorIntegrated with Performance Monitor
Deadlock graphDeadlock graph
Integrated Event LogsIntegrated Event Logs
Ω
SecuritySecurityFeature EnhancementsFeature Enhancements
Authorization EnhancementsAuthorization Enhancements
User schema separationUser schema separation
Module execution contextModule execution context
Granular permission controlGranular permission control
Encryption enhancementsEncryption enhancements
AuditingAuditing
DDL triggersDDL triggers
EventsEvents
Ω
SecuritySecurityUser-Schema SeparationUser-Schema Separation
New DDL for user and schemasNew DDL for user and schemas
CREATE/ALTER/DROP for USER, ROLE, and CREATE/ALTER/DROP for USER, ROLE, and SCHEMASCHEMA
Dropping user does not require application Dropping user does not require application rewriterewrite
SecuritySecurityDROP USER => Application RewriteDROP USER => Application Rewrite
App1
App2
SELECT custID FROM SELECT custID FROM User1User1.OrdersTable.OrdersTable
App1 App1 ModifiedModified
App2 App2 modifiedmodified
OrdersTableOrdersTable
InsertOrderProcInsertOrderProc
SELECT custID FROM SELECT custID FROM User2User2.OrdersTable.OrdersTable
Exec Exec User1User1.InsertOrderProc .InsertOrderProc (@orderid)(@orderid)
Exec Exec User2User2.InsertOrderProc .InsertOrderProc (@orderid)(@orderid)
Owning user = User1 Owning user = User1
SCHEMA = User1SCHEMA = User1Owning user = User2 Owning user = User2
SCHEMA = User2SCHEMA = User2
SecuritySecuritySolution:Solution: User-Schema Separation User-Schema Separation
UserUserDatabase Object SchemaSchema
Contained inContained in Owned byOwned byOwned ByOwned By
TableTable
ViewView
Stored ProcStored Proc
FunctionFunction
User 2
Owned by
Owned by
Drop user does NOT require application change!Drop user does NOT require application change!
SecuritySecurity User-Schema SeparationUser-Schema Separation
Each schema has an owning Each schema has an owning principal – user or roleprincipal – user or role
Each user has a default schema Each user has a default schema for name resolutionfor name resolution
Object creation inside schema Object creation inside schema requires CREATE permission requires CREATE permission and ALTER or CONTROL and ALTER or CONTROL permission on the schemapermission on the schema
Example: Creation of table in Example: Creation of table in schema requires CREATE schema requires CREATE TABLE permission and TABLE permission and ownership of schema or ownership of schema or ALTER or CONTROL ALTER or CONTROL on schemaon schema
Role1 User1
Owns
Has default schema
Owns
Approle1
Owns
Schema1 Schema2
Schema3
SP1Fn1
Tab1
Database
Security Security Execution ContextExecution Context
User 3User 3
Select Perms Select Perms checked for User3checked for User3
Execute Perms Execute Perms checked for User3checked for User3
User1.Proc1User1.Proc1 User1.T1User1.T1
Execute Perms Execute Perms checked for User3checked for User3
NONO Perms Perms checked for User3checked for User3
User 3User 3 User2.Proc1User2.Proc1 User1.T1User1.T1
‘‘Execute AS ‘X’ ’Execute AS ‘X’ ’
Execute Perms Execute Perms checked for User3checked for User3
Select Perms Select Perms checked forchecked for ‘X’. ‘X’. Not for user3Not for user3
SQL Server 2005SQL Server 2005
SQL Server 2000SQL Server 2000User2.Proc1User2.Proc1 User1.T1User1.T1
SecuritySecurityModule Execution ContextModule Execution Context
Execute AS CALLERExecute AS CALLER
Execute AS “UserName”Execute AS “UserName”
Execute AS SELFExecute AS SELF
Execute AS OWNER Execute AS OWNER
SecuritySecurityCertificatesCertificates
Encryption enhancementsEncryption enhancements
Encryption uses symmetric keys, asymmetric keys and Encryption uses symmetric keys, asymmetric keys and certificatescertificates
SQL Server 2005 can generate certificates for encryptionSQL Server 2005 can generate certificates for encryption
RC4, RSA, Triple-DES and AES encryption supportedRC4, RSA, Triple-DES and AES encryption supported
Encryption can be used with any level of SQL Server Encryption can be used with any level of SQL Server 2005 securable objects2005 securable objects
AvailabilityAvailabilityTable PartitioningTable Partitioning
SQL Server 2000 allowed partition viewsSQL Server 2000 allowed partition views
SQL Server 2005 allows partitioned tables and indexesSQL Server 2005 allows partitioned tables and indexes
Increases performance on multiprocessor machinesIncreases performance on multiprocessor machines
Eases management of data – data can be grouped logicallyEases management of data – data can be grouped logically
Data movement easier Data movement easier
Three stepsThree steps
Create the partition functionCreate the partition function
Create the partition schemeCreate the partition scheme
Create the partitioned tableCreate the partitioned table
Ω
AvailabilityAvailabilitySnapshot IsolationSnapshot Isolation
Increased data availability for Increased data availability for read applicationsread applications
Allows non-blocking consistent reads in an OLTP Allows non-blocking consistent reads in an OLTP environmentenvironment
Writers don’t block readersWriters don’t block readers
Readers don’t block writersReaders don’t block writers
ScenariosScenarios
Read-mostly database with relatively few writes – Read-mostly database with relatively few writes – ReportingReporting
Migration from Oracle to SQL ServerMigration from Oracle to SQL Server
AvailabilityAvailabilityDatabase SnapshotsDatabase Snapshots
Snapshot of a database at a point in timeSnapshot of a database at a point in time
Created instantlyCreated instantly
Read onlyRead only
Does not require a complete copy of the dataDoes not require a complete copy of the data
Shares unchanged pages of the databaseShares unchanged pages of the database
Requires extra storage only for changed pagesRequires extra storage only for changed pages
Uses a “copy-on-write” mechanismUses a “copy-on-write” mechanism
Recover from User, Application or DBA errorRecover from User, Application or DBA error
Rewind database to Database SnapshotRewind database to Database Snapshot
AvailabilityAvailabilityOther Maintenance FeaturesOther Maintenance Features
Dedicated Admin ConnectionDedicated Admin Connection
Access to Server when regular connections failAccess to Server when regular connections fail
Online page and file restoreOnline page and file restore
Database remains onlineDatabase remains online
Online index maintenance
Fast recoveryFast recovery
Database is available when undo beginsDatabase is available when undo begins
UndoUndoRedo
AvailableAvailable
SessionSession Summary Summary
New integrated management toolsNew integrated management tools
New privilegesNew privileges
Secure by design, by deployment, and by defaultSecure by design, by deployment, and by default
Reduced attack surfaceReduced attack surface
Separate service accountsSeparate service accounts
Fine grained access securityFine grained access security
Expanded and enhanced availability optionsExpanded and enhanced availability options
PartitioningPartitioning
New restoration featuresNew restoration features
New replication featuresNew replication features
© 2003 Microsoft Corporation. All rights reserved.
ResourcesResources
Microsoft SQL Team blogsMicrosoft SQL Team blogshttp://www.sqljunkies.com/blogs http://www.sqljunkies.com/blogs
Microsoft SQL Server community on the webMicrosoft SQL Server community on the webwww.sqlservercentral.com www.sqlservercentral.com
SQL Server Integration Services on the webSQL Server Integration Services on the webwww.sqlis.com www.sqlis.com
SQL Server Developer CenterSQL Server Developer Centerhttp://msdn.microsoft.com/sql/http://msdn.microsoft.com/sql/
Microsoft SQL Server 2005 websiteMicrosoft SQL Server 2005 websitehttp://www.microsoft.com/sql/2005/default.asphttp://www.microsoft.com/sql/2005/default.asp
SQL NewsgroupsSQL Newsgroups http://www.microsoft.com/technet/community/newsgroups/server/sql.mspxhttp://www.microsoft.com/technet/community/newsgroups/server/sql.mspx
SQL Server 2005 DataminingSQL Server 2005 Datamininghttp://www.sqlserverdatamining.com/DMCommunity/http://www.sqlserverdatamining.com/DMCommunity/