Keeping your Data Repository in Top Health By: Ian Proffer MUSE Session 359

Embed Size (px)

DESCRIPTION

Session Agenda  SQL Server administration and maintenance  System-level and database monitoring  Data validation and auditing  Opening and tracking service issues with MEDITECH  Streamlining operational support  Discussion, questions and answers

Citation preview

Keeping your Data Repository in Top Health By: Ian Proffer MUSE Session 359 About the Presenter & Acmeware This is our 10 th year at MUSE! Acmewares founder led the development of the DR while working at MEDITECH We work exclusively with the MEDITECH DR We have a friendly (and valued) relationship with MEDITECH Ian Proffer 15 years in IT, specializing in relational databases 6+ years in healthcare, including MEDITECH C/S (Jefferson Healthcare) and Harborview Medical Center in Seattle Session Agenda SQL Server administration and maintenance System-level and database monitoring Data validation and auditing Opening and tracking service issues with MEDITECH Streamlining operational support Discussion, questions and answers Some questions about your DR Is your database being maintained? Are the data transfers running? Does the data match whats in MEDITECH? How much time do I have to spend doing this? Note: Meditech screenshots are C/S 5.54 SQL Server database maintenance Database backups a complete database backup of livedb should be done daily; transaction log backups are not necessary Data integrity checks (DBCC CHECK DATABASE) data optimization (DBCC DBREINDEX) should be done at least weekly System monitoring in MEDITECH First, check to see if the transfers are working System monitoring in MEDITECH using the View Status routine System monitoring in MEDITECH and the View Pending Activity routine. Select your applications, (F9 lookup) or use ALL and view the results. System monitoring in MEDITECH Going through a new implementation or ring release? System monitoring in MEDITECH Check the status and see whats up. BAR is still running System monitoring in MEDITECH The View Distinct Errors and View Errors routines Whats the difference? System monitoring in MEDITECH lets narrow the search results. View Errors - specify your applications using F9 lookup, or use ALL System monitoring in MEDITECH View Distinct Errors - specify your applications using F9 lookup, or use ALL Press down arrow to scroll through (up and down) the list System monitoring in MEDITECH OK, now what? Lets do something with this error log. Put a P here to print and right arrow to get more error detail. System monitoring in MEDITECH Download the file and open it when youre done. Checking for recent table updates Use the RowUpdateDateTime flag to determine when a table was last updated SELECT MAX(RowUpdateDateTime) FROM AdmVisits AS LastUpdate You can manually check each table too Data validation and auditing To provide confidence in your DR data and reports You can do it manually Compare your DR reports to standard or custom NPR reports in MEDITECH Use NPR Report Writer to save DPM subscripts to a file, import the file into a SQL table, write a procedure that compares your table against the SQL table from MEDITECH or you can buy software to do it for you. DrAuditor by Blue Elm Software Why do it? DrAuditor Validates primary key rows and column values More efficient and accurate then manual audits Opening service issues with MEDITECH Opening service issues with MEDITECH Submit new issues regularly (at least weekly) Update existing issues as necessary (if the nature of a particular error message changes, for example) Use this subject line format: MriPatientVisits Missing Primary Key Include the error log output and other symptoms, e.g. error frequency, etc. Review open service issues regularly; Meditech will request customer permission before taking any corrective action Some things to remember: Making it a little easier So what do I do with this? Making it a little easier The AcmeErrorManagement database Imports error log.txt files using DTS Parses each error into a table while eliminating extraneous rows (blank lines, page breaks) Checks for existing tasks and DTS patches and updates new errors if theyve already been reported Builds a worklist of new errors that need to be evaluated and submitted to MEDITECH Allows us to see common errors (and DTSes) across all our clients, helping MEDITECH resolve issues faster Allows us to summarize and report DR error activity back to our clients How we manage error logs and submit issues to MEDITECH: Making it a little easier How we leverage RowUpdateDateTime: spGetTableStatistics Making it a little easier AcmeMonitor examines specific tables for RowUpdateDateTime within user-defined timeframe and alerts viawhen tables are out of sync Is a table receiving updates as frequently as we expect? Making it a little easier What about ring release updates? Make a list of all tables used for reporting List all stored procedures, views and function that use these tables Note all Meditech DTSs that affect these tables, looking for column name changes, table name changes, etc. Compare the schema of tables in the livedb against the testdb Third party tools like SQL Compare, SQL Delta, etc. Discussion, questions & answers