다음을 통해 공유


어셈블리 변경

적용 대상: SQL Server

SQL Server에 등록된 어셈블리는 ALTER ASSEMBLY 문을 사용하여 최신 버전에서 업데이트할 수 있습니다. 어셈블리를 업데이트하려면 다음 구문과 함께 ALTER ASSEMBLY 문을 사용합니다.

ALTER ASSEMBLY SQLCLRTest  
FROM 'C:\MyDBApp\SQLCLRTest.dll'  

ALTER ASSEMBLY는 어셈블리를 사용하는 현재 실행 중인 프로세스를 중단하지 않습니다. 프로세스는 비정형 어셈블리를 사용하여 계속 실행됩니다. ALTER ASSEMBLY는 CLR(공용 언어 런타임) 함수, 집계 함수, 저장 프로시저 및 트리거의 서명을 변경하는 데 사용할 수 없습니다. 새 공용 메서드를 어셈블리에 추가할 수 있고, 프라이빗 메서드를 어떤 방식으로든 수정할 수 있으며, 서명 또는 특성이 변경되지 않는 한 public 메서드를 수정할 수 있습니다. 데이터 멤버 또는 기본 클래스를 포함하여 네이티브 직렬화된 사용자 정의 형식 내에 포함된 필드는 ALTER ASSEMBLY를 사용하여 변경할 수 없습니다. 다른 모든 변경은 지원되지 않습니다. 자세한 내용은 ALTER ASSEMBLY(Transact-SQL)를 참조 하세요.

어셈블리의 사용 권한 집합 변경

ALTER ASSEMBLY 문을 사용하여 어셈블리의 사용 권한 집합을 변경할 수도 있습니다. 다음 문은 SQLCLRTest 어셈블리의 사용 권한 집합을 EXTERNAL_ACCESS 변경합니다.

ALTER ASSEMBLY SQLCLRTest  
WITH PERMISSION_SET = EXTERNAL_ACCESS   

어셈블리의 사용 권한 집합이 SAFE에서 EXTERNAL_ACCESS 또는 UNSAFE변경되는 경우 어셈블리에 대한 EXTERNAL ACCESS ASSEMBLY 권한 또는 UNSAFE ASSEMBLY 권한이 있는 비대칭 키 및 해당 로그인을 먼저 만들어야 합니다. 자세한 내용은 어셈블리 만들기를 참조하세요.

어셈블리의 원본 코드 추가

ALTER ASSEMBLY 구문의 ADD FILE 절이 CREATE ASSEMBLY에 없습니다. 소스 코드 또는 어셈블리와 연결된 다른 파일을 추가하는 데 사용할 수 있습니다. 이렇게 하면 파일이 원래 위치에서 복사되어 데이터베이스의 시스템 테이블에 저장됩니다. 이렇게 하면 현재 버전의 UDT를 다시 만들거나 문서화해야 하는 경우 소스 코드 또는 기타 파일이 항상 있습니다.

다음 문은 Point UDT에 대한 Point.cs 클래스 소스 코드를 추가합니다. 이 문은 Point.cs 파일에 있는 텍스트를 복사하여 "PointSource"라는 이름으로 데이터베이스에 저장합니다.

ALTER ASSEMBLY Point

ADD FILE FROM 'C:\Projects\Point\Point.cs' AS PointSource

참고 항목

CLR 통합 어셈블리 관리
어셈블리 만들기
어셈블리 삭제
ALTER ASSEMBLY(Transact-SQL)