如何执行所需的复制后安装任务

应用到: System Center Configuration Manager 2007, System Center Configuration Manager 2007 R2, System Center Configuration Manager 2007 R3, System Center Configuration Manager 2007 SP1, System Center Configuration Manager 2007 SP2

在成功完成 SQL Server 站点数据库复制过程之后,您必须向站点系统授予访问站点数据库副本数据必需的权限。

备注

建议不要向站点系统计算机授予对复制的 SQL Server 站点数据库的数据库所有者 (dbo) 权限。

您可以使用下列过程配置远程站点系统权限,以从 SQL Server 站点数据库副本访问复制的站点数据库信息:

  • 创建所需的数据库角色。

  • 向数据库角色授予访问数据库对象必需的安全权限。

  • 创建站点系统用于访问站点数据库副本的数据库用户帐户。

  • 向合适的数据库角色添加站点系统数据库用户帐户。

创建所需的数据库角色

在 Configuration Manager 2007 主站点安装期间,会创建 SQL Server 2005 数据库角色来保护站点数据库访问。当将 SQL Server 数据库配置为宿主站点数据库的副本时,您必须手动创建这些数据库角色。

有关安装程序创建的 SQL Server 数据库角色的详细信息,请参阅关于 Configuration Manager 的数据库角色

在站点数据库副本上创建所需的数据库角色

  1. 在 SQL Server 2005 SQL Server Management Studio 控制台中,导航到 <站点数据库副本名称>

  2. 右键单击“<站点数据库副本名称>”,然后单击“新建查询”以打开新的查询编辑器窗口。

  3. 在新的查询编辑器窗口中,输入下列命令,然后单击“执行”以在站点数据库副本上创建所需的数据库角色:

    CREATE ROLE [smsdbrole_MP] AUTHORIZATION [dbo]
    CREATE ROLE [smsdbrole_DMP] AUTHORIZATION [dbo]
    CREATE ROLE [smsdbrole_SLP] AUTHORIZATION [dbo]
    

向数据库角色授予访问数据库对象必需的安全权限

在 Configuration Manager 2007 主站点安装期间,会向 SQL Server 2005 数据库角色授予访问站点数据库信息必需的安全权限。当将 SQL Server 数据库配置为宿主站点数据库的副本时,您必须手动授予这些安全权限。

为站点系统配置安全权限以访问站点数据库副本信息

  1. 在 SQL Server 2005 SQL Server Management Studio 控制台中,导航到 <站点数据库副本名称>

  2. 右键单击“<站点数据库副本名称>”,然后单击“新建查询”以打开新的查询编辑器窗口。

  3. 在新的查询编辑器窗口中,输入下列命令,然后单击“执行”以便为 Configuration Manager 2007 数据库角色配置对数据库对象的安全权限:

    GRANT SELECT ON Sites TO [smsdbrole_SLP]
    GRANT SELECT ON SysResList TO [smsdbrole_SLP]
    GRANT SELECT ON RoamingBoundaryIPSubnet TO [smsdbrole_SLP]
    GRANT SELECT ON RoamingBoundaryIPv6Prefix TO [smsdbrole_SLP]
    GRANT SELECT ON RoamingBoundaryIPRange TO [smsdbrole_SLP]
    GRANT SELECT ON RoamingBoundaryADSite TO [smsdbrole_SLP]
    GRANT EXECUTE ON MP_GetAllInventoryClasses TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetClientIDFromMacAddress TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetClientIDFromSmbiosID TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetInventoryClassProperties TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetSiteInfoFromADSite TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetSiteInfoFromIPAddress TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetSiteInfoFromIPv6Prefix TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetSiteInfoUnified TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetContentDPInfoProtected TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetContentDPInfoUnprotected TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetProtectedSMPSites TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetUnprotectedSMPSites TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetStateMigClientInfo TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetStateMigAssocInfo TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetMigrationInfoForRestoreClient TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetMigrationInfoUsersForRestoreClient TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetSelectiveDownloadMap TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetPeerDPList TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetWSUSServerLocations TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetPendingPackagesForBranchDP TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetPolicyBody TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetPolicyBodyAfterAuthorization TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_IsPolicyBodyAuthorized TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_IsClientRegistered TO [smsdbrole_MP]
    GRANT EXECUTE ON sp_GetPublicKeyForSMSID TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetEncryptionCertificateForSMSID TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetProvisioningModePolicyAssignments TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetMachinePolicyAssignments TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetUserAndUserGroupPolicyAssignments TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetListOfMPsInSite TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetHINVLastUpdateTime TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetLocalSitesFromAssignedSite TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetMPSitesFromAssignedSite TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetMPListForSite TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_GetSdmPackageBody TO [smsdbrole_MP]
    GRANT EXECUTE ON MP_MatchDrivers TO [smsdbrole_MP]
    GRANT EXECUTE ON sp_GetPublicKeySMSUID TO [smsdbrole_MP]
    GRANT EXECUTE ON DMP_GetMachinePolicies TO [smsdbrole_DMP]
    GRANT EXECUTE ON DMP_GetPackageVersion TO [smsdbrole_DMP]
    GRANT EXECUTE ON DMP_GetSettings TO [smsdbrole_DMP]
    GRANT EXECUTE ON DMP_GetSoftwareDistBody TO [smsdbrole_DMP]
    GRANT EXECUTE ON DMP_GetSoftwareDistIDs TO [smsdbrole_DMP]
    GRANT EXECUTE ON DMP_GetHinvTranslations TO [smsdbrole_DMP]
    GRANT EXECUTE ON DMP_GetDiscoveryTranslations TO [smsdbrole_DMP]
    

