Pages

Monday, April 9, 2012

How to enable and disable the Foreign Key constraints in MS-SQL

CREATE PROCEDURE metadata.sp_enabledisableforeignkeys
@ownerName NVARCHAR(128),
@tableName NVARCHAR(128),
@enabled   NVARCHAR(1)
AS
  BEGIN
      DECLARE @CurrentSchema NVARCHAR(300),
              @CurrentTable  NVARCHAR(300),
              @CurrentFKName NVARCHAR(300)
      DECLARE @executeSql NVARCHAR(2000),
              @enableSql  NVARCHAR(20)

      IF @enabled = 'Y'
        SET @enableSql = ' CHECK'
      ELSE
        SET @enableSql = ' NOCHECK'

      DECLARE fklist CURSOR FOR
       SELECT sysschemas.name AS schemaname,
         systables.name  AS tablename,
         sysfks.name     AS fkname
        FROM   sys.foreign_keys sysfks
         INNER JOIN sys.tables systables
          ON systables.object_id = sysfks.parent_object_id
         INNER JOIN sys.schemas sysschemas
          ON sysschemas.schema_id = systables.schema_id
         INNER JOIN sys.tables sysreftables
          ON sysreftables.object_id = sysfks.referenced_object_id
         INNER JOIN sys.schemas sysrefschemas
          ON sysrefschemas.schema_id = sysreftables.schema_id
        WHERE  sysreftables.name = @tableName
          AND sysrefschemas.name = @ownerName

      OPEN fklist
      FETCH NEXT FROM fklist INTO @CurrentSchema, @CurrentTable, @CurrentFKName
      WHILE @@FETCH_STATUS = 0
        BEGIN
         SET @executeSql = 'Alter Table ' + @CurrentSchema + '.' +
          @CurrentTable + @enableSql + ' CONSTRAINT ' + @CurrentFKName

         EXEC Sp_executesql @executeSql
          FETCH NEXT FROM fklist INTO @CurrentSchema, @CurrentTable,
            @CurrentFKName
        END

      CLOSE fklist
      DEALLOCATE fklist
  END 

Monday, March 19, 2012

How to find Foreign Keys in MS SQL

Select SCHEMA_NAME(a.schema_id) 'SCHEMA_NAME'
,OBJECT_NAME(a.parent_object_id) as 'TABLE_NAME'
,OBJECT_NAME(a.referenced_object_id) as 'REFERENCE_TABLE_NAME'
,a.name as 'FOREIGN_KEY_NAME'
From sys.foreign_keys a

Saturday, February 11, 2012

How to disable a user in Active Directory


Const ADS_UF_ACCOUNTDISABLE = 2

Set objUser = GetObject _
("
LDAP://cn=username,ou=support,dc=domain,dc=com")
intUAC = objUser.Get("userAccountControl")

objUser.Put "userAccountControl", intUAC OR ADS_UF_ACCOUNTDISABLE
objUser.SetInfo 

How to create a user in Active Directroy

Set objOU = GetObject("LDAP://OU=AUS,dc=domain,dc=com")
Set objUser = objOU.Create("User", "cn=username")
objUser.Put "sAMAccountName", "username"
objUser.SetInfo 

Monday, January 23, 2012

How to use ADO to read CSV files

On Error Resume Next
Const adOpenStatic = 3
Const adLockOptimistic = 3
Const adCmdText = &H0001

Set objConnection = CreateObject("ADODB.Connection")
Set objRecordSet = CreateObject("ADODB.Recordset")

TxtFile = "C:\MyDBFolder\"
objConnection.Open "Provider=Microsoft.Jet.OLEDB.4.0;DataSource=" & TxtFile & ";Extended Properties=""text;HDR=YES;FMT=Delimited"""
objRecordset.Open "SELECT * FROM CSVFile.csv",objConnection, adOpenStatic, adLockOptimistic, adCmdText
Do Until objRecordset.EOF
    Wscript.Echo "FieldName_1: " & objRecordset.Fields.Item
("FieldValue_1")
    Wscript.Echo "FieldName_2: " & objRecordset.Fields.Item
("FieldValue_2")
    Wscript.Echo FieldName_3: " & objRecordset.Fields.Item
("FieldName_3")  
    objRecordset.MoveNext
Loop 

Saturday, January 21, 2012

How to copy folder using WMI

strComputer = "."
Set objWMIService = GetObject("winmgmts:" _
    & "{impersonationLevel=impersonate}!\\" & strComputer & "\root\cimv2")

Set colFolders = objWMIService.ExecQuery( _
    "Select * from Win32_Directory where Name = 'c:\\OldFolder'")
For Each objFolder in colFolders
    errResults  = objFolder.Copy("D:\OldFolder")
Next 


How to copy folder using FileSystemObject

Const OverWriteFolder = TRUE

Set objFSO = CreateObject("Scripting.FileSystemObject")
objFSO.CopyFolder "C:\OlderFolder","C:\NewFolder",OverWriteFolder

Friday, January 13, 2012

How to shutdown a computer

strComputer = "."
Set objWMIService = GetObject_
    ("winmgmts:{impersonationLevel=impersonate,(Shutdown)}\\" & _
        strComputer & "\root\cimv2")

Set colOperating Systems = objWMIService.ExecQuery _
    ("Select * from Win32_OperatingSystem")

For Each objOperatingSystem in colOperatingSystems
    objOperatingSystem.Win32Shutdown(1)
Next 

How to create New Website in IIS 6.0

strComputer = "."
Set objWMIService = GetObject("winmgmts:{authenticationLevel=pktPrivacy}\\" & strComputer & "\root\microsoftiisv2")
Set objWebService = objWMIService.ExecQuery("Select * From IISWebService")
arrBindings = Array(0)
Set arrBindings(0) = objWMIService.Get("ServerBinding").SpawnInstance_()
arrBindings(0).IP = "IP ADDRESS"
arrBindings(0).Port = "PORT NUMBER"
arrBindings(0).Hostname = "HOSTNAME"
For Each objItem in objWebService
    objItem.CreateNewSite "Test Site", arrBindings, "c:\inetpub\wwwroot"
Next

Tuesday, January 10, 2012