Sql server SQL Server集成安全性(Windows身份验证)

Sql server SQL Server集成安全性(Windows身份验证),sql-server,windows-authentication,integrated-security,Sql Server,Windows Authentication,Integrated Security,我对SQL Server上的Windows身份验证有一个问题 如果我把我的数据库给任何人,他们仍然能够使用集成安全性访问它吗 因为看起来,如果我将数据库从一台机器移动到另一台机器,我仍然能够使用集成安全性访问它。这是否意味着,如果我给他们文件,任何人都可以使用集成安全性(Windows身份验证)访问它 编辑: 我只是好奇,因为我正在处理我的SQL Server文件(.mdf),然后我把它移到了另一台机器上,我仍然能够使用Windows身份验证访问它 编辑: 这是一个我附加的MDF文件这是一个有点

我对SQL Server上的Windows身份验证有一个问题

如果我把我的数据库给任何人,他们仍然能够使用集成安全性访问它吗

因为看起来,如果我将数据库从一台机器移动到另一台机器,我仍然能够使用集成安全性访问它。这是否意味着,如果我给他们文件,任何人都可以使用集成安全性(Windows身份验证)访问它

编辑: 我只是好奇,因为我正在处理我的SQL Server文件(.mdf),然后我把它移到了另一台机器上,我仍然能够使用Windows身份验证访问它

编辑:
这是一个我附加的MDF文件这是一个有点奇怪的问题-如果你给某人你的DB(不管你怎么做),并让他们在他们管理的SQL server上设置它,那么是的,他们将有权访问它


如果您的应用程序随后访问了您的数据库,您将需要他们根据要求设置相应的帐户来访问数据库。

只要我知道是。如果您将数据库交给其他人,则您始终可以拥有数据库的所有权并编辑其权限

如果您在这台新机器上登录到SQL Server,并且通过任何一种方式成为
系统管理员
角色的成员,则您绝对可以访问该数据库。属于
sysadmin
角色的任何人都可以访问它

对于通过集成安全性/受信任连接进行身份验证且不是系统管理员的人,如果数据库中有一个用户链接到基于Windows组的登录(在SQL Server中),则,然后,只要MDF连接到属于同一网络的实例,并且该Windows组的安全ID(SID)与将该用户连接到登录(在[master]中)的数据库中列出的ID相同,则该Windows组中的任何人仍将具有访问权限

当使用LocalDB时,“部署”到客户将意味着他们的PC上有一个LocalDB实例,并且您将连接此DB。他们将是本地LocalDB实例上的系统管理员,因此应该可以访问连接的任何数据库。请记住,LocalDB的实例在每个windows登录时都是,因此只有该PC上的登录才会有包含数据库的LocalDB实例。它可以与其他人“共享”,但您需要单独设置


然而,要知道这个计划是否有效,最好的办法是尝试一下。将你的数据库部署到同事的电脑上,看看他们(不是你)是否可以访问数据库。这是一个更好的指示将发生什么,然后这里的任何答案可以给出;-)。更好的做法是将其“部署”到一台甚至不属于您的网络的计算机上(这与客户的PC基本相同,对吗?)。

不清楚动机?这是一个“包含”的数据库还是您分离/附加的常规MDF文件?您现在如何访问它:您的登录名是否映射到Windows登录名,或者是否有映射到Windows组的登录名?它和MDF文件,我使用Visual Studio访问它。这是否意味着,当我最终将其部署到客户时,我可以将其保留在“Windows身份验证”中?因此,假设我正在处理MDF文件,当我最终将其部署到客户时,我可以将其保留在“Windows身份验证”中?假设我正在Visual Studio中处理该文件;当我完成并最终想要将其部署到客户时,我需要设置密码还是可以将连接字符串保留为“集成安全”?@munashetsodo,这取决于应用程序的设置方式。这是本地数据库吗?如果您将其部署到客户的系统(本地pc或服务器),使其成为该实例的系统管理员,则他们具有访问权限@srutzky@MunasheTsododo我更新了我的答案。