创建站点系统用于访问站点数据库副本的数据库用户帐户

在 Configuration Manager 2007 主站点安装期间,会向 SQL Server 2005 数据库角色授予访问站点数据库信息必需的安全权限。当将 SQL Server 数据库配置为宿主站点数据库的副本时,您必须手动授予这些安全权限。

备注

如果为管理点或服务器定位器点站点系统角色使用数据库连接帐户,而不是使用站点系统的计算机帐户来访问数据库副本,您必须为配置为站点系统数据库连接帐户(而不是站点系统计算机帐户)的域用户帐户创建数据库用户帐户。

有关管理点数据库连接帐户的详细信息,请参阅关于管理点数据库连接帐户

有关服务器定位器点数据库连接帐户的详细信息,请参阅关于服务器定位器点数据库连接帐户

创建站点系统用于访问站点数据库副本的数据库用户帐户

  1. 在 SQL Server 2005 SQL Server Management Studio 控制台中,导航到 <站点数据库副本名称>

  2. 右键单击“<站点数据库副本名称>”,然后单击“新建查询”以打开新的查询编辑器窗口。

  3. 在新的查询编辑器窗口中,输入下列命令,然后单击“执行”以便为需要访问站点数据库副本信息的站点系统创建数据库用户帐户。

    CREATE USER [<DOMAIN\COMPUTERNAME$>] FOR LOGIN [<DOMAIN\COMPUTERNAME$>] WITH DEFAULT_SCHEMA=[dbo]
    

    备注

    <域\计算机名称> 应该替换为需要访问站点数据库副本信息的站点服务器计算机帐户的域名和计算机名称。

向合适的数据库角色添加站点系统数据库用户帐户

在 Configuration Manager 2007 主站点安装期间以及向站点添加新的站点系统时,站点系统的计算机帐户会根据需要自动添加到合适的数据库角色。当将 SQL Server 数据库配置为宿主站点数据库的副本时,您必须手动授予这些安全权限。

向合适的数据库角色添加站点系统数据库用户帐户

  1. 在 SQL Server 2005 SQL Server Management Studio 控制台中,导航到 <站点数据库副本名称>

  2. 右键单击“<站点数据库副本名称>”,然后单击“新建查询”以打开新的查询编辑器窗口。

  3. 在新的查询编辑器窗口中,输入下列命令,然后单击“执行”以便向合适的数据库角色添加站点系统数据库用户帐户。

    EXEC sp_addrolemember '<dbrole name>' , '<dbuser name>'
    

    备注

    使用 smsdbrole_MP、smsdbrole_DMP 或 smsdbrole_SLP 替换 <数据库角色名称><数据库用户名称> 必须是为宿主管理点、设备管理点或服务器定位器点站点系统角色的站点系统创建的数据库用户的名称。

另请参阅

其他资源

如何配置 SQL Server 站点数据库复制