Is there an easy way to get all the server meta data (memory, security, sp_configure, etC) from an instance that you can use to compare with a second instance, or use to set another instance to have the same configuration?
asked Dec 28, 2009 at 07:18 PM in Default
Steve Jones - Editor ♦♦
I'd work on a set of PowerShell scripts that collect the info you want. For example:
answered Dec 28, 2009 at 08:42 PM
I'd prefer Rob's approach and wouldn't mind seeing a good PowerShell script that does exactly what he described, there is an approach you could take in TSQL.
sp_configure is a built in system function that will allow you to display, or change, system settings. To see the basic listing you can run a query like this:
That will show most of what you're interested in on a day to day basis. However, to get a complete listing, you need to show all the advanced settings. From the books online, run the script this way:
USE master; GO EXEC sp_configure 'show advanced option', '1'; RECONFIGURE; EXEC sp_configure;
That will show you everything. You can then output to a file or load it to a table in order to run comparisons on other data sets from other servers.
answered Dec 29, 2009 at 09:49 AM
Grant Fritchey ♦♦
Another way is to use System Catalog Views. However these views are present in every database, they provide metadata information not just about the database but the server core. These views are organized into several categories (server-wide configuration, security, objects, ..).
More information about these views can be found in Books Online on MSDN
answered Dec 30, 2009 at 09:50 AM
Check out Allen White's article on inventorying SQL Servers with PowerShell. http://www.simple-talk.com/sql/database-administration/let-powershell-do-an-inventory-of-your-servers/
answered Jan 21, 2010 at 06:48 PM