One way to Script the Stored Procedures of your SQL Server 2008 database is to use the SQL Server Management Studio (SSMS). Open SSMS > Your Database > Programmability > Stored Procedures > Right Click Stored Procedure Name > 'Script Stored Procedure As' > 'Create To'
The other way to script objects of your database in SQL Server 2005/2008 is to use the
Microsoft SQL Server Database Publishing Wizard 1.1.
However if you need to do the same task programmatically using T-SQL, then here's the T-SQL that will help you do so:
USE NORTHWIND
SELECT obj.Name as SPName,
modu.definition as SPDefinition,
obj.create_date as SPCreationDate
FROM sys.sql_modules modu
INNER JOIN sys.objects obj
ON modu.object_id = obj.object_id
WHERE obj.type = 'P'
This query will list down all the stored procedures and their definitions of your database. In order to save the results of this SELECT statement to a text file, check this post of mine
Save SELECT query output to a text file
About The Author
Suprotim Agarwal, MCSD, MCAD, MCDBA, MCSE, is the founder of
DotNetCurry,
DNC Magazine for Developers,
SQLServerCurry and
DevCurry. He has also authored a couple of books
51 Recipes using jQuery with ASP.NET Controls and a new one recently at
The Absolutely Awesome jQuery CookBook.
Suprotim has received the prestigous Microsoft MVP award for nine times in a row now. In a professional capacity, he is the CEO of A2Z Knowledge Visuals Pvt Ltd, a digital group that represents premium web sites and digital publications comprising of Professional web, windows, mobile and cloud developers, technical managers, and architects.
Get in touch with him on Twitter @suprotimagarwal, LinkedIn or befriend him on Facebook
5 comments:
If You want to script an entire database for the purpose of source code control (e.g. Subversion), try out ScriptDB : http://www.codeplex.com/scriptdb .
It generate scripts in a folder structure similar to the tree structure in Management Studio, and it can also be used from the command line.
Thanks Andreas for letting us know about ScriptDB!
Another way to script procedures,triggers,etc to each file is
http://beyondrelational.com/blogs/madhivanan/archive/2009/10/26/script-out-procedures-to-seperate-files.aspx
Madhivanan
SELECT SPECIFIC_SCHEMA + '.' + [Routine_Name] AS ProcedureName, ROUTINE_DEFINITION
FROM [INFORMATION_SCHEMA].[ROUTINES]
WHERE [ROUTINE_TYPE] = 'PROCEDURE'
Amazingly useful piece of code. I would suggest
modu.definition + 'GO' as SPDefinition
however, so that you can then copy+paste the results into SSMS and run them all (or make changes like I did).
Post a Comment