use*_*749 1 database sql-server backup restore
SQL Server数据库实例有什么独特之处,可以检测到它已经恢复.如果客户端正在使用数据库并决定在另一台服务器上恢复并运行同一数据库的另一个副本 - 有没有办法用t-sql查询来区分这两个数据库?
有几种方法可以将数据库标识为另一个数据库的还原/副本:
service_broker_guid通常是最简单的方法.它是在创建数据库时生成的,并在还原/附加操作期间保留.它可以使用ALTER DATABASE ... SET NEW_BROKER;如此不同的GUID 显式更改,但不一定意味着不同的DB.但是相同的GUID意味着数据库的共同起源.如您所见,有几种方法,所需的专业水平和他们提供的篡改证据的程度各不相同.它归结为您的要求和实际用例.最后,请记住SQL Server 不是 DRM产品.如果您有一些您认为非常宝贵并且必须受到保护的代码/设计,那么您应该将应用程序作为托管服务提供,以便这种感知到的IP永远不会离开您的物理控制环境.