Даже если вы получаете уникальный идентификатор, потенциальная проблема - проверка в T-SQL.База данных не проверена.Что если они взломают T-SQL и удалят часть активации.Клиент использует T-SQL напрямую или у вас есть клиентское приложение.Если у вас есть клиентское приложение, то почему CLR не вариант?Он был взломан, но я работал с приложением, которое генерировало хэш имени сервера при установке и сохраняло его в базе данных.Затем клиент сравнил бы сохраненный хеш с динамическим хешем, чтобы определить, был ли он на другом сервере.Проблема заключалась в том, что если имя сервера было таким же, то его можно было обойти, а алгоритм хэширования находился в клиентском приложении, поэтому с трудом его можно было разоблачить.
Adian Я хотел бы поблагодарить вас за ответы на мои вопросы.
Если вы загляните в sysObjects и другие системные таблицы / представления, я думаю, вы сможете найти что-то, чтобы уникально идентифицировать сервер и базу данных.Как и при восстановлении на другом сервере, вы должны удалить пользователя и создать его заново, даже если имя совпадает, внутренний идентификатор отличается.Если бы они восстановили базу данных master и application, они могли бы сделать все идентичным, но они должны были бы знать, чтобы сделать это.При базовой установке SQL может генерировать уникальный идентификатор где-то, поскольку имеет смысл, что Microsoft захочет иметь уникальный идентификатор для репликации, других функций и лицензирования.