우리는 서버 구성 요소가 데이터베이스 (응용 프로그램 서버 없음) 인 클라이언트 - 서버 응용 프로그램에 대한 라이선스 시스템을 개발 중입니다. 다른 서버에 설치할 수 없거나 백업/복원을 통해 전송할 수없는 특정 서버에 라이센스를 발급하고 싶습니다. 이 아이디어는 T-SQL 쿼리를 통해 단일 식별자를 생성 한 다음 공개/개인 서명을 사용하여 해당 식별자에 대해서만 작동하는 활성화 토큰을 반환하는 것입니다.T-SQL을 통해 SQL Server 컴퓨터를 고유하게 식별
CLR 저장 프로 시저 또는 함수없이 T-SQL 만 사용하여 반복적으로 SQL Server를 고유하게 식별하는 방법이 있습니까? 예를 들어, 인스턴스가 설치 될 때 생성되는 검색 가능한 고유 한 값이 있습니까?
: MAC 부분이 NEWSEQUENTIALID()
일 수도 있습니다 (this method 참조). 클러스터/페일 오버 설정에서 시스템이 장애 조치되거나 기본 LAN 어댑터가 변경된 경우 새 하드웨어에서 다시 활성화 될 때까지 계속 작동하는 동안 "유예 기간"이 될 수 있습니다. 문제는 이것이 "충분히 독특함"인지 여부입니다.
클러스터/장애 극복을 잊지 마십시오. 머신과 db 사이에 1 : 1이 반드시 필요하지는 않습니다. –
사실, 좋은 지적입니다. 클러스터 또는 장애 조치 설정의 모든 인스턴스에서 동일한 ID가 반환되는 것이 가장 좋습니다. –
독특한 하드웨어 정보가 SQL 서버에 직접 노출되지 않으므로 어떤 대답이라도'xp_cmdshell'이 필요하다고 생각합니다 – JNK