Download - Taller 70-432 SQL
Diapositiva 1
Ing. Jonathan Mejias Valenciano
Microsoft Certified IT Professional Virtualization AdministratorMicrosoft Technology Specialist Windows Server 2008 R2 Desktop VirtualizationMicrosoft Technology Specialist Windows Server Virtualization Configuration
Microsoft Technology Specialist System Center Configuration Manager 2007
Microsoft Certified Database AdministratorMicrosoft Certified IT Professional SQL-Server 2005Microsoft Technology Specialist SQL-Server 2005Microsoft Technology Specialist SQL-Server 2008
Microsoft Speaker
Senior Consulting Services
PresentationNameCompany PositionDatabase experienceSQL Server CertificationsExpectations for the workshop
WorkShop Materials70-432 and 70-450: Microsoft SQL Server Database implementation and maintenance
FacilitiesClass hoursParkingRestroomsMealsPhonesSmoking
PrerequisitesExperience as database administrator.Experience with Windows services (starting and stopping)Experience creating service accounts and permissionsExperience with Microsoft SQL Server 2005/2008
5SetupMicrosoft Virtual Server 2005 R2 / Virtual PC 2007/Hyper-V
Microsoft Windows Server 2008 R2 Enterprise EditionActive Directory, DNS, Mail Server.
Microsoft SQL Server 2008 R2 Enterprise Edition Database Services, Management Studio.
Microsoft SQL Server 2008 R2 Enterprise Edition.
Server Name: Login: AdministratorPassword: P@ssw0rd
Microsoft SQL Server 2008, Implementation and MaintenanceTemasInstalling and Configuring SQL Server 2008Maintaining SQL Server Instances Managing SQL Server Security Maintaining a SQL Server Database Performing Data Management Tasks Monitoring and Troubleshooting SQL ServerOptimizing SQL Server Performance Implementing High AvailabilityInstalling and Configuring SQL Server 2008
Conceptos basicosPrerequisitosInstalacionConfiguracion instancias y serviciosConceptos basicos cont.Configuracion de RAID.Contencion: varios discos de menor volumen para evitar sobre carga en pocos discos de mayor volumen.SAN: arreglo de discos masivo para diferentes ambientes. Eva, EMC.Hot Spare: 1 disco dispobible para falla.Hot Swap: cambios en cliente
Conceptos basicos cont.Discos Dinamicos: solamente para arreglos por softwareDiscos Basicos: Cluster.Allocation Unit: unidad minima para particionar, default 4k.Designing a Database Server Security Solution Design instance authenticationAuthentication typeLogon triggersDesign instance-level security configurationsWindows Service AccountsCredentialsInstance-level permissionsEndpoint securityTCP portsCertificates
12Designing a Database Server Security Solution Design database, schema, and object security parametersUsersRolesCertificate and key managementhttp://msdn.microsoft.com/en-us/library/ms189586.aspx
Service Brokerhttp://msdn.microsoft.com/en-us/sqlserver/cc511479.aspx
Ownership chainhttp://msdn.microsoft.com/en-us/library/ms188676.aspx
13Troubleshooting Database and server performance
Optimization guide
ApplicationODBC is slowIf not .NET use OLEDBIF .NET use .NET Data ProviderOptimization guide
Application2 Layers->N LayersClient instructions can generate server cursorsOptimization guide
DatabaseNormalizationIndexesCursorsText PK without fixed sizePoorly written queriesOptimization guide
SQL ServerAWE/3GB, /PAEAssigned processorsSQL Server edition vs. available resources
Optimization guide
HardwareMemoryCPUI/ONetworkDesigning a Monitoring Strategy Physical Server Performance
Memory UsageDisk UsageProcessorNetwork UsageUser Connections
Network UsageNetwork Interface: Bytes Received/secExternal AttackNetwork Interface: Bytes Send/secLarge Volume of information.Network Interface: bytes/secDoS Attack
User ConnectionsSQL Server: General Statistics: User ConnectionsThis value shouldn't exeed 255 for continuous periodsSolving Resource ProblemsMemory:Buffer Cache Hit Ratio < 99 and Pages/sec > 20. Other applications running on the serverSQL Server memory configuration (dinamically and maximun settings)Add more RAMSolving Resource ProblemsDisk I/OExcesive I/O opertationsMemory bottleneckReduce server loadSolving Resource ProblemsPhysical Drives and Disk ControllersAdd drives to the arrayInstalling faster drivesFaster controllerAdding cache memory to the controller cardUsing diferent version of RAIDOffline defragmentationSolving Resource ProblemsCPU UtilizationProcessor Queue length and Processor time exceeded.Add CPUFaster CPULarger L2 cacheSolving Resource ProblemsCPU UtilizationProcessor Queue length exceeded and Processor time not exeeded.Reduce SQL Server Maximun worker theats.Solving Resource ProblemsUser ConnectionsSQL Server General Statistics:User Connections > 255Increase Maximun Worker theads.
Note: Maximun Worker theads > Maximun number of connectionsTroubleshooting ToolsSQL Server ProfilerDatabase tunning advisor (DTA)Dynamic Management viewsAnalizing Tempdb Database IssuesTempdb StorageSQL Server:Transactions:Free SpaceSelect SUM(unallcated_extent_page_count) AS [free pages](SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]From sys.dm_db_file_space_usage;
Sys.dm_db_file_space_usage-> User objects, internal objects stores in tempdb
Analizing Tempdb Database IssuesTemdb ContentionTo monitor unusual increase in temporary objects allocation:SQL Server:Access Methods:Workfiles Created/SecSQL Server:Access Methods:Worktables Created/SecSQL Server:Access Methods:Mixed Page Allocations/SecSQL Server:General Statistics:Temp Tables Created/SecSQL Server:General Statistics:Temp Tables For Destruction
Analizing Query Statement RecompilesCompilation a least onceRecompilationValidityCorrectnessFor details page 36Monitoring Auto-Grow and Auto-ShrinkProfilerData File Auto Grow event classData File Auto Shrink event classLog File Auto Grow event classLog File Auto Shrink event classUpdating StatisticsINSERT, DELETE or UPDATE cause statistics to not reflect the true data distributionSp_autostatsSp_updatestatsIndexesCluster and Non clusterQuery optimizerDefragmenting and rebuilding indexesMissing and Inappropiate indexes (DTA)Poorly written queriesFocus on longest and the most frequentlyReview query code: Excessive data retrievalExcessive data movementUnnecessary data sortingCursorsLong-running transactionsSyntax errors
Poorly written queriesReview the query execution plan:Table scanCluster index scanBookmark lookupsIndex scansData sortsImproper data joins
Use DBCC DROPCLEANBUFFERS
Poorly written queriesAnalyze resources: CPU, memory, disk I/OQuery environment:Table designColumn designTable indexesColumn statisticsNumber of applicationsDatabase and server configurationAmount of data within the table
Poorly written queriesThe graphical execution planDatabase growthFilegroupsImproving database performanceAnalyzing QueriesIndentifying poorly performing queriesQuery editorInclude client StatisticsQuery optionsGraphical execution planEstimated execution planInclude actual execution planIndentifying poorly performing queriesUsing query designerAnalyze query in DTAProfilerDTADMVPage 89.Practice Page 93Analyzing a query planSet statistics IO OnExample page 100Graphical Execution planTable scans > 8MPoorly designed queryMissing indexExcessive logical reads and writesExample page 103.Where
Tuning queriesTop(100): first 100 rowsPercentDistinct: eliminate duplicate rows. CarefullyUnion: eliminate duplicate rows in the result set.Union ALL: more efficient.Example page 105Index in Foreign Keys
Tuning queriesset xact_abort onset lock_timeout 3000request mode x (exclusive)
Tuning queriesWhere clause operators:=>,>=,