我想就SQL脚本安装数据库时采用的最佳实践提出自己的看法。
问题A) 在我的脚本中,我有几个批处理来创建表。 表格彼此有许多外键,目前我必须按正确的顺序安排批次,以避免与FK表冲突。 我想知道在没有FK的情况下创建表和所有列是否是一个好的做法,并且在脚本的末尾ALTER这样的表添加FK。
问题B) 我的脚本应该用于在不同的服务器上创建不同的DB。 数据库在每次安装时都可以有不同的名称。 现在在我的脚本中,我使用:
创建一个数据库CREATE DATABASE NameX
和
USE NameX
使用它。
因为我需要手动更新每个安装的脚本。我认为使用CENTRALIZED方法在脚本中命名数据库会很棒。 这样,更改一个简单变量将使用我的名字和所有USE语句创建数据库。 我尝试使用LOCAL VARIABLES,但没有成功,因为在GO语句之后它们超出了范围。 我没有任何使用sqlcmd和变量的经验。
知道如何在我的脚本中解决它吗? PS:我使用MS SQL 2008,我将在MS SMS中加载我的脚本
谢谢你们的帮助,这个社区很棒: - )
答案 0 :(得分:2)
替代:
替代
答案 1 :(得分:1)
通常,首先要编写所有表的脚本,然后是FK脚本,索引脚本和其他表。这是正常做法,因为您无法向不存在的表添加关系...
关于你的第二个问题 - 我无法集中注意这个问题。您最好的选择是全局搜索/替换SSMS中打开文件的数据库名称。