Mejores Practicas Implementar PRO SQL Server

1,274
-1

Published on

In this presentation we review the best SQL Server practices for implementing PRO Suite.

Regards,

Eduardo Castro
Microsoft SQL Server MVP

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,274
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Mejores Practicas Implementar PRO SQL Server

  1. 1. BestPracticesonDeployingPROS<br />withMicrosoftSQLServer<br />MaximizevalueandoperationalefficiencyofPROSpricemanagementsoftware<br />Dr. Eduardo Castro, MSc<br />ecastro@simsasys.com<br />http://ecastrom.blogspot.com<br />http://comunidadwindows.org<br />http://tiny.cc/comwindows<br />Facebook: ecastrom<br />Twitter: edocastro<br />
  2. 2. Agenda<br />BriefoverviewofthePROSPricingSolutionSuite<br />andMicrosoft®SQLServer®2008R2<br />SomebestpracticesforthePROSPricingSolutionSuite<br />onSQLServer<br />Summaryandlinksforfurtherinformation<br />
  3. 3. PROSPricingSolutionSuite<br />High-performancescalablearchitecture<br />Hundredsofmanyearsofdevelopmentandscienceeffortarecontained<br />inonecommonsetofcode<br />Arobustplatformthatsupportshigh-performance<br />scalabilityandthatishighlyconfigurable<br />5<br />
  4. 4. ScientificAnalyticsProvidesVisibility<br />Findandcorrectlow-performingcustomers<br />Gainvisibilityintopriceandmarginleakage<br />Pinpointrootcauseofperformanceand<br />targetimprovement<br />Identify“priceoutliers”withinsegment,target<br />pricingimprovementstovalueproposition<br />Catchchangesinpricingandprofittrendswith<br />alerts<br />Evaluateactionswith“what-if”scenarios<br />Providebenchmarksforpricingimprovement<br />Customers<br />Markets<br />and<br />segments<br />Targeted<br />actions<br />
  5. 5. DealOptimizerandPricingOptimizer<br />Control<br />complex<br />prices<br />Manage<br />price<br />changes<br />Control<br />quotes<br />and<br />deals<br />Centralizecontrolandadministrationofprices<br />Establishpriceguidance<br />Improveplanningandmanagementofpricechanges<br />Approvepricechangesthroughworkflow<br />Communicatepricechangestothefield<br />MakepricesavailableforuseinquotesandERP<br />Analyzeprofitabilityofquotesbeforesendingto<br />customers<br />Feedbacktosalesondealmarginsusingallprices<br />andcosts<br />Ensurepriceguidanceandmargintargetsaremet<br />Managedealapprovalprocess<br />Pricing<br />Optimizer<br />Deal<br />Optimizer<br />
  6. 6. ExampleScenario<br />Salesportalwithintegratedpricingdata<br />Microsoft®Office<br />Microsoft®Excel®<br />Microsoft®Word<br />Microsoft®Outlook®<br />Microsoft®InfoPath®<br />•<br />•<br />•<br />•<br />Microsoft®SharePoint®<br />Server<br />Businessprocessesandforms<br />(WF)<br />Portals<br />Collaboration<br />BusinessDataCatalog(BDC)<br />•<br />•<br />•<br />•<br />MicrosoftDynamics®CRM<br />MicrosoftSQLServer<br />AnalysisServices(SSAS)and<br />IntegrationServices(SSIS)<br />ReportingServices(SSRS)<br />•<br />•<br />Microsoft®Office<br />CommunicationsServer<br />andOfficeCommunicator<br />Microsoft®<br />PerformancePoint®Server<br />
  7. 7. WhatDoesMicrosoftOffer?<br />Microsoft®.NETsupportonservercore<br />InternetInformationServices(IIS)7.0,<br />Microsoft®ASP.NET,andPHP<br />BettertogetherwithWindows®7<br />Providescloudplatformforscalableapps<br />Automatedservicemanagement<br />Familiarprogrammingmodel,tools<br />Enterprise-classdataplatform<br />Deliversascalablebusinessintelligence<br />(BI)platform<br />Bringsrelationaldatabasemanagement<br />system(RDBMS)tothecloud<br />Extendsline-of-businessapplications<br />Richtools,platformservices<br />Flexibledeployment<br />
  8. 8. SQLServerEnterpriseBenefits<br />Unplanned<br />downtime<br />Reducedowntime<br />thatresultsfrom<br />unexpectedevents<br />Business<br />intelligence<br />Deliverbusinessinsight<br />bytransformingdata<br />intoactionable<br />Disasterrecovery<br />Reduceimpactand<br />quicklyrecoverfrom<br />disasters<br />knowledge<br />EnterpriseEdition<br />Reporting<br />Provideinformation<br />tothepeoplewho<br />needittomake<br />gooddecisions<br />Planneddowntime<br />Reducedowntimefor<br />regularlyscheduled<br />maintenance<br />Server<br />consolidation<br />Reducehardware<br />andsoftwarecostsby<br />combiningservers<br />
  9. 9. Agenda<br />BriefoverviewofthePROSPricingSolutionSuiteand<br />SQLServer2008R2<br />SomebestpracticesforthePROSPricingSolution<br />SuiteonSQLServer<br />Summaryandlinksforfurtherinformation<br />
  10. 10. SelectWhichFeatures<br />toInstall<br />Thechoicesshownarethe<br />minimumfeaturesforaPROS<br />PricingSolutionSuitedatabase<br />installation<br />
  11. 11. UseaLow-PrivilegeWindowsAccountfor<br />DatabaseandSQLServerAgentServices<br />ItisbesttouseadomainaccountinsteadofaSQLServer<br />accountoralocalaccount<br />ConfiguretheserviceaccountinSQL<br />Server2008SetupattheServer<br />Configurationstep<br />Youcanchangetheserviceaccountlater<br />byusingConfigurationManagerif<br />necessary<br />
  12. 12. GrantPermissiontothe<br />SQLServerService<br />AccounttoAllowFast<br />FileInitializations<br />WithSQLServerEnterprise,you<br />caninitializedatafilesinstantly<br />GrantthePerformvolume<br />maintenancetaskspermission<br />tousefastfileinitialization<br />
  13. 13. SetCollationtoWindowsCollationwhen<br />YouConfigureSQLServer2008<br />PROSPricingSolutionSuiteis<br />designedtouseWindowsCollation<br />withSQLServer2008<br />Collationletsthedatabaseengine<br />accountforvarioussorting,<br />comparisonoftextacrosslanguages,<br />andcasesensitivity<br />Setthecollationattheinstancelevel<br />toensurethatitaffectsalldatabases<br />thatareusedbyPROSsoftware<br />SetthecollationatthetimeSQL<br />Serverisinstalled<br />
  14. 14. ChoosetheSecurityMode<br />Configuretheserverauthenticationduringsetup<br />–UseMixedModeauthentication<br />–IftheSQLServerinstance<br />isalreadyinstalled,<br />modifythemodefrom<br />SQLServerManagement<br />Studio<br />WhenchoosingMixedMode,youare<br />requiredtoprovideastrongpassword<br />forthebuilt-insystemadministrator<br />(sa)account.<br />
  15. 15. ConfiguretheDatabaseEngineService<br />toAutomaticallyStart<br />Decidewhichservicestoautomaticallystartduringserver<br />configuration:<br />ConfigureSQLServer<br />Agentwithastartup<br />typeofManualfor<br />productiondatabase<br />servers<br />Configurethe<br />WindowsServer®<br />failoverclusterservice<br />withastartuptypeof<br />Manual<br />Configureastand-<br />alonedatabase<br />instancewithastartup<br />typeofAutomatic<br />Afterinstallation,youcanchangeservicestartup<br />typesinSQLServerConfigurationManager<br />
  16. 16. UseBestPractices<br />toSizeandPlace<br />tempdb<br />Movetempdbtoahigh-<br />performance,fault-tolerant<br />diskvolume(RAID1orRAID<br />10volumeonfastdisks,or<br />solid-statedrive)during<br />installationorbyusingthe<br />ALTERDATABASEstatement<br />Sizetempdbappropriately<br />Presizetoasufficientlylargesize<br />Ensurethatallthefilesintempdbare<br />identicalinsizebecauseSQLServer<br />2008usesaproportional-fillalgorithm<br />IncreasetheFILEGROWTHsettingto<br />50MB<br />Consideraddingmultipledatafilesto<br />thetempdbfilegroup<br />
  17. 17. Configurethe<br />MemoryforSQL<br />Server<br />IfyourPROSPricingSolutionSuite<br />database(data+indexes)isoris<br />expectedtobemuchlargerthanthe<br />totalRAMonthedatabaseserver,PROS<br />recommendsconfiguringtheminimum<br />andmaximumservermemoryoptionsin<br />SQLServer<br />Physical<br />RAM<br />8GB<br />16GB<br />24GB<br />32GB<br />48GB<br />64GB<br />96GB<br />128GB<br />MinSQLServermemory<br />4,096MB<br />8,192MB<br />12,288MB<br />16,384MB<br />32,768MB<br />49,152MB<br />73,728MB<br />104,448MB<br />MaxSQLServermemory<br />5,120MB(5GB)<br />12,288MB(12GB)<br />18,432MB(18GB)<br />25,600MB(25GB)<br />39,936MB(39GB)<br />56,320MB(55GB)<br />88,0640MB(86GB)<br />120,832MB(118GB)<br />
  18. 18. UseData<br />Compression<br />(SQLServer<br />EnterpriseOnly)<br />Datacompressionprovidesspace<br />savingsondisk<br />Becausedatacompressionreduces<br />theamountofdiskI/O,ittendsto<br />improveperformance<br />Datapagesarealsocompressedin<br />thebufferpool,increasingthe<br />effectiveamountofapplication<br />datathatcanbeaccessedfromthe<br />datacacheratherthandisk<br />
  19. 19. Plan,Document,<br />andTestthe<br />Backupand<br />RecoveryStrategy<br />forthePROS<br />Database<br />Themostimportantongoingmaintenance<br />taskforabusiness-criticaldatabasesuchas<br />PROSPricingSolutionSuiteismanaging<br />backups<br />IfyouuseFullrecovery,backupmultiple<br />timesperday<br />IfyouuseSimplerecovery,backupatleast<br />onceaday<br />Storebackupsoffsitewheneverpossible<br />Includeregularbackupsaspartofyour<br />overallstrategy<br />IfyouareusingSQLServer2008Enterprise,<br />usebackupcompression<br />o.<br />
  20. 20. MonitorIndex<br />Fragmentation,and<br />DefragmentWhen<br />Necessary<br />Fragmentationcanreducethespeedof<br />dataaccessandresultinslower<br />applicationperformance<br />Totellwhichindexeshave<br />fragmentationproblems,use<br />sys.dm_db_physical_stats()<br />Trackfragmentationwith<br />avg_fragmentation_in_percent,and<br />chooseacourseofaction<br />Notes:<br />–Reorganizinganindexdoesnotblock<br />useraccesstotheindex<br />–Rebuildingorre-creatingtheindexdoes<br />preventuseraccesstotheindex<br />oToavoidblocking,useALTERINDEX<br />REBUILDwiththeONLINE=ONoption<br />oOnlineindexrebuildrequiresSQLServer<br />2008Enterprise<br />Fragmentation<br /><5%<br />5%-30%<br />>30%<br />Recommendedaction<br />Donothing<br />Reorganizewith<br />ALTERINDEXREORGANIZE<br />Rebuildwith<br />ALTERINDEXREBUILDWITH<br />(ONLINE=ON)<br />or<br />CREATEINDEXwithDROP_EXISTING=ON<br />
  21. 21. CheckDatabaseIntegrityRegularly<br />UseDBCCCHECKDB<br />Itisbesttoincludedatabaseintegritychecksinascheduled<br />job<br />Ifproblemsaredetected,restorefromthebackup,orusea<br />repairoptiononDBCCCHECKDB<br />
  22. 22. UsethePROS<br />Auto-Generated<br />IndexedViews<br />PROSautomaticallycreatesthe<br />indexedviewstooptimizequeriesof<br />lookups<br />Indexedviewsareautomatically<br />createdbasedonpricingdimension<br />levels<br />
  23. 23. SettheMaximum<br />Degreeof<br />Parallelism<br />(MDOP)to1<br />Thisvalueidentifiesthenumber<br />ofthreadsusedtoexecutea<br />parallelplan<br />Changingthissettingreduces<br />blocking,deadlocks,andlocks<br />PROSsoftwareparallelizeswork<br />intheapplicationtier<br />
  24. 24. PROSScientificAnalytics<br />performanceisoptimizedusing<br />AnalysisServices<br />AnalysisServiceswilloptimizePROS<br />performancebasedonuserqueries<br />UseAnalysis<br />ServicesUsage-<br />BasedOptimization<br />
  25. 25. ConsiderCube<br />Partitioningwith<br />MoreThan20<br />MillionRecords<br />CubepartitioningallowsAnalysis<br />Servicestoleveragemultiplecores<br />–Improvescubeprocessingtime<br />–Improvesquerytime<br />Microsoftgenerallyrecommendsthat<br />partitionsdonothavemorethan20<br />millionrecords<br />Increasethemaximumnumberof<br />databaseconnectionswhenthenumber<br />ofpartitionsisabove10<br />–Formoreinformation,seesection<br />6.10oftheAnalysisServices<br />PerformanceTuningGuide<br />
  26. 26. IncreaseAnalysis<br />ServicesThread<br />Parameters<br />Consideranincreaseof<br />Threadpool/Query/MaxThreadstoless<br />thanorequalto2timesthenumberof<br />cores<br />–Increasesthenumberofqueriesthatcan<br />beservicesconcurrently<br />Consideranincreaseof<br />Threadpool/Process/MaxThreadstoless<br />thanorequalto10timesthenumberof<br />cores<br />–Increasesthenumberofthreadsusedby<br />thestorageengineduringqueryand<br />processingoperations<br />
  27. 27. LimittheNumber<br />ofColumnsin<br />Reportstoa<br />SpecificWorkflow<br />EaseofPROSconfigurationcan<br />resultinmeasureexplosionon<br />reports<br />Limitthenumberofinitial<br />measuresondefault<br />configuration<br />Usersarestillabletoaddand<br />rearrangemeasuresandsaveas<br />aFavorite<br />
  28. 28. PROSInstallerallowsfor<br />specificationofmultiplewebtier<br />andapplicationtierprocesses<br />PROSthreadingarchitectureand<br />dramaticimprovementsincaching<br />technologypromptuseoffewer<br />processeswithincreasedthread<br />limits<br />FavorSingleWeb<br />TierandApplication<br />TierPROS<br />Processesper<br />Server<br />
  29. 29. Consider<br />BackgroundDeal<br />Evaluationand<br />ScheduledPrice<br />Evaluation<br />Largedealscanautomaticallybe<br />senttothebackgroundfor<br />evaluationtofreeupthe<br />browserforotherPROSusage.<br />Anemailissentwhen<br />evaluationiscomplete.<br />Masspriceevaluationscanbe<br />triggeredadhocorputona<br />schedulethroughtheuser<br />interface.<br />
  30. 30. Performance Tools<br />System Performance Monitor (Perfmon)<br />SQL Profiler Trace<br />Dynamic Management Views/Functions<br />DBCC commands<br />SQLDiag (Shipped with SQL 2005/2008)<br />SQLIO, SQLIOSim<br />KernRate<br />Debugging tools (Windbg, DebugDiag,…)<br />More…<br />
  31. 31. Performance Tools Cont. - What’s new in SQL Server 2008<br />Data Collector & Management Data Warehouse (MDW)<br />Extended Events<br />Activity Monitor<br />New DMVs/DMFs<br />
  32. 32. MDW Architecture<br />MDW Host<br />MDW<br />Client Workstation<br />Target Server<br />Snapshot Data<br />Management Studio<br />dcexec.exe<br />MDW Reports<br />SSIS Pkgs<br />Cache Files<br />Collection Set Metadata<br />SQL Agent<br />Job Metadata<br />msdb<br />
  33. 33. Management Data Warehouse<br />Time line<br />Navigation control<br />Resource usage<br />
  34. 34. New and Improved DMVs<br />Memory allocation tracking<br />sys.dm_os_memory_brokers<br />sys.dm_os_memory_nodes<br />Reqource Governor<br />sys.dm_resource_governor_configuration<br />sys.dm_resource_governor_resource_pools<br />sys.dm_resource_governor_workload_groups<br />Query performance (hash value for query and plan)<br />sys.dm_exec_query_stats<br />Sys.dm_exec_requests<br />sys.dm_exec_procedure_stats<br />sys.dm_exec_trigger_stats<br />More…<br />
  35. 35. Bottleneck Analysis<br />Bottleneck – A point or component of a process where throughput is the slowest.<br />Understanding where time is spent<br />Elapsed Time = Running + Waiting<br />Key is the waiting - what type of wait(s)?<br />
  36. 36. Disk I/O Bottleneck Analysis<br />Monitor and identify I/O bottleneck<br />Resource Monitor & Performance Monitor<br />MDW<br />DMV & Extended Events<br />What is driving high I/O load?<br />Inefficient query plan<br />Too much data to read/write<br />Slow I/O subsystem<br />
  37. 37. Resource Monitor<br />File level I/O throughput and disk response time<br />
  38. 38. Agenda<br />BriefoverviewofthePROSPricingSolutionSuiteand<br />SQLServer2008<br />SomebestpracticesforthePROSPricingSolutionSuite<br />onSQLServer<br />Summaryandlinksforfurtherinformation<br />
  39. 39. Summary<br />SQLServer2008R2<br />isreadyformission-<br />critical,enterprise<br />deploymentsof<br />PROSPricing<br />SolutionSuite<br />Usingthebest<br />practicesdescribedin<br />thispresentationhelps<br />avoidandminimize<br />performanceproblems<br />Thestrategicalliance<br />betweenPROSand<br />Microsoftdelivers<br />measurablebenefits<br />
  40. 40. LinksforFurtherInformation<br />Readthe“MicrosoftSQLServer2008R2Partner<br />SolutionCaseStudy”<br />SQLServer2008informationcanbefoundinBooksOnline<br /><br />SQL Server 2008 Books Online:<br />http://www.microsoft.com/downloads/details.aspx?FamilyId=765433F7-0983-<br />4D7A-B628-0A98145BCB97&displaylang=en<br />SQL Server 2008R2 Product Documentation (TechNet):<br />http://technet.microsoft.com/en-us/library/bb418439(SQL.10).aspx<br />SQL Server“Denali” Product Documentation (TechNet):<br />http://technet.microsoft.com/en-us/library/bb418432(SQL.10).aspx<br />–<br />–<br />–<br />SeetheSQL Server Best Practices(http://technet.microsoft.com/en-<br />us/sqlserver/bb671430.aspx)portalfortechnicalwhitepapers,theSQLServerBest<br />PracticesToolbox,Top10Lists,andotherresources<br />TheSQL Server Analysis Services Performance Guide<br />(http://www.microsoft.com/downloads/en/details.aspx?FamilyID=3be0488d-e7aa-<br />4078-a050-ae39912d2e43&DisplayLang=en)providesthedetailsbehindthebest<br />practicesmentioned<br /><br /><br />
  41. 41. QuestionsandAnswers<br />SubmittextquestionsbyusingtheAskbutton<br />Don’tforgettofilloutthesurvey<br />Forupcomingandpreviouslylivewebcasts,visit<br />www.microsoft.com/webcast<br />Gotwebcastcontentideas?Contactusat<br />http://go.microsoft.com/fwlink/?LinkId=41781<br />
  42. 42. BestPracticesonDeployingPROS<br />withMicrosoftSQLServer<br />MaximizevalueandoperationalefficiencyofPROSpricemanagementsoftware<br />Dr. Eduardo Castro, MSc<br />ecastro@simsasys.com<br />http://ecastrom.blogspot.com<br />http://comunidadwindows.org<br />http://tiny.cc/comwindows<br />Facebook: ecastrom<br />Twitter: edocastro<br />

×