Winrar is a great tool used for compressing files. It also has a command line tool called “rar.exe” to compress files, in case you want to batch it up. Here’s an example of the most common switches I use.
"C:\Program Files\WinRAR\rar.exe" a -m5 -r -ep1 "C:\temp\Work\Upgrades\2010-02-06\111.rar" "C:\temp\Work\Upgrades\2010-02-06\Post-Upgrade\"
First path is the location of the rar file to create. The second path is either the location of the file(s) or directory to compress.
-ep1 Exclude base directory from names
a Add files to archive
-r Recurse subdirectories (will compress entire directories)
-m5 Set compression level to maximum
You can even assign a password to it using the -p switch
One handy trick that I used to do was use the function OBJECT_DEFINITION() to view the code of a sproc. It’s a handy little function that doesn’t get much love as OBJECT_ID or OBJECT_NAME(). Let’s say we want to get the code of the sproc dbo.uspGetBillOfMaterials from DB AdventureWorks. We do like so:
SELECT OBJECT_DEFINITION( OBJECT_ID('dbo.uspGetBillOfMaterials') )
You get a result that may not be too pretty. In this case, use PRINT rather than SELECT, since SSMS strips out line breaks to squeeze it in the cell.
Now let’s search all available user sprocs in the database to search for the string “%GetBillOf% :
SELECT OBJECT_DEFINITION( p.[object_id] ) AS code
FROM sys.procedures p
WHERE OBJECT_DEFINITION( p.[object_id] ) LIKE '%GetBillOf%'
Now, I do longer search this way since every day I have a job that writes out all DB objects (tables, sprocs, etc.) to a individual files and they get indexed via Copernic Desktop Search. I script them out using SQL Compare.
Unfortunately, I don’t know why, OBJECT_DEFINITION() doesn’t work on tables. It’s been a wanted feature by the community. If you want to learn more about this function, check out:
Here’s the requirements document template (the “Product Definition”) I created for use when I was a project manager. Feel free to use and change as needed. It serves as a basis for functional and non-functional requirements. To check out what other documents may be needed in a project, check out my Project Documents post.
Download the Word document.
Why do this?
In case you don’t have shell access to your server from your hosting provider. Also if the provider doesn’t let you writing files locally from a script.
If you want to backup from a remote machine to your local machine:
(Don’t use the < or > symbols when you type it, except the last > that redirects to a file.)
mysqldump --opt -Q -h <www.narutorp.net> -u <username> --password=<chocolatepizza> <database_name> > <C:\temp\mysql\backupdb1.sql>
If you want to backup from a remote machine to that same remote machine.
mysqldump --opt -Q -h <127.0.0.1> -u <username> -p <password> > <filename.sql>
You can also pipe that to gzip to compress, and schedule it as needed.