0

我在主数据库(系统数据库)下的 SQL Server 中有一个用户定义的类型。当我参考主数据库(即使用主数据库)时,它几乎可以工作。但是,我无法从其他数据库访问该类型。我是否必须将其添加到其他数据库中,或者即使从当前可用的位置也可以引用它?我怎样才能让它在所有可用的数据库中都可以访问?

4

1 回答 1

0

您需要在每个数据库中创建 EthiopanDate 类型的副本。db_x 中的代码将无法在 master 中看到 EthiopanDate,反之亦然。这也可能是临时对象的问题 - 要在任何列中创建具有该数据类型的临时表,该类型也需要存在于 tempdb 中。出于这个原因,将类型添加到模型数据库(这将在每次启动时将其放置在 tempdb 中,以及在服务器上直接创建的每个未来数据库中)或在启动过程中添加显式创建都是有用的.

话虽如此,我已经写了为什么你可能不想这样做——这主要是关于改变它们是多么令人难以置信的痛苦:

于 2012-09-12T11:02:24.630 回答