SQL 7.0 Scripts

Home Up HTML Project Utility SPsSearch this site!

These scripts demonstrate some of the new features in SQL70, tricks to solve some common problems etc. These scripts were accumulated from my various postings on the MS SQL newsgroups & the Windows NT Magazine newsgroups. For more details, you can search these resources. If you have any questions or comments, send Mail Me!me an email.
Thanks for checking these out!

 

Click Download Code!here to download the SQL scripts.

1) How to use fully scrollable cursors?
bulletDemonstrates fully-scrollable cursor.sql

2) How to determine the number of triggers & their firing order?
bulletTriggers count & order.sql

3) How to solve some ranking problem? This question was posed in the Winntmag forum. See the thread for more details.
bulletSkating Event - Ranking Problem.sql

4) How to get output value from a dynamic SQL statement?
bulletGetting output value from dynamic SQL statement.sql

5) How to generate a header record for the data in a table that can be BCPed out?
bulletView for BCP out with a header row of the column names.sql

6) How to order values in a sequence using an indexed update?
bulletOrdering by sequence.sql

7) How to get tokens from a delimited string? This also shows how to generate some simple statements using T-SQL rather than coding them manually.
bulletTo get tokens from a delimited string.sql

8) How to convert varbinary values into their hexadecimal string representation?
bulletUsing xp_varbintohexstr undocumented extended SP.sql

9) How to generate SELECT statements for tables?
bulletGenerate select stmt with cols for table.sql

10) How to pipe the RESTORE statement output to a temporary table?
bulletPipe RESTORE output to temporary table.sql

11) How to determine all the defined identity columns in a database?
bulletQuery to determine identity column for a table(s).SQL

12) Information on undocumented DBCC commands. Some of these commands will work in SQL60/65 also. These commands are intended for understanding the internal working of the database system while some are purely academic in nature.
bulletInfo on undocumented DBCC commands.txt

13) How to use ODBC style canonical functions in T-SQL? The OLE-DB provider for SQL Server fully supports the ODBC canonical functions. This allows you to for instance encrypt data using the ODBC ENCRYPT function or do other operations. This can be used in distributed queries also.
bulletUndocumented usage of fn escape syntax.sql

14) How to join results of a SP with another table?
bulletDemonstrates how to join results from a SP with a normal table.sql

15) How to get the data for all the saved diagrams in a database? I have a sample script that uses linked server to import diagrams from a different server. This can be moved to a different server using DTS or BCP also.
bulletSELECT statement to get all the data for saved diagrams in a database.sql

16) How to get records with the TOP 2 dates in a set of values?
bulletGet records with top 2 dates in a set of values.sql

17) How to generate random values using RAND & NEWID function?
bulletGenerating random values using RAND function.sql

18) How to determine the size taken by the auto-statistics in a database?
bulletAuto-statistics size from sysindexes.sql

19) How to set user-defined counters?
bulletExample of using user-defined counters.sql

20) How to pad decimal values with zeroes & to a fixed length for say exporting the data?
bulletLeft & Right pad decimal values with zeroes in character format.sql

21) This script demonstrates how to use the getchecksum function. This is undocumented & i do not recommed using it. This is provided for the curious folks who wants to know how this function works. This function is also used in the replication procedures.
bulletUndocumented getchecksum function example.sql

22) How to evalulate an expression in a string & get the value?
bulletEvaluate the value of an expression in a string.sql

23) How to perform SELECT..INTO type of queries for results from a SP? This is useful in cases where you do not know the metadata of the result set & do not want to write the CREATE TABLE statement before doing the INSERT..EXEC. This can be used in a easy way to say save the data from a SP in a table.
bulletPerform SELECT INTO for the result set of a SP.sql

24) This script shows that a primary data file is required for a active log backup. Keep this in mind when recovering suspect databases, hardware failures etc. For more details, see a discussion on the same in the Windows 2000 Magazine SQL Server forum.
bulletDemonstrate primary data files requirement for log backups in case of disaster.sql

25) This sample script shows how to validate the a GUID value in a string. This can be used to ensure that the value is in the correct format & with only hex digits.
bulletRoutine to validate GUID values in string.sql

26) Code to convert a hexadecimal value stored in a string to integer.
bulletHEX string value to int conversion.sql

27) Script to simplify creation of backup files with timestamp just like the SQLMAINT utility. This script also does differential backups during the week & full backup on sundays. You can use this in a job to automate the backup process quite easily & add your own administrative routines.
bulletScript to do Differential backups on weekdays, Full on sundays & filenames with timestamp info.sql

28) This example shows how to read, write to the NT registry from T-SQL. Please note that these SPs are undocumented & hence should not be used in any production code.
bulletUndocumented SPs to read & write Registry values.sql

29) Statements to list the filegroup on which a table resides in a database. This can be used in administrative routines.
bulletList filegroups on which the tables are stored in a database.sql

30) How can you check if a row(s) is locked or not & take action appropriately? The examples in the script use the new optimizer hint READPAST to achieve the result. A method using the lock timeout mechanism is also shown for completeness. These methods will allow the required SPs to check for locked rows & then take action rather than waiting for the lock to get released.
bulletHow to check for a locked row or rows.sql

31) How to determine if a system table is materialized internally by SQL Server or if it is stored in the database?
bulletDetermine if a system table is fake i.e., materialized or not.sql

32) This script shows several solutions to solve a problem relating to counting. Analysis of the solutions is left to the reader but sample output from several runs are shown & the solutions are analyzed in the script.
bulletPerformance Analysis of 3 solutions for a problem.sql

33) This sample script shows how to use the COLUMNS_UPDATED() function to check for update of specific column(s). This generic approach can be used on tables with more than 8 columns. The required formula for calculating the mask & getting the corresponding byte from the function is also explained in the script.
bulletUsage of COLUMNS_UPDATED() for more than 8 columns.sql

34) How to generate a simple ALTER TABLE script to disable all FK constraints in a database?
bulletGenerate ALTER script to disable all FK constraints.sql

35) How to get a random row from duplicates?
bulletGetting only an arbitrary row for each ID.sql

36) This script shows how to use a cursor to store the @@IDENTITY values inside trigger & use them later in the calling SPs.
bulletHow to avoid the @@identity problems.sql

37) How to use the INFORMATION_SCHEMA views & the meta-data functions to determine all the primary keys in a database?
bulletDetermine primary key for all tables in a database.sql

38) This script can be used to delete orphaned users in a restored database on a different Server. This can happen due to missing logins in the new server for instance.
bulletDelete Orphaned Users from a Restored database.sql

39) T-SQL string manipulation functions are limited yet powerful if used properly. This script shows how to count occurrences of a string / character in a string, find the number of values in a delimited string & so on.
bulletCount Occurences in a String & Others.sql

40) A sample script that shows the new INDEXPROPERTY metadata function usage. This script produces several interesting reports!
bulletINDEXPROPERTY metadata function examples.sql

This page was last updated on April 28, 2006 05:15 PM.