我对SQL Server上的Windows身份验证有疑问。
如果我将数据库提供给任何人,他们是否仍然可以使用Integrated Security访问它?
因为看起来我将数据库从一台机器移动到另一台机器,我仍然可以使用集成安全性访问它。这是否意味着任何人都可以使用集成安全性(Windows身份验证)访问它,如果我给他们文件?
编辑: 我只是好奇,因为我正在处理我的SQL Server文件(.mdf),然后我将它移动到另一台机器,我仍然可以使用Windows身份验证访问它
编辑: 它是我附加的MDF文件
答案 0 :(得分:0)
这是一个有点奇怪的问题 - 如果你给某人你的数据库(但是你这样做)并让他们在他们管理的SQL服务器上设置它,那么是的,他们将有权访问它。
如果您的应用程序随后访问了您的数据库,则需要他们设置相应的帐户以根据他们的要求访问数据库。
答案 1 :(得分:0)
只要我知道是的。如果您为其他数据库提供数据,则他们始终可以获得数据库的所有权并编辑其权限
答案 2 :(得分:0)
如果在这台新机器上,您已登录到SQL Server,并且通过各种方式中的任何一种方式成为sysadmin
角色的成员,那么您绝对可以访问它。任何sysadmin
角色成员都可以访问它。
对于通过集成安全性/可信连接进行身份验证且不是sysadmin
的用户,如果数据库中的用户链接到基于Windows组的登录(在SQL Server中),只要MDF附加到属于同一网络的实例,那么该Windows组中的任何人仍将具有访问权限,以使该Windows组的安全ID(SID)与数据库中列出的相同。将该用户连接到登录(在[master]中)。
使用LocalDB时,“部署”到客户将需要他们的PC上有一个LocalDB实例,您将附加此数据库。它们将是本地LocalDB实例上的sysadmin,因此应该可以访问任何附加的数据库。请记住,LocalDB的实例是 per-windows-Login ,因此只有那台PC上的Login才会拥有包含数据库的LocalDB实例。它可以与其他人“共享”,但您需要单独设置它。
但是,了解此计划是否有效的最佳方法是尝试一下。将数据库部署到同事PC并查看他们(不是您)是否可以访问数据库。这是一个更好的迹象表明将会发生什么,然后这里的任何答案都可以给出;-)。更好的方法是将它“部署”到一台甚至不属于你网络的计算机上(这与客户的PC本质上是一样的,对吧?)。