Skip to main content
 Web开发网 » 数据库教程

如何设置SQL Server的服务帐户使之能够访问网络资源

2021年08月11日6960百度已收录

  的服务帐户设置正确的安全权限。

  目前,SQL Server 2005、2008和2008 R2的服务帐户支持以下几种:

  Domain User 帐户

  Local User 帐户

  Local System 帐户(内置)

  Network Service 帐户

  (内置)

  以上四种帐户类型中,只有Local User帐户不能访问网络资源,因为它只能被本地计算机识别。对于域帐户来说,它使用它的域帐户名和密码访问网络资源。但是,对于内置的Local System和Network Service帐户而言,它们使用计算机帐户(DomainName\ComputerName$)访问网络资源。

  以下是一些实例:

  实例 1:

  假如在域环境,Domain01中,我们在一台服务器,SrvSQL01上有一个SQL Server实例。这个实例运行在Local System帐户下,我们需要把一个数据库备份到一个远程文件共享服务器(SrvFileShare01)的

  \\SrvFileShare01\SQLServer\Backups

  共享文件目录下。为了能够正确的完成数据库备份操作,我们需要完成以下的步骤:

  1.

  确保执行备份操作的数据库用户有该数据库上的备份权限。想了解更多关于备份数据库权限的信息,请参加SQL Server在线文档。

  2.

  因为SQL Server运行在Local System内置帐户下,所以它以运行SQL Server的计算机帐户访问网络资源。因此我们必须把这个远程共享文件目录(\\SrvFileShare01\SQLServer\Backups)上的Write(写)权限授予运行SQL Server的计算机帐户(Domain01\SrvSQL01$)。

  3.

  完成以上步骤,我们应该可以成功的在SQL Server上执行备份操作。

  实例 2:

  我们有二个SQL Server 2008实例分别位于不同的服务器上,SrvSQL01和SrvSQL02,2 个服务器实例运行在Network Service内置系统帐户。在这个实例中,我们需要在这二台数据库实例上部署数据库镜像。对于数据库镜像,我们可以使用Windows身份认证用于网络连接或者使用证书用于入站和出站连接部署一个数据库镜像会话。在这个实例中,我们使用Windows身份认证并且按照以下以步骤完成部署:

  1.

  根据以下的SQL Server在线文档建立一个数据库镜像会议:如何建立使用 Windows 身份验证的数据库镜像会话 (Transact-SQL)。

  2.

  在数据库镜像中,二台SQL Server服务器(或三台服务器如果使用的witness服务器)使用SQL Server服务帐户基于endpoint(端点)进行通信,因此我们需要确保SQL Server的服务器帐户具有彼此服务器端点上的CONNECT权限。如我们前面所说,Network Service内置系统帐户使用计算机帐户访问网络资源,因此我们需要把彼此的服务器计算机帐户作为SQL Server用户添加到SQL Server中,并且把数据库镜像endpoint(端点)上的CONNECT权限授予这个用户。你可以参考以下T-SQL代码:

  -- 运行下面的T-SQL代码添加数据库镜像伙伴的算机帐户作为SQL Server用户添加到SQL Server中,并且把数据

  -- 库镜像endpoint(端点)上的CONNECT权限授予这个用户。

  -- 该代码运行在SrvSQL02服务器上.

  USE master;

  GO

  CREATE LOGIN [Domain01\SrvSQL01$] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english];

  GO

  GRANT CONNECT ON ENDPOINT::[MirroringEndpoint] TO [Domain01\SrvSQL01$];

  GO

  如果配置了witness(见证服务器),我们还需要在这台服务器上运行相似的代码添加。此外,我们需要在另外一个数据库镜像伙伴和见证服务器(如果配置了)。

  参考文档:

  设置 Windows 服务帐户

  

  设置数据库镜像

  

  更多专业技术指导,请登录青大实训南京鼓楼校区

评论列表暂无评论
发表评论
微信