符号 link / 数据库的别名
symbolic link / alias to a database
我想在一个 MS SQL 服务器实例中使用多个版本的数据库(包括表、视图、过程)。假设我有这些数据库:
- db_dev1
- db_dev2
- db_dev3
- ...
- db_dev10
我一直有一个当前/稳定的版本,想创建一种 "link"。目前,"db_dev2" 是稳定的,我想要一个 "link" 或别名 "db_stable" 并使用 "db_dev2" 的所有表、过程...但使用名称 "db_stable".在像 NTFS 或 EXT4 这样的文件系统中,我会创建一个符号 link。 如何在 MS SQL 服务器中执行此操作? 继续开发时,我会将 "link" 更改为 "db_dev3" 等等。这样做我不必更改访问此数据库的 SQL 代码。
使用 "hardlink" 的解决方法——将 "db_dev2" 的副本重命名为 "db_stable"——对我来说不是好的解决方案,因为数据库非常大。
您可以使用同义词。不幸的是,您不能为数据库创建同义词。
但是您可以创建一个 "empty" 数据库 db_stable,其中包含所有对象的同义词。
只需编写一些脚本即可 create/alter 每个对象的同义词。
我想在一个 MS SQL 服务器实例中使用多个版本的数据库(包括表、视图、过程)。假设我有这些数据库:
- db_dev1
- db_dev2
- db_dev3
- ...
- db_dev10
我一直有一个当前/稳定的版本,想创建一种 "link"。目前,"db_dev2" 是稳定的,我想要一个 "link" 或别名 "db_stable" 并使用 "db_dev2" 的所有表、过程...但使用名称 "db_stable".在像 NTFS 或 EXT4 这样的文件系统中,我会创建一个符号 link。 如何在 MS SQL 服务器中执行此操作? 继续开发时,我会将 "link" 更改为 "db_dev3" 等等。这样做我不必更改访问此数据库的 SQL 代码。
使用 "hardlink" 的解决方法——将 "db_dev2" 的副本重命名为 "db_stable"——对我来说不是好的解决方案,因为数据库非常大。
您可以使用同义词。不幸的是,您不能为数据库创建同义词。 但是您可以创建一个 "empty" 数据库 db_stable,其中包含所有对象的同义词。 只需编写一些脚本即可 create/alter 每个对象的同义词。