Friday, May 14, 2010

Changing SQL Service account passowrd on a cluster configuration

1. Changed SQL Service account password in AD. Waited for about half an hourso that password change gets replicated to all the domain controllers.

2. Updated the password on the active node of the SQL Cluster using SQLConfiguration manager for all the services.

3. Restarted the services using SCM. Everything looked fine till now.

4. On the passive node, using Services MMC, manually updated password forthe SQL services.

5. Fail over the cluster from node 1 to node 2, everything worked fine withno errors.

Oracle VM Server and Manager

NFS configuration file:
http://www.redhat.com/docs/manuals/linux/RHL-9-Manual/ref-guide/s1-nfs-server-config.html


Service portmap start
Service nfs start

Service nfs stop
Servcie portmap stop

Oracle VM Server – Sharing /OVS via NFS

http://newappsdba.blogspot.com/2009/09/oracle-vm-server-sharing-ovs-via-nfs.html


Oracle VM and multiple local disks
http://geertdepaep.wordpress.com/2008/06/09/oracle-vm-and-multiple-local-disks/

Oracle VM Server and Manager

ex:

https://Server:4443/OVS ---(case sensitve)
user: admin
pin:oracle

Server pools
Utility Server
User:root
pin: oracle

http://ocpdba.net/doc/vm/2.1.5/doc/index.htm

Thursday, May 13, 2010

List user permssions

select sys.schemas.name 'Schema', sys.objects.name Object, sys.database_principals.name username, sys.database_permissions.type permissions_type, sys.database_permissions.permission_name, sys.database_permissions.state permission_state, sys.database_permissions.state_desc, state_desc + ' ' + permission_name + ' on ['+ sys.schemas.name + '].[' + sys.objects.name + '] to [' + sys.database_principals.name + ']' COLLATE LATIN1_General_CI_AS from sys.database_permissions join sys.objects on sys.database_permissions.major_id = sys.objects.object_id join sys.schemas on sys.objects.schema_id = sys.schemas.schema_id join sys.database_principals on sys.database_permissions.grantee_principal_id = sys.database_principals.principal_id

where sys.database_principals.name='ResultsGrader' and sys.database_permissions.permission_name='control'

order by 1, 2, 3, 5

Listing all built in permissions

select *
from sys.server_permissions

select *
from sys.server_role_members

select *
from sys.server_principals

SELECT *
FROM sys.fn_builtin_permissions(DEFAULT)

How do I find a stored procedure containing ?

SELECT Name
FROM sys.procedures
WHERE OBJECT_DEFINITION(object_id) LIKE '%foobar%'

SELECT OBJECT_NAME(object_id)
FROM sys.sql_modules
WHERE Definition LIKE '%foobar%'
AND OBJECTPROPERTY(object_id, 'IsProcedure') = 1

SELECT ROUTINE_NAME
FROM INFORMATION_SCHEMA.ROUTINES
WHERE ROUTINE_DEFINITION LIKE '%foobar%'
AND ROUTINE_TYPE = 'PROCEDURE'

http://databases.aspfaq.com/database/how-do-i-find-a-stored-procedure-containing-text.html

Wednesday, May 12, 2010

Clone database user in SQL Server 2005

SET NOCOUNT ON

DECLARE @OldUser sysname, @NewUser sysname

SET @OldUser = 'pwebstud'
SET @NewUser = 'pwebstaff'

SELECT 'USE' + SPACE(1) + QUOTENAME(DB_NAME()) AS '--Database Context'

SELECT '--Cloning permissions from' + SPACE(1) + QUOTENAME(@OldUser) + SPACE(1) + 'to' + SPACE(1) + QUOTENAME(@NewUser) AS '--Comment'

SELECT 'EXEC sp_addrolemember @rolename ='
+ SPACE(1) + QUOTENAME(USER_NAME(rm.role_principal_id), '''') + ', @membername =' + SPACE(1) + QUOTENAME(@NewUser, '''') AS '--Role Memberships'
FROM sys.database_role_members AS rm
WHERE USER_NAME(rm.member_principal_id) = @OldUser
ORDER BY rm.role_principal_id ASC

SELECT CASE WHEN perm.state <> 'W' THEN perm.state_desc ELSE 'GRANT' END
+ SPACE(1) + perm.permission_name + SPACE(1) + 'ON ' + QUOTENAME(USER_NAME(obj.schema_id)) + '.' + QUOTENAME(obj.name)
+ CASE WHEN cl.column_id IS NULL THEN SPACE(0) ELSE '(' + QUOTENAME(cl.name) + ')' END
+ SPACE(1) + 'TO' + SPACE(1) + QUOTENAME(@NewUser) COLLATE database_default
+ CASE WHEN perm.state <> 'W' THEN SPACE(0) ELSE SPACE(1) + 'WITH GRANT OPTION' END AS '--Object Level Permissions'
FROM sys.database_permissions AS perm
INNER JOIN
sys.objects AS obj
ON perm.major_id = obj.[object_id]
INNER JOIN
sys.database_principals AS usr
ON perm.grantee_principal_id = usr.principal_id
LEFT JOIN
sys.columns AS cl
ON cl.column_id = perm.minor_id AND cl.[object_id] = perm.major_id
WHERE usr.name = @OldUser
ORDER BY perm.permission_name ASC, perm.state_desc ASC

SELECT CASE WHEN perm.state <> 'W' THEN perm.state_desc ELSE 'GRANT' END
+ SPACE(1) + perm.permission_name + SPACE(1)
+ SPACE(1) + 'TO' + SPACE(1) + QUOTENAME(@NewUser) COLLATE database_default
+ CASE WHEN perm.state <> 'W' THEN SPACE(0) ELSE SPACE(1) + 'WITH GRANT OPTION' END AS '--Database Level Permissions'
FROM sys.database_permissions AS perm
INNER JOIN
sys.database_principals AS usr
ON perm.grantee_principal_id = usr.principal_id
WHERE usr.name = @OldUser
AND perm.major_id = 0
ORDER BY perm.permission_name ASC, perm.state_desc ASC