PDA

View Full Version : سورس یک sp



mojtaba_e
سه شنبه 28 اردیبهشت 1389, 20:11 عصر
سلام و خدا قوت
من دنبال یک قطعه کدم که اگر یک اسم sp به اون بدید بتونه سورس کد اون sp رو نمایش بده:متفکر::اشتباه:

amir_alaki
سه شنبه 28 اردیبهشت 1389, 21:40 عصر
با سلام
باید از View های سیستمی برای این کار استفاده کنین به صورت زیر:


SELECT SPECIFIC_CATALOG, SPECIFIC_SCHEMA, SPECIFIC_NAME, ROUTINE_CATALOG, ROUTINE_SCHEMA, ROUTINE_NAME, ROUTINE_TYPE, MODULE_CATALOG,
MODULE_SCHEMA, MODULE_NAME, UDT_CATALOG, UDT_SCHEMA, UDT_NAME, DATA_TYPE, CHARACTER_MAXIMUM_LENGTH, CHARACTER_OCTET_LENGTH,
COLLATION_CATALOG, COLLATION_SCHEMA, COLLATION_NAME, CHARACTER_SET_CATALOG, CHARACTER_SET_SCHEMA, CHARACTER_SET_NAME,
NUMERIC_PRECISION, NUMERIC_PRECISION_RADIX, NUMERIC_SCALE, DATETIME_PRECISION, INTERVAL_TYPE, INTERVAL_PRECISION, TYPE_UDT_CATALOG,
TYPE_UDT_SCHEMA, TYPE_UDT_NAME, SCOPE_CATALOG, SCOPE_SCHEMA, SCOPE_NAME, MAXIMUM_CARDINALITY, DTD_IDENTIFIER, ROUTINE_BODY,
ROUTINE_DEFINITION, EXTERNAL_NAME, EXTERNAL_LANGUAGE, PARAMETER_STYLE, IS_DETERMINISTIC, SQL_DATA_ACCESS, IS_NULL_CALL, SQL_PATH,
SCHEMA_LEVEL_ROUTINE, MAX_DYNAMIC_RESULT_SETS, IS_USER_DEFINED_CAST, IS_IMPLICITLY_INVOCABLE, CREATED, LAST_ALTERED
FROM INFORMATION_SCHEMA.ROUTINES


که مقدار


ROUTINE_DEFINITION

در Select بالا برابر مقدار Sp مورد نظر شماست.
البته اگر Sp شما Encrypt نشه باشه فکر کنم با این روش قابل بازیابی .

موفق باشید

AminSobati
سه شنبه 28 اردیبهشت 1389, 21:48 عصر
سلام دوست عزیزم،
میتونین از sp_helptext استفاده کنین

mojtaba_e
سه شنبه 28 اردیبهشت 1389, 22:16 عصر
سلام مرسی آقا امیر عالی بود
من با کد هایی شما ور رفتم و این کدو نوشتم و جواب داد

select ROUTINE_DEFINITION from
<DataBaseName>.INFORMATION_SCHEMA.ROUTINES where
ROUTINE_DEFINITION like '%SP_Name%'