2010-02-12 7 views
4

저장 프로 시저의 텍스트를 검색하지 않고 어떻게 살 수 있었는지는 알 수 없습니다. Can you search SQL Server 2005 Stored Procedure content?.저장 프로 시저의 내용 검색 및 바꾸기

나를 위해 다음 큰 일은 몇 가지 저장 프로 시저에서 일부 텍스트를 바꿀 수있는 능력입니다. 이것을 할 수있는 방법이 있습니까?

편집

지금 검색을위한 레드 게이트 SQL 검색을 사용합니다. 그 좋은하지만 그들은 나에게 업데이 트 기능을 제공해야합니다! 부디!

답변

4

이 작업을 수행하는 좋은 방법 중 하나는 데이터베이스 스키마 관리를 위해 Visual Studio Database Edition을 사용하는 것입니다. 이 도구는 데이터베이스 코드 리팩토링 및 스키마 전반의 검색/바꾸기 작업을 포함하여 많은 훌륭한 작업을 수행합니다.

이 도구는 Visual Studio Team Suite 및 Visual Studio Developer Edition 사용자에게 무료입니다.

1

절차를 스크립팅하고 스크립트를 소스 제어로 유지 한 다음 텍스트 편집기에서 검색을 사용하여 스크립트를 바꾸는 것이 잘못된 이유는 무엇입니까?

+0

약간의 존. 한 가지에 대한 오버 헤드. – 5arx

+1

좀 더 구체적으로 설명해 주시겠습니까? 어떤 오버 헤드를 언급하고 있습니까? –

+0

관리 오버 헤드. 죄송합니다. 거기 +1 할 뜻이 아닙니다. ;-) – 5arx

5

당신은 아래와 같은 절차를 선택할 수 있습니다

select name , definition from sys.procedures inner join sys.all_sql_modules on sys.procedures.object_id = sys.all_sql_modules.object_id 

지금이에 대한 업데이트 쿼리를 만들 수 있습니다. (파생 테이블로 사용 이제 (나는 것) 절차의 정의의 쿼리를 가지고

select name, object_definition(object_id) proceduredefinition from sys.procedures 

:

5

나는이 SQL2005에 대해 알고 있지만, SQL2008에서이 작업을 수행 할 수 있습니다 아래 예제에서 T1이라고 부름)

select name, proceduredefinition, replace(proceduredefinition,'texttoreplace','withthistext') as newcodedefinition 
FROM T1 where t1.proceduredefinition like '%something to search for%' 

이제 새 코드 정의를 복사하여 SSMS에 붙여 넣습니다.