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

K. *_*LEU 1 c# sql-server visual-studio dacpac

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

VS 2017 中的 SQL 项目

有人有想法,我只会有架构?

Ale*_*lex 5

据我了解你的问题:

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

解决方案:

不要使用导入数据库功能。

而是使用架构比较来生成您的脚本。

如何:

  1. 在 VS 2017 中创建一个新的空白数据库项目。
  2. 右键单击项目并选择“架构比较...”。
  3. 将打开一个新窗口,您需要在其中单击“选择目标...”以选择现有数据库。
  4. 重要提示:单击“切换源和目标”按钮在此处输入图片说明 使您的数据库成为源。
  5. 点击“选项”按钮 在此处输入图片说明 调出“架构比较选项”弹出窗口。
  6. 转到“对象类型”选项卡
  7. 取消选中:“用户”、“数据库角色”、“权限”和您不想导入的任何其他对象类型
  8. 单击“确定”保存并关闭“架构比较选项”弹出窗口
  9. 点击“比较”按钮 在此处输入图片说明
  10. 您将获得一个差异列表,您可以在其中进一步排除单个对象: 在此处输入图片说明
  11. 单击“更新”按钮为您的对象编写脚本。
  12. 要保存您的比较选项,请单击保存。它仅保存您的比较选项,而不保存比较结果。