提取没有安全数据库信息的数据库架构 (Visual studio)

Extract database schema without security database info (Visual studio)

我正在使用 VS2017,我的数据库在 SQL 服务器 2014 上运行。 我想从现有数据库创建一个 sql 数据库项目。 我创建了我的 sql 项目,但遇到了一些问题: sql 数据库项目是使用文件夹安全性创建的,如下面的屏幕所示。

有人有想法,我只需要架构?

据我了解你的问题:

  • 您有一个数据库,其中创建了一些额外的用户,并且 分配的权限/角色。
  • 您正在 VS 中创建数据库项目 2017.
  • 然后您导航到“项目”->“导入”->“数据库”,将您现有的数据库模式导入到项目中。这会将数据库用户导入到项目中,而您不希望这种情况发生。

解决方案:

不使用导入数据库功能。

改为使用架构比较来生成您的脚本。

如何:

  1. 在 VS 2017 中创建一个新的空白数据库项目。
  2. 右击 项目和 select "Schema Compare...".
  3. 将打开一个新的 window,您需要在其中单击 "Select target..." 以 select 您现有的数据库。
  4. 重要提示: 单击 "Switch source and Target" 按钮 将您的数据库设为源。
  5. 点击"Options"按钮弹出"Schema Compare Options"弹出窗口window。
  6. 转到 "Object Types" 选项卡
  7. 取消选中:"Users"、"Database Roles"、"Permissions" 以及您不想导入的任何其他对象类型
  8. 点击确定保存并关闭"Schema Compare Options"弹出window
  9. 单击 "Compare" 按钮
  10. 您将获得一个差异列表,您可以在其中进一步排除个别对象:
  11. 单击 "Update" 按钮为您的对象编写脚本。
  12. 要保存您的比较选项,请单击“保存”。它只保存您的比较选项,不保存比较结果。