【问题标题】:Best (most security conscious) way to package a MSSQL database for 3rd party use?打包 MSSQL 数据库以供第 3 方使用的最佳(最安全意识)方式?
【发布时间】:2012-04-16 20:32:56
【问题描述】:

有人要求我转储托管在 MS SQL Server 2005 上的整个数据库,其中包含多个表,以供第三方导入/使用。

  • 我的第一个想法是找到类似 mysqld_dump 的东西,它可以为他们提供导入命令,从而引导我使用架构和数据“生成脚本”,这应该可以工作。
    • 与此选项有关的一个问题是具有主/外键要求的数据,它创建的脚本是否牢记这一点,应该没问题吗?我现在正在进行测试导入以尝试验证这一点;我想我会提到它。

  • 建议为了更快地解决问题,只需卸载数据库并为他们提供 MDF 文件。我不确定我是否喜欢这个想法,因为我对存储在这个文件中的所有内容都不是很熟悉。这对我们的服务器有安全风险吗?此文件中是否存储了与我们的服务器特别相关的引用,可能会造成损坏?

我主要关心的是这里的安全性,只要他们得到数据,每个人都会很高兴。

任何我没有想到的建议甚至更好的选择都将不胜感激。

谢谢

【问题讨论】:

  • 他们只需要数据吗?为什么不直接将其导出到 Excel?
  • 目前我们正在寻找一种解决方案,让他们能够在 SQL 中使用它而不会出现太多问题。

标签: mysql sql-server database sql-server-2005 mysqldump


【解决方案1】:

您为什么不直接将数据库备份和恢复到第三方有权访问的服务器上,或者为他们部署在服务器上并限制他们的访问权限,只授予他们运行脚本和其他基本权限的能力?

【讨论】:

  • 我们希望避免延长为他们托管这些数据的服务;打包的原因是为了分道扬镳。
  • 至于备份/恢复,您具体指的是哪个功能?安全隐患是什么?
  • 通过备份/恢复我的意思是右键单击对象资源管理器(SQL Server Management Studio)中的数据库,然后是任务,然后是备份,恢复选项也在那里。如果我是你,我会删除所有角色和权限,保留默认的 sa 帐户并给它一个密码,你可以告诉第三方,备份(就像我在上面所说的那样),然后他们可以恢复它。没有安全隐患,因为您已经将所有角色/权限信息从中取出:)
  • 所以数据库属性的权限选项卡是我应该担心清除正确的唯一区域吗?这会包含在备份中吗?这看起来是最好和最简单的解决方案。
  • 所有的安全性都包含在其中,你最好将其全部清除,但在你这样做之前,将 sa 密码更改为你能记住的密码并确保它是 dbowner数据库,然后您可以删除其余的角色/登录名
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2012-04-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多