SyntaxHighlighter

Thursday, 26 August 2010

GRANT ALL Permissions on SQL Objects

Here's a quick little widget I created to GRANT ALL permissions on all SQL Server objects. It's crude and nasty, but does the trick. Quite easy to modify if need be...

DECLARE cObjects CURSOR READ_ONLY
FOR
SELECT name, xtype
FROM sysobjects
LEFT OUTER JOIN syspermissions ON sysobjects.id = syspermissions.id
WHERE xtype IN ('V', 'P', 'U', 'FN')
AND syspermissions.id IS NULL

DECLARE @ObjName varchar(255), @ObjType varchar(2)
DECLARE @SQL varchar(MAX)
DECLARE @User varchar(100)
SELECT @User = '[DOMAIN]\[USER]'

OPEN cObjects

FETCH NEXT FROM cObjects INTO @ObjName, @ObjType
WHILE (@@FETCH_STATUS <> -1)
BEGIN
 IF (@@FETCH_STATUS <> -2)
 BEGIN
  --Set the access permissions
  IF @ObjType = 'V' -- View
   SELECT @SQL = 'SELECT, INSERT, DELETE, UPDATE'
  ELSE IF @ObjType = 'P' -- Stored Procedure
   SELECT @SQL = 'EXEC'
  ELSE IF @ObjType = 'U' -- Table
   SELECT @SQL = 'SELECT, INSERT, DELETE, UPDATE'
  ELSE IF @ObjType = 'FN' -- User Defined Function
   SELECT @SQL = 'EXEC'

  --Build the rest of the statement and execute
  SELECT @SQL = 'GRANT ' + @SQL + ' ON dbo.[' + @ObjName + '] TO [' + @User + ']'
  EXEC(@SQL)
  PRINT @SQL
 END
 FETCH NEXT FROM cObjects INTO @ObjName, @ObjType
END

CLOSE cObjects
DEALLOCATE cObjects
GO

Syntax Highlighting / Format Code in Blogger

Check out SyntaxHighlighter for some top syntax highlighting in Blogger. It can be used in various blogs. Here is a walk-through on integrating SyntaxHighligher into Blogger.

Monday, 23 August 2010

Multi-Script, Multi-DB Deployments

A useful, but quite obvious way of executing multiple scripts: http://www.sqlservercentral.com/articles/scripting/70783/.

I need to do this quite regularly - so will probably write a little widget to compile the scripts into a file. Hopefully save a little bit of time there as well :)

Wednesday, 11 August 2010

Change Proxy Server in IE

Here's a nifty way to easily change the proxy server in IE: www.proxychanger.com.

I had a situation recently where I needed to be able to easily turn using a proxy on and off. This saves having to type it in everytime after you have removed it.

AJAX Loading Animation

Came across this useful free widget to create a nice AJAX loading icon: www.ajaxload.info. You can choose a type along with background and foreground colours.

Custom Domains on Blogger/BlogSpot.com

Had a real nightmare over the last couple of days getting the custom domain thing working for a blogspot.com site that uses a sub-domain.

Following instructions on How do I use a custom domain name on my blog?, I contacted my host (who will remain nameless - by the by, there should be a follow-up rant post about them, but I won't...) and asked them to set the CNAME record for blog.thewebsiteinquestion.com to ghs.google.com. They did and it worked - for a few hours.

Obviously, the gremlins somehow got in and screwed it up. The hosts were convinced that the CNAME was correct - I was not. Cunningly, when going to blog.thewebsiteinquestion.com I was being directed to the Google search page.

So after a bit of hunting, I found this site http://www.kloth.net/services/dig.php that offers a lookup on the DNS info. Sure enough it politely informed me that the CNAME record was set to blogger.com and not ghs.google.com.

Sure enough, once they changed it - it all worked again and everybody was happy - especially me :)

Call to undefined function mcrypt_module_open()

I was getting a Call to undefined function mcrypt_module_open() in PHP 5. All my Google searches were giving me the usual "make sure php_mcrypt.dll is uncommented in your php.ini". Mine was and still no luck :(

Solution for me was to add libmcrypt.dll into the system32 folder - sweeet! My libmcrypt.dll was located in the root of my PHP install folder.

Happy encrypting :)