320 likes | 451 Views
SQL Server Management Tools. Lesson 28. Skills Matrix. Using Data-tier Applications. Your developers use Visual Studio to develop your new application. They create a data-tier application (DAC) as a single unit for authoring, deploying and managing the multiple involved objects.
E N D
SQL Server Management Tools Lesson 28
Using Data-tier Applications • Your developers use Visual Studio to develop your new application. • They create a data-tier application (DAC) as a single unit for authoring, deploying and managing the multiple involved objects. • You use the Deploy Data-tier Application Wizard to deploy a data-tier application (DAC) from a DAC package to an existing instance of SQL Server 2008 R2.
Using Data-tier Applications • Information in the Deployed Data-tier Applications view of Utility Explorer provides utilization data for individual data-tier applications, CPU utilization history, storage utilization details at the file level, and the ability to view and update policy thresholds. • Policy thresholds can be controlled at the data-tier application level for CPU utilization and for database data files and log files. • You can also view property details for individual data-tier applications.
Centralized Server Management • A Central Management Server (CMS) must be a SQL Server 2008 edition, or later. • You register a server by clicking View in SQL Server Management Studio, selecting Registered Servers, expanding your Database Engine, right-clicking Central Management Server and right-clicking to select Register Central Management Server. • When done you can run queries against a server group created in the CMS.
Performance Studio • Performance Studio builds on the concept of the Database Reports in SQL Server 2005 and the Performance Dashboard introduced in SQL Server 2005 SP2. • Data are historical and are persisted across service restarts.
Data Collection • A data collection container holds a set of statistical data you would like to collect, when to collect them and how long to keep them. • Data collections differ from dynamic management views in that dynamic management views present current data while data collections hold multiple instances of instantaneous (history) data permitting trend analysis. • The data collector uses prebuilt or custom SSIS modules and SQL Agent jobs to populate an automatically created Management Data Warehouse (MDW). • Four different data collector types exist: Transact-SQL query, SQL Trace, performance Counters and query activity.
Custom Data Collection • To create a custom Data Collection you need to use a Transact-SQL script. • You can create a Transact-SQL script from scratch to define your custom Data Collection or you can generate a script from one of the three different system Data Collections, and then modify it to meet your needs. • You might it easier to generate a script of a system Data Collation by using the script task from Object Explorer and modifying it, then keying in a complete script by hand.
Resource Governor • The resource governor (available only on the Enterprise edition) makes sure processes consume only the CPU cycles and memory allotted. • The resource governor also limits resource intensive processes so other database activities continue to be responsive. • Resource Governor is a new technology in SQL Server 2008 that enables you to manage SQL Server workload and resources by specifying limits on resource consumption by incoming requests.
Resource Governor • Resource Governor is designed to address the following types of resource issues which are commonly found in a database environment: • Run-away queries on the server • Unpredictable workload execution • Setting workload priority
Dynamic Views • Resource Governor introduces new dynamic management views that you can use to return current statistics and configuration data for workload groups and resource pools.
Classifier Function • The purpose of a classifier function is to identify processes that should belong to specific workload groups. • These workload groups will be restricted by the Resource Governor process to the limits allowed by any resource pool to which the workload group is assigned. • If no classifier function is in use, processes will be assigned to the default workload group.
DBCC Consistent Checks • The database console commands (DBCCs) are an important set of commands a DBA should understand. • The DBCC consistency check commands form the basis of a proactive database maintenance solution, coupled with an appropriate re‑indexing and backup strategy. • Back in the SQL Server 6.x days DBAs had to run the DBCCs on a fairly regular basis to keep those minor inconsistencies under control, before they became major problems. However, SQL Server's storage engine was reengineered for version 7.0.
DBCC CHECKALLOC • The DBCC CHECKALLOC command checks the consistency of the various internal structures (allocation units, GAM pages, IAM pages, IAM chains, SGAM pages, PFS pages) that describe the allocations of pages and extents within the database.
DBCC CHECKCATALOG • The DBCC CHECKCATALOG command checks the system catalog (system tables) of a database. • The DBCC CHECKCATALOG command also is run during the execution of the DBCC CHECKDB command.
DBCC CHECKCONSTRAINTS • The DBCC CHECKCONSTRAINTS command checks the table-level constraints in a database. • The DBCC CHECKCONSTRAINTS command constructs and executes a query for all FOREIGN KEY constraints and CHECK constraints on a table.
DBCC CHECKDB • The DBCC CHECKDB command checks the logical and physical integrity of the database.
DBCC CHECKFILEGROUP • The DBCC CHECKFILEGROUP command checks the allocation and structural integrity of all tables (including nonclustered indexes by default) and indexed views for a given file group in the current database. • The DBCC CHECKFILEGROUP command effectively performs DBCC CHECKALLOC on the specified file group and DBCC CHECKTABLE on every table and indexed view in the file group.
DBCC CHECKIDENT • The DBCC CHECKIDENT command checks the current identity value for a given table. The command will reset the maximum value of the identity column if the current identity value is less than the table's current identity maximum. • You can also use the DBCC CHECKIDENT command to set a new seed value for the identity column.
DBCC CHECKTABLE • The DBCC CHECKTABLE command checks the integrity of all the pages and structures of a table or indexed view.
DBCC CLEANTABLE • The DBCC CLEANTABLE command is used to reclaim space after a variable-length column is dropped from a table.
DBCC DBREINDEX • The DBCC DBREINDEX command is used to rebuild the indexes of a table in a database. • The DBCC DBREINDEX command will not run against system tables.
DBCC DROPCLEANBUFFERS • The DBCC DROPCLEANBUFFERS command removes all buffers from the buffer pool (SQL Server's data cache). • It is predominantly used by database developers to flush SQL Server's data cache when testing TransacTransact-SQL query performance.
DBCC FREEPROCCACHE • The DBCC FREEPROCCACHE command frees SQL Server's procedure cache (memory used to store programming constructs such as stored procedures, query plans, and so on). • Although developers sometimes use the DBCC FREEPROCCACHE command for testing purposes, it is also a useful command for DBAs because it causes all ad hoc Transact-SQL statements (and everything else of course) to be recompiled.
DBCC INDEXDEFRAG • The DBCC INDEXDEFRAG command defragments the leaf level of an index on a table or a view in a database so that the physical order of the pages matches the left-to-right logical order of the leaf pages. • The DBCC INDEXDEFRAG command additionally compacts the data pages and removes any freed-up pages. • This operation should improve the performance of table scans and range queries (which typically perform partial scans). • When DBCC INDEXDEFRAG is run, index defragmentation occurs serially.
DBCC SHOWCONTIG • The DBCC SHOWCONTIG command shows the degree of both internal and external fragmentation for a table, index, or view. • In a nutshell, internal fragmentation refers to how much of each data page is being used in the table, whereas external fragmentation refers to whether the pages that make up the table are sequentially located. • External fragmentation is always bad. Internal fragmentation is not necessarily bad.
DBCC SHRINKDATABASE • The DBCC SHRINKDATABASE command shrinks the size of the data and log files of a database to a target percentage of free space.
DBCC SHRINKFILE • The DBCC SHRINKFILE command shrinks the size of specific data or log files of a database to a target size. • Importantly, you can use the DBCC SHRINKFILE command to shrink a file to a size that is less than its initial size when it was created. • This resets the minimum file size to the new value.
DBCC UPDATEUSAGE • The DBCC UPDATEUSAGE command corrects the database catalog (system tables of a database). • The DBCC UPDATEUSAGE command specifically updates inaccuracies in the data pages, leaf pages, rows, reserved pages, and used pages of the relevant catalog views (including sys.allocation_units, sys.dm_db_partition_stats, sys.indexes, and sys.partitions). • These inaccuracies are typically seen in the output of the sp_spaceused system stored procedure.
Summary • This lesson alerts you to four new features of SQL Server 2008. • You were introduced to Data-tier Applications, Policy Management, Data Collections. • The Resource Governor limits CPU and other system assets according to your plan. • Should a process slow the production server unacceptably, you might find a solution to keeping user response acceptable by slowing the responsible process. • DBCC commands form the foundation of maintenance activities. Plan to perform them on regularly occurring schedules.
Summary for Certification Examination • Some of these topics are so new they don’t appear in the 70-432 certification check list. Watch for changes. • They will surely show up in the next iteration of the Technical Specialist requirements. • Focus on the most common “check” DBCCs. Have an understanding of when to use each.