Sql 当数据库';正在将移动到另一个服务器/实例

Sql 当数据库';正在将移动到另一个服务器/实例,sql,sql-server,guid,identification,Sql,Sql Server,Guid,Identification,我正在编写一个用于执行多个数据库操作的工具。 但是该工具应该只用于一个特定的数据库 现在我正在寻找一种方法,安全地识别该工具所连接的数据库 首先,我考虑只检查一个字符串,如SERVERNAME\INSTANCE\Database 我还发现了一个问题,解决方案是在哪里使用GUID,但如果数据库在另一台服务器上恢复,这个GUID会发生变化 即使将数据库移动到另一个服务器或实例,或者数据库名称更改,也应该识别该数据库 有可靠的方法来实现这一点吗?您可以通过一个简单的方法来实现这一点 要创建: exec

我正在编写一个用于执行多个数据库操作的工具。
但是该工具应该只用于一个特定的数据库

现在我正在寻找一种方法,安全地识别该工具所连接的数据库

首先,我考虑只检查一个字符串,如
SERVERNAME\INSTANCE\Database

我还发现了一个问题,解决方案是在哪里使用GUID,但如果数据库在另一台服务器上恢复,这个GUID会发生变化

即使将数据库移动到另一个服务器或实例,或者数据库名称更改,也应该识别该数据库


有可靠的方法来实现这一点吗?

您可以通过一个简单的方法来实现这一点

要创建:

exec sp_addextendedproperty @name = 'dbUniqueIdentifier' @value = 'ABCD1234'
确认:

select value from sys.extended_properties where name = 'dbUniqueIdentifier'

在我的组织中,我们使用扩展属性来标识数据库架构来自哪个构建和变更集。这些属性在备份/还原/迁移过程中仍然有效。

如果没有人更改表内容,那么创建一个表并读取这些信息如何?可能是@TheGameiswar的副本,或者至少与@TheGameiswar相关。我以前也考虑过这一点。但是它应该是安全的,不会被操纵。@现在,取决于有多少用户拥有正确的权限集,任何方法都可能被操纵。数据库中具体必须有什么?