| 
	
 | 
 Posted by Simon Hayes on 09/13/05 23:29 
laurenq uantrell wrote: 
> I'm using the function below to output all of my stored procedures into 
> a text file. Fice, except that the output file does not reflect the 
> names of the stored procedures correctly if the name has been changed. 
>  
> For example, I create a stored procedure named: "sp123" and then rename 
> it to "sp123DELETE" or "sp123 DELETE" or "sp123OLD" or "sp123 OLD" and 
> what I end up with is four entries in the output file all having the 
> stored procedure name "sp123." 
>  
> I stop the service and restart before outputting the file. 
>  
> Any help is appreciated. 
>  
> lq 
>  
> Function ExportSP(myPath As String) 
>  
>     Dim objSQLServer As New SQLDMO.SQLServer 
>     Dim dbs As New SQLDMO.Database 
>     Dim sp As SQLDMO.StoredProcedure 
>     Dim sptext As String 
>  
>      objSQLServer.Connect <Servername>, <Username>, <Password> 
>      Set dbs = objSQLServer.Databases(<databasename>) 
>  
>     Open myPath For Output As #1 
>  
>     For Each sp In dbs.StoredProcedures 
>         sptext = sp.Text 
>  
>         Print #1, sptext & _ 
>         vbCrLf & vbCrLf & vbCrLf & _ 
>         "*******" & _ 
>         vbCrLf & vbCrLf & vbCrLf 
>     Next 
>      
> End Function 
>  
 
See sp_rename in Books Online - it mentions that renaming a proc does  
not change the text in syscomments, so you may have problems scripting  
the proc; the solution is to drop and create instead of renaming. 
 
As a further comment, I suggest you check out the SQLDMO Script method -  
it will give you a lot more control over the output and scripting  
options when you generate DDL for an object. 
 
Simon
 
  
Navigation:
[Reply to this message] 
 |