【问题标题】:SQL Server 2008 use server id as a defaultSQL Server 2008 使用服务器 ID 作为默认值
【发布时间】:2010-10-05 18:25:44
【问题描述】:

我有一个存在于多个数据库中的行表。我需要将行从一个数据库更新到另一个数据库,并且我有一个 int 主键。所以我正在寻找一种方法来唯一标识添加特定行的服务器。我可以在默认情况下使用 newid() 或 newseqentialid() 来使用唯一标识符,但这似乎有点矫枉过正且效率低下。

我想在@@serverid 的serverid 列上创建一个默认值,但这不存在,我可以使用@@servername 但这对于错误来说似乎太明显了。有什么方法可以取回服务器的 guid 并将其作为默认值添加到列中?

提前致谢

菲尔

【问题讨论】:

    标签: sql sql-server-2008


    【解决方案1】:

    鉴于您可能拥有少于 2^31 - 1 个服务器,您当然可以简单地为每个服务器分配一个唯一的(32 位)整数来识别它。

    【讨论】:

      【解决方案2】:

      我只会使用@@SERVERNAME 或基于此的标签。

      它是明确的、人类可读的并且比 GUID 更短

      【讨论】:

      • 米奇小麦:对于实用目的来说足够独特,不是吗?如果您设法在不同的域中拥有重复的服务器名称,那就太粗心了。
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-24
      • 1970-01-01
      • 2015-08-04
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多