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'
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 ('
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
Posted by Sandesh S in Interview Questions, SQL Information, SQL Queries, Undocumented
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 ?]'
Finding Cluster Nodes or Cluster Name
Posted by Sandesh S in Interview Questions, SQL Information, SQL Queries
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.
Juat for Laughs :) :) :) Marriage invitation in SQL Server Stored Procedure Style
Posted by Sandesh S
CREATE PROCEDURE MyMarriage
@BrideGroom Char(NotBad),
@Bride Char(Good)
AS
SELECT Bride FROM
BridesList
WHERE
FatherInLaw = 'Millionaire'
AND CarCount > 2
AND HouseStatus ='TwoStoreyed'
AND BrideEduStatus='PG_or_Above'
AND HavingBrothers='NO'
AND HavingSisters ='No'
AND AllowRelocate ='YES'
SELECT Gold ,Cash,Car,BankBalance FROM FatherInLaw
UPDATE MyBankAccout SET MyBal = MyBal + FatherinLawBal
UPDATE MyLocker SET MyLockerContents = MyLockerContents + FatherinLawGold
INSERT INTO MyCarShed VALUES ('Ford')