安装SQL Server数据库的最佳实践或工具
我有一个使用SQL Server GUI数据库编辑器/ Visual Studio设计的SQL Server数据库。
在其他系统上“安装”该数据库的最佳方法是什么。换句话说我应该如何运送这件东西?
我知道我可以保存脚本并使用T-SQL设置主/外键,但我怀疑它们更好。我想你可以让人们从备份中恢复,但这似乎不太专业。
还有哪些其他选择,有什么优点和缺点?
答案 0 :(得分:2)
让它看起来很专业,制作一个小型的安装程序。
您目前拥有用于创建数据库的SQL脚本。
制作一个包含脚本路径的小型xml文件。
创建一个小型c#库,它将连接到数据库服务器,并运行这些脚本。
您可以在visual studio中进行测试,然后将其添加到此设置中。
要从您的设置执行此操作,您只需将xml文件放入组件中即可部署,
在您的设置中创建一个自定义操作,它将调用您的C#lib,读取xml并在sql server上运行脚本以创建数据库。
此外,从安装程序中,可以轻松设置注册表项以识别刚刚安装的数据库的版本。
缺点和优点:开始时有点工作,但有了这个,你将完成所有基础工作,以便稍后自动处理升级,为此,只需添加一个upgradeScript部分到xml,每个升级脚本都有一个名为version的属性,只需将它与您在注册表中保存的db版本进行比较。这样做的好处是可以轻松扩展您的项目。
答案 1 :(得分:1)
我之前的回答主要是为了完全控制部署和升级。
我搜索了更多built-in and streamlined solution,这与您使用的数据库设计师模式一致。
我发现在Visual Studio数据库专业人员的Studio 2005 Team Edition版本中可能存在部署功能。
构建和部署
你已经看到你可以生成一个 T-SQL通过手动更新脚本 架构比较工具。但是,作为 部分构建过程,DB Pro edition可以生成完整的脚本 用于部署数据库项目。 此部署脚本可以执行任何操作 完整构建或增量 更新。构建过程甚至可以 巩固你所有的前期和后期 将部署后的脚本合二为一 完整的部署脚本。 你可以 通过Build |来部署脚本 直接部署选择命令 在Visual Studio 2005中。在 项目属性,你会发现一个 要控制的选项数量和 调整构建过程。建设 选项卡包含核心设置等 作为目标连接,目标数据库 name和Block增量部署 如果可能发生数据丢失。你会注意到的 还有一个Build Events选项卡 您可以使用键入构建前或构建后 事件命令。 DB Pro版使用 MSBuild的构建过程和 支持与Team Build的集成 如果您正在使用Team Foundation 服务器