当前位置:Gxlcms > 数据库问题 > (4.19)SQL server 2008一些常见配置之一(基本配置,权限配置、远程访问配置和内存配置。)

(4.19)SQL server 2008一些常见配置之一(基本配置,权限配置、远程访问配置和内存配置。)

时间:2021-07-01 10:21:17 帮助过:21人阅读

 

(二)角色解释

      SQL server角色管理是很大的一门学问,靠简单几句话无法完全解释清楚,下面对主要内容做一个提炼便于阅读。

服务器级别角色官方资料:

https://docs.microsoft.com/zh-cn/sql/relational-databases/security/authentication-access/server-level-roles?view=sql-server-2017

数据库级别角色官方资料:

https://docs.microsoft.com/zh-cn/sql/relational-databases/security/authentication-access/database-level-roles?view=sql-server-2017

 

先说查看步骤:

第一个办法:通过界面查看

技术分享图片

技术分享图片

 

第二个办法:通过脚本查看

需要查看具体角色所拥有的权限,可以使用sp_srvrolepermission系统存储过程来查看(如果输入参数将显示所有角色):

sp_srvrolepermission
sp_srvrolepermission ‘dbcreator‘

技术分享图片

技术分享图片

 

下面逐一对相关角色做个简单说明

1.固定服务器角色

服务器角色是指对整个SQL server服务器进行管理的角色,是覆盖在数据库(即实例)之上的权限。

(1)bulkadmin:允许大批量数据插入权限(可执行 BULK INSERT 语句),比如读取csv、txt中的数据。

(2)dbcreator:创建和修改数据库

(3)diskadmin:顾名思义,专门针对磁盘文件进行管理的权限

(4)processadmin:专门管理SQL Server进程的权限,包括可以KILL进程

(5)public:每个登录账户都默认拥有这个角色

(6)securityadmin:管理登录、建立和删除数据库、阅读审计权限

(7)serveradmin:对服务器进行设置的权限

(8)setupadmin:允许添加、删除链接服务器,也就是我们将要说到的外部接口配置

(9)sysadmin:最高权限,可执行SQL Server任何动作,包含了上述所有权限。如果是个人使用的话,就都选上吧,特别是这个角色。

 

2.固定数据库角色

数据库角色是指对特定数据库(即实例)进行管理的角色,如对数据库具有备份、增、删、改等权限。

(1)db_accessadmin:添加、删除用户、组的角色

(2)db_backoperator:备份数据库的角色

(3)db_datareader:读取数据库任何表的数据(也可以理解成只读权限)

(4)db_datawriter:可以对数据库表进行增、删、改数据的角色

(5)db_ddladmin:可以执行任何DDL语句的角色

(6)db_denydatareader:禁止读取任何表数据(但可以通过执行存储过程查来读取)

(7)db_denydatawriter:禁止修改任何表数据(但可以通过执行存储过程查来修改)

(8)db_owner:最高权限,数据库拥有者,可执行任何操作(类似服务器角色sysadmin)

(9)db_securityadmin:允许更改数据库的权限和角色

(10)public:每个数据库用户都拥有public角色(类似服务器角色public)

 

3.用户自定义角色

不能定义服务器角色,只能定义具体的数据库角色。

技术分享图片

 

(三)特殊说明

1.sa登录是系统超级管理员,永远是拥有服务器最高角色syadmin,并且不能从该角色中被删除。

2.每个登陆数据库用户都拥有服务器角色public、数据库角色public,属于默认权限,并且不能从该角色中被删除。

3.可以使用如下系统存储过程对用户或角色进行配置(非界面化操作)

sp_addapprole
sp_addrole
sp_addrolemember
sp_approlepassword
sp_changeobjectowner
sp_dropapprole
sp_droprole
sp_droprolemember
sp_dropuser
sp_grantdbaccess

 

 

 

二、远程访问配置(网络配置)

 

      下面介绍如何通过其他电脑访问该SQL server服务器的方法(即多人同时使用同一台SQL server服务器)。

 

(一)设置登陆模式

    服务器->右键->属性

技术分享图片

 

      “服务器验证方式”下选择“SQL Server和Windows身份验证模式

技术分享图片

      “连接”勾选“允许远程连接此服务器

技术分享图片

     确定->退出。

 

(二)针对具体用户进行登陆授权

技术分享图片

 

    “状态”选择“连接到数据库”为“授予”,“登录”为“启用”

技术分享图片     确定->退出。

 

(三)开启TCP/IP协议

 

      Microsoft SQL Server 2008->配置工具->SQL Server 配置管理器

技术分享图片

 

      SQL Server网络配置->MSSQLSERVER 的协议->(右侧)TCP/IP->启用

      其中,MSSQLSERVER为要远程访问的数据库(即实例)。

技术分享图片

 

    双击(或属性),进行端口设置,默认为1433

技术分享图片

 

重启SQL server服务,使之生效。

技术分享图片

 

(四)防火墙设置:如果服务器有防火墙的话,请将SQLServr.exe添加到允许列外的列表中。允许SQL Server 的 1433 TCP端口和1434 UDP端口对外连接。

 

(以下为windows2008防火墙设置办法)

技术分享图片

 

技术分享图片

找到SQL server可执行文件:sqlservr.exe

例如:

C:\Program Files\Microsoft SQL Server\MSSQL10_50.MSSQLSERVER\MSSQL\Binn\sqlservr.exe

注:上述可执行文件路径可能会根据 SQL Server 2008 的安装位置而不同。

技术分享图片

      最后点【添加】。

 

(五)检验

 

1.检查网络:使用另外一台电脑通过tcping工具(带端口的ping工具,非win系统自带,请到百度搜索并下载)检查服务器端口是否打开,比如服务器IP为192.168.1.100 则在dos窗口执行:

tcping 192.168.1.100 1433

输出结果

技术分享图片

 

2.确保网络通畅后,尝试连接数据库,服务器名称输入对端服务器IP(或名称,必须可通过DNS解析为具体IP),身份验证选择:SQL server身份验证。

技术分享图片

 

3.登陆成功提示。

技术分享图片

 

 

三、内存配置

 

      SQL server 2008在日常使用中,经常莫名其妙内存被用光,导致系统特别卡顿。

 

(一)解决这个问题具体请参详技术大神博客。

1.SQL SERVER排查CPU占用高的情况

https://www.cnblogs.com/lyhabc/archive/2013/06/12/3133273.html

2.SQL Server 2008 R2占用内存越来越大两种解决方法

https://blog.csdn.net/enweitech/article/details/49814133

 

3.临时解决办法(重启服务)

net stop sqlserveragent
net stop mssqlserver
net start mssqlserver
net start sqlserveragent

技术分享图片

 

(二)内存配置办法

技术分享图片

 

      建议预留一定的系统内存空间用于其他程序,这样就不至于被SQL server吃完所有内存。

技术分享图片

 

(三)查看办法

 

      在【活动和监控器】中对服务器的内存进行监控和占用大资源SQL进行查看。

技术分享图片

 

技术分享图片

 

(4.19)SQL server 2008一些常见配置之一(基本配置,权限配置、远程访问配置和内存配置。)

标签:情况   server进程   must   mcs   覆盖   简单   不能   dom   jpeg   

人气教程排行