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

Posted gered

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了(4.19)SQL server 2008一些常见配置之一(基本配置,权限配置远程访问配置和内存配置。)相关的知识,希望对你有一定的参考价值。

本系列转自一至4转自:甲子黎叔个人公众号,文章系列

SQL server 2008一些常见配置之一(基本配置)

      SQL server服务器配置主要有:权限配置、远程访问配置(网络配置)、内存配置、接口配置、SSRS报表服务器配置等,今天一起学习最基本的配置:权限配置、远程访问配置和内存配置

 

实操环境:

操作系统:windows2008

SQL server服务器:Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (X64)   Apr  2 2010 15:48:46   Copyright (c) Microsoft Corporation  Enterprise Edition (64-bit) on Windows NT 6.1 <X64> (Build 7601: Service Pack 1) (Hypervisor) 

 

 

一、权限配置

 

      当涉及到多人使用同一个数据库的时候,为了更好的管理数据库,将人员分类并给分别分配不同账户显得特别必要。

 

(一)增加账户办法

1.新增用户

可以直接在【安全性-登录名】增加,也可以到具体数据库(即实例)下增加。

技术分享图片

2.基本配置

技术分享图片

 

3.服务器角色配置

技术分享图片

 

4.数据库角色配置(用户映射)

技术分享图片

技术分享图片

   

技术分享图片

 

技术分享图片

 

5.登陆允许

技术分享图片

 

6.查看建立账户的后台脚本

技术分享图片

以查看到具体的执行脚本

技术分享图片

USE [master]
GO
CREATE LOGIN [lidw3] WITH PASSWORD=N‘lidw3‘ MUST_CHANGE, DEFAULT_DATABASE=[SSMISDIYDB], DEFAULT_LANGUAGE=[简体中文], CHECK_EXPIRATION=ON, CHECK_POLICY=ON
GO
EXEC master..sp_addsrvrolemember @loginame = N‘lidw3‘, @rolename = N‘sysadmin‘
GO
USE [SSMISDIYDB]
GO
CREATE USER [lidw3] FOR LOGIN [lidw3]
GO
USE [SSMISDIYDB2]
GO
CREATE USER [lidw3] FOR LOGIN [lidw3]
GO

 

(二)角色解释

      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 FilesMicrosoft SQL ServerMSSQL10_50.MSSQLSERVERMSSQLBinnsqlservr.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一些常见配置之一(基本配置,权限配置远程访问配置和内存配置。)的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 索引最佳实践(SQL Server 2008)[关闭]

SQL Server 2008 SP2

如何安装sql server 2008 r2

SQL Server 2008 到 SQL Server Compact Edition?

Sql Server 2008 MERGE - 获取计数的最佳方式

TSQL:如何将本地时间转换为 UTC? (SQL Server 2008)