Puede hacer esto en el estudio de gestión: haga clic con el botón derecho en la base de datos que desee y seleccione tareas -> Generar scripts -> vaya a través del asistente. A continuación, puede especificar con exactitud los procedimientos almacenados etc.
También puede utilizar un script como el siguiente:
SET NOCOUNT ON
DECLARE @Test TABLE (Id INT IDENTITY(1,1), Code VARCHAR(MAX))
INSERT INTO @Test (Code)
SELECT 'IF object_ID(N''[' + schema_name(schema_id) + '].[' + Name + ']'') IS NOT NULL
DROP PROCEDURE ['+ schema_name(schema_id) +' ].[' + Name + ']' + CHAR(13) + CHAR(10) + 'GO' + CHAR(13) +CHAR(10) +
OBJECT_DEFINITION(OBJECT_ID) + CHAR(13) +CHAR(10) + 'GO' + CHAR(13) + CHAR(10)
FROM sys.procedures
WHERE is_ms_shipped = 0
DECLARE @lnCurrent INT, @lnMax INT
DECLARE @LongName VARCHAR(MAX)
SELECT @lnMax = MAX(Id) FROM @Test
SET @lnCurrent = 1
WHILE @lnCurrent <= @lnMax
BEGIN
SELECT @LongName = Code FROM @Test WHERE Id = @lnCurrent
WHILE @LongName <> ''
BEGIN
PRINT LEFT(@LongName,8000)
SET @LongName = SUBSTRING(@LongName, 8001, LEN(@LongName))
END
SET @lnCurrent = @lnCurrent + 1
END
También puede Shift + clic para seleccionar todos los procedimientos almacenados y se puede entonces hacer clic derecho y escritura ellos a un archivo.
Oye, quiero 130 archivos separados para cada SP :(me está dando solo un archivo – Neo
@ashuthinks: donde quiera que estén! Paso a través del asistente - le preguntará si desea un archivo para todos los procesos almacenados , o un archivo por proceso almacenado, y le preguntará dónde almacenar esos ... –
@ashuthinks: vea mi tercera captura de pantalla: ¿eso es lo que está buscando? ** ** Un archivo por objeto ** ?? –