타사 데이터베이스에서 작업하고 있습니다.
나는 마우스 오른쪽 버튼으로 클릭하여 뷰의 정의를보고 할 때 CREATE TO
까지 다음과 NEW QUERY EDIT WINDOW
나는 오류를 얻고있다 :
이 속성에이 속성이 없거나 액세스 권한이 부족하여 검색 할 수 없습니다. 텍스트가 암호화됩니다.
-- Encrypted text
타사 데이터베이스에서 작업하고 있습니다.
나는 마우스 오른쪽 버튼으로 클릭하여 뷰의 정의를보고 할 때 CREATE TO
까지 다음과 NEW QUERY EDIT WINDOW
나는 오류를 얻고있다 :
이 속성에이 속성이 없거나 액세스 권한이 부족하여 검색 할 수 없습니다. 텍스트가 암호화됩니다.
-- Encrypted text
답변:
암호화 된 객체를 즉석에서 해독하는 데 사용할 수있는 다른 타사 도구는 Red Gate의 SQL 프롬프트입니다. http://www.red-gate.com/products/sql-development/sql-prompt/features
저장 프로 시저 위로 마우스를 가져 가면 암호 해독 된 생성 스크립트를 볼 수 있습니다.
면책 조항 :이 도구는 상용이며 (14 일 무료 평가판 사용) Red Gate에서 근무합니다.
이 문제에 대한 자세한 설명이 여기 있습니다 .
요컨대, 객체는 실제로 암호화되지 않고 오히려 난독 처리됩니다. 따라서 우리는 원본을 되 찾을 수 있습니다. 이 방법은 약간 복잡하지만 다음 단계로 구성됩니다.
다음과 같이 난독 처리 된 코드를 선택하십시오.
SELECT @secret = imageval
FROM sys.sysobjvalues
WHERE objid = OBJECT_ID(@object_name);
같은 이름 같은 OBJECT_ID 바이트에서 같은 길이가 다른 하나를 사용하여 객체를 교체합니다 (예를 들어, 사용 ALTER PROCEDURE
)
그러면 원래 코드가 제공됩니다. 그러나 Kin이 언급했듯이 지원과 법적 영향을 줄 수 있으므로 변호사와 먼저 상담하십시오.
모듈 텍스트는 RC4 스트림 암호를 사용하여 암호화됩니다.
RC4 초기화 키는 다음의 SHA-1 해시 에서 계산됩니다 .
모듈의 객체 하위 ID는 다음과 같습니다.
적절한 권한을 가진 사용자는 다음을 통해 모듈을 해독 할 수 있습니다.
내 기사에서 자세한 내용과 전체 코드 구현 :
DAC (Dedicated Administrator Connection) 를 사용하여 SQL Server에 연결 한 다음 저장 프로 시저의 SQL 텍스트를 볼 수 있습니다. 다음을 사용하여 DAC에 연결하십시오.
admin:Your_Servername
당신은에 필요한 모든 단계를 찾을 수 있습니다 스택 오버플로이 답변 에 의해 마틴 스미스 .
또 다른 대안은 SQL Server 2005, 2008 및 R2의 암호화 된 저장 프로 시저, 뷰, 함수 암호 해독에 언급 된 일부 타사 스크립트를 사용하는 것입니다.
참고로 -타사 데이터베이스이고 prod에서 데이터베이스를 제공하는 경우 공급 업체가이를 지원합니까? SP 또는보기를 암호화해야 할 적절한 이유가있을 수 있습니다. 백업을 한 다음 더 좋아하는 것이 좋습니다.
원본 DDL 스크립트를 미리 보거나 암호화 된 객체를 해독하려면 ApexSQL Decrypt를 확인하십시오.
SSMS에 통합하고 원본 DDL 스크립트를 미리 볼 수있는 옵션이있는 무료 독립형 도구입니다. 또한 여러 서버에있는 객체를 한 번에 해독 할 수 있습니다. dbForge SQL Decryptor 가 도움이 될 수있는 도구 중 하나입니다.
한 번에 여러 저장 프로 시저를 해독하는 데 자주 사용하는 방법은 ...
RedGate의 SQL 비교를 사용하여 데이터베이스를 빈 데이터베이스 (또는 저장 프로 시저가없는 데이터베이스)와 비교하십시오. 배포 스크립트를 만들고 SSMS에 복사하십시오. WITH ENCRYPTION 을 찾아 공백으로 바꿉니다 . 그런 다음 CREATE PROCEDURE를 ALTER PROCEDURE로 변경하십시오. 원본 데이터베이스에 대해 RedGate 스크립트를 실행하면 모든 저장 프로 시저 암호화가 제거되었습니다.
400 개 이상의 저장 프로 시저가있는 데이터베이스가 있었고 SQL Prompt가 편리하지만 400 개 이상의 저장 프로 시저에 대해 마우스 오른쪽 단추를 클릭하여 복사하고 붙여 넣을 시간이 없었습니다. RedGate SQL 비교를 사용하여 약 10 분 안에 400 개 이상의 저장 프로 시저에서 암호화를 제거 할 수있었습니다.