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
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...
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 :)
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.
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 :)