To find the Identity Key Cloumns in a particular database
SELECT Object_Name(Object_ID) AS TableName,
Name AS ColumnName,
Seed_Value AS SeedValue,
Increment_Value AS IncrementValue,
ident_current(Object_Name(Object_ID)) AS CurrentValue,
Last_Value AS LastValue
FROM sys.identity_columns
Order by TableName
To find the Identity Key Cloumns in all databases
EXEC sp_msforeachdb 'Use ?
SELECT ''?'' AS DatabaseName, Object_Name(Object_ID) AS TableName,
name AS ColumnName,
Seed_Value AS SeedValue,
Increment_Value AS IncrementValue,
ident_current(Object_Name(Object_ID)) AS CurrentValue,
Last_Value AS LastValue
FROM sys.identity_columns
Order by TableName'
Tuesday, May 26, 2009
Sunday, May 24, 2009
Find out who has changed what
There are many cases where the objects in a database gets changed without any information to the admins. This may be accidenatal or ----- :) .
So if your server instance has the default trance enabled, then you can find out who has changed what in you databases.
1. This Query gives the trace flie path.
SELECT * FROM ::fn_trace_getinfo(0)
2. Execute the Below Query to get the data from trace file. The filters can also be applied to the below query to get the exact data
SELECT * FROM ::fn_trace_gettable (' :\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\LOG\log_59.trc', default)
3. Map the trace table to find what type of event has happened.
SELECT TE.name, T.*
FROM dbo.temp T -- table that contains the trace results
JOIN sys.trace_events TE ON T.EventClass = TE.trace_event_id
4. To get the list of possible events
SELECT * FROM sys.trace_events where name like '%alter%' ORDER BY trace_event_id
So if your server instance has the default trance enabled, then you can find out who has changed what in you databases.
1. This Query gives the trace flie path.
SELECT * FROM ::fn_trace_getinfo(0)
2. Execute the Below Query to get the data from trace file. The filters can also be applied to the below query to get the exact data
SELECT * FROM ::fn_trace_gettable ('
3. Map the trace table to find what type of event has happened.
SELECT TE.name, T.*
FROM dbo.temp T -- table that contains the trace results
JOIN sys.trace_events TE ON T.EventClass = TE.trace_event_id
4. To get the list of possible events
SELECT * FROM sys.trace_events where name like '%alter%' ORDER BY trace_event_id
Find the size of all databases at once
You may run into cases where you have to find the size of all the databases in a server in less time...
This will be easy and quick when you have less databases on the box.
What happens if the box has more number of databases??? Here is a quick solution for it...
Run the below Query and get your results in less time and in one shot.
EXEC sp_msforeachdb 'Use [?]
Declare @dbsize float
Declare @logsize float
select @dbsize = sum(convert(bigint,case when status & 64 = 0 then size else 0 end))
, @logsize = sum(convert(bigint,case when status & 64 <> 0 then size else 0 end))
from dbo.sysfiles
select ltrim(str((convert (dec (15,2),@dbsize) + convert (dec (15,2),@logsize))
* 8192 / 1048576,15,2) + '' MB'') AS [Size of ?]'
This will be easy and quick when you have less databases on the box.
What happens if the box has more number of databases??? Here is a quick solution for it...
Run the below Query and get your results in less time and in one shot.
EXEC sp_msforeachdb 'Use [?]
Declare @dbsize float
Declare @logsize float
select @dbsize = sum(convert(bigint,case when status & 64 = 0 then size else 0 end))
, @logsize = sum(convert(bigint,case when status & 64 <> 0 then size else 0 end))
from dbo.sysfiles
select ltrim(str((convert (dec (15,2),@dbsize) + convert (dec (15,2),@logsize))
* 8192 / 1048576,15,2) + '' MB'') AS [Size of ?]'
Finding Cluster Nodes or Cluster Name
Here is a Query to find the Cluster Nodes or Cluster Name using SQL server 2005.
SELECT SERVERPROPERTY('ComputerNamePhysicalNetBIOS')
This helps in finding which node the instance is currently running.
SELECT SERVERPROPERTY('ComputerNamePhysicalNetBIOS')
This helps in finding which node the instance is currently running.
Subscribe to:
Posts (Atom)