【问题标题】:SQL Server 2008 database copy - file permissionsSQL Server 2008 数据库复制 - 文件权限
【发布时间】:2009-07-21 17:11:04
【问题描述】:

对于 Vista 64 位上的 SQL Server 2008 Developer Edition:

我尝试使用附加/分离方法使用 Vista 管理员帐户复制数据库,但由于文件权限错误而失败,因此我向用户提供了 sql 服务正在以写入和修改目录的方式运行。副本没有用。然后我完全控制了它。副本有效。

这有意义吗?

如果我撤销用户的完全控制权,会导致问题吗?

奇怪的是,在一个现有的工作数据库中,文件在不同的目录中,数据库的目录和文件没有特殊权限,那么为什么副本需要完全控制?

【问题讨论】:

    标签: sql-server sql-server-2008 windows-vista 64-bit administration


    【解决方案1】:

    当您分离数据库时,MDF/LDF 文件可能会设置比您预期更多的受限权限,例如执行分离的主体专有 - 可能是 SQL Server 服务帐户或执行该操作的用户的域帐户分离。我过去不得不在文件的“属性”>“安全”选项卡上为其他用户手动添加权限,否则文件就像被锁定一样。另见http://www.onupdatecascade.com/2009/07/sql-server-locks-mdf-and-ldf-files-upon.html

    还有:http://msdn.microsoft.com/en-us/library/ms189128.aspx

    (感谢GrumpyOldDBA

    【讨论】:

      【解决方案2】:

      如果您正在处理的服务器和/或数据不需要设置这些限制性权限,您可以在 SQL Server 中设置一个启动标志,该标志将覆盖此功能。我理解微软的目的——他们假设如果你分离一个数据库,他们不希望任何人带着文件走开;但是,我认为阻止优秀的黑客这样做说起来容易做起来难,加密数据库是保护数据的最佳方法。

      无论如何,有一个“Trace Flag 1802”的名字很奇怪,因为它与跟踪无关。如果要保留此行为,您需要将其添加到 SQL 配置管理器中的 SQL 启动中。

      https://support.microsoft.com/en-us/kb/922804

      我自己也有同样的问题,并在 StackExchange 中找到了答案: https://dba.stackexchange.com/a/77683/11001

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2011-07-03
        • 2014-12-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多