Tuesday, April 26, 2011

Want to get the current Platform in which SQL is running? Easy to do

Easy to do:

create table #SVer(ID int,  Name  sysname, Internal_Value int, Value nvarchar(512))
                        insert #SVer exec master.dbo.xp_msver


SELECT (select Value from #SVer where Name = N'Platform') AS [Platform]

                        drop table #SVer

Results:
Platform
NT INTEL X86

Server features and some server properties?

Easy to do:

SELECT
CAST(FULLTEXTSERVICEPROPERTY('IsFullTextInstalled') AS bit) AS [IsFullTextInstalled],
CAST(case when 'a' <> 'A' then 1 else 0 end AS bit) AS [IsCaseSensitive],
@@MAX_PRECISION AS [MaxPrecision],
SERVERPROPERTY(N'ProductVersion') AS [VersionString],
CAST(SERVERPROPERTY(N'Edition') AS sysname) AS [Edition],
CAST(SERVERPROPERTY(N'ProductLevel') AS sysname) AS [ProductLevel],
CAST(SERVERPROPERTY('IsSingleUser') AS bit) AS [IsSingleUser],
CAST(SERVERPROPERTY('EngineEdition') AS int) AS [EngineEdition],
convert(sysname, serverproperty(N'collation')) AS [Collation],
CAST(SERVERPROPERTY('IsClustered') AS bit) AS [IsClustered],
CAST(SERVERPROPERTY(N'MachineName') AS sysname) AS [NetName],
SERVERPROPERTY(N'BuildClrVersion') AS [BuildClrVersionString],
SERVERPROPERTY(N'ComputerNamePhysicalNetBIOS') AS [ComputerNamePhysicalNetBIOS],
SERVERPROPERTY(N'ResourceVersion') AS [ResourceVersionString],
SERVERPROPERTY(N'ResourceLastUpdateDateTime') AS [ResourceLastUpdateDateTime],
SERVERPROPERTY(N'CollationID') AS [CollationID],
SERVERPROPERTY(N'ComparisonStyle') AS [ComparisonStyle],
SERVERPROPERTY(N'SqlCharSet') AS [SqlCharSet],
SERVERPROPERTY(N'SqlCharSetName') AS [SqlCharSetName],
SERVERPROPERTY(N'SqlSortOrder') AS [SqlSortOrder],
SERVERPROPERTY(N'SqlSortOrderName') AS [SqlSortOrderName]

Results:



IsFullTextInstalled1
IsCaseSensitive0
MaxPrecision38
VersionString10.0.4000.0
EditionStandard Edition
ProductLevelSP2
IsSingleUser0
EngineEdition2
CollationSQL_Latin1_General_CP1_CI_AS
IsClustered0
NetNameMYSERVER
BuildClrVersionStringv2.0.50727
ComputerNamePhysicalNetBIOSMYSERVER
ResourceVersionString10.00.4000
ResourceLastUpdateDateTime11:59.2
CollationID872468488
ComparisonStyle196609
SqlCharSet1
SqlCharSetNameiso_1
SqlSortOrder52
SqlSortOrderNamenocase_iso

Which is the SQL Server Install Path?

Easy to do. This tutorial shows how to read registry keys also:

declare @SmoRoot nvarchar(512)
exec master.dbo.xp_instance_regread N'HKEY_LOCAL_MACHINE', N'SOFTWARE\Microsoft\MSSQLServer\Setup', N'SQLPath', @SmoRoot OUTPUT
select @SmoRoot

Results:
c:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL

Monday, April 18, 2011

Rename a database with a query? Easy

Easy:
ALTER DATABASE [perro] MODIFY NAME = [gato]
Results:
Change the database name from perro to gato.

Get extended properties of a table and columns? Easy.

Want to get the DESCRIPTION and other extended features of the table GATO1? easy:
select xp.name, cast(xp.[value] as nvarchar(4000)), cast(SQL_VARIANT_PROPERTY(xp.[value], 'BaseType') as nvarchar(256)), cast(SQL_VARIANT_PROPERTY(xp.[value], 'MaxLength') as int), cast(SQL_VARIANT_PROPERTY(xp.[value], 'Precision') as int), cast(SQL_VARIANT_PROPERTY(xp.[value], 'Scale') as int), xp.minor_id, COL_NAME(xp.major_id, xp.minor_id)  from sys.extended_properties xp  where xp.class = 1 and  xp.minor_id > 0 and xp.major_id = object_id(N'dbo.GATO1')  and xp.name in (N'MS_Description')  order by xp.minor_id
Results:

Adding extended properties to the table on SQL Server? (e.g. Description)

Easy to do:
use gato
DECLARE @v sql_variant
SET @v = N'DES'
EXECUTE sp_addextendedproperty N'MS_Description', @v, N'SCHEMA', N'dbo', N'TABLE', N'GATO1', N'COLUMN', N'ID'

Results:
Add description to the TABLE GATO1 on ID column. The description is DES

Change the password of the account? easy.

Easy to do (Changing the password of my account to Bolivia):
ALTER LOGIN [demo] WITH PASSWORD=N'bolivia'