Posts Tagged ‘T-SQL’
Creating Insert Statements for SQL Server
Ran across an interesting approach to generating insert statements for SQL Server 2005 (and other variants). If uses a less well known function called master.dbo.fn_varbintohexstr. The approach that was taken was to use the fn_varbintohexstr function to encode the data so you did not need to use cursors or any fancy parsing to handle unicode and quotes in the generated insert statements. I thought it was a bit clever.
Note: you might need to register at SQLServerCentral.com to gain access to the site to read the above linked article.
Calculating Age in T-SQL
Here’s a decent article on calculating the age of a person (or anything else) written by Lynn Pettis. Discusses some pitfalls with leap years.
So what do you do with all those IIS log files?
You are responsible for one or more Windows web servers and you have all these IIS log files that you want to make some sense out of. If you have some basic SQL skills Microsoft is making available a utility called LogParser which does a great job getting in there and allowing you to query the files directly using some basic SQL syntax. The feature I like the best is the ability to convert the data into a SQL table for manipulation via T-SQL.
Here is a sample of what I did (this would all go on a single line)
c:\”program files”\”log parser 2.2″\LogParser -iCheckPoint:myCheckPoint.lpc -o:SQL -server:localhost -database:IISLogs -createtable:ON “SELECT * FROM ex0810*.log TO IISLogs”
This short command line will read in all log files that start with ex0810 and import them into a table called IISLogs. It will also create a checkpoint file so that if you run the command again it will not import records that have already been imported.
How cool is that?
Once all the importing is done you can leverage the SQL tables using whatever methods you need to.
If you need any help with stuff, send us a note at support at quarksoft.com.
Resetting the IDENTITY counter in SQL Server T-SQL
You’ve been there before. You are busily testing your import routines and running up the Identity column in your main import table. Before you know it the value is in the multi-millions and you just want to reset it back to 1.
The way to accomplish this is to use the DBCC CHECKIDENT command.
For example:
DBCC CHECKIDENT (SalesForce, reseed, 0)
This assumes your table is called SalesForce and you want to start the numbering at 1. If you wanted to start the number at 2000 you can substitute 0 with 1999. There has been some discussion that has said if the table never had records added to it the reseed value itself will be used instead of the reseed + 1 value. You should not need to use this statement for a “new” table.
Credit for this post is given to Pinal Dave over at http://sqlauthority.com/. The specific post this I am referring to is the one at this page.
Helping block spam with T-SQL
Found a great article on blocking spam using T-SQL code. It is especially useful for blog posts and other community related sites that accept user input. Could even be used on form comments to help block all those guys that submit endless forms on your sites.
Quick method to backup SQL Server database to workstation
Pivots with Dynamic Columns in SQL Server 2005
Found a great article at www.simple-talk.com which described how to create pivot queries with dynamic column names. It seems simple at first until you try to adjust your columns manually and then discover that you really need to implement some special code to accomplish the task. The article Pivots with Dynamic Columns in SQL Server 2005 provides just the right information to accomplish the task and saved me a ton of time trying to create the process on my own. Great job Andras.