设置sql server登录方式
- 格式:docx
- 大小:76.19 KB
- 文档页数:2


sqlserver2008数据库管理系统使⽤SQL语句创建登录⽤户步骤详解废话不多说了,直接给⼤家贴代码了,具体代码如下所⽰:--服务器⾓⾊:--固定服务器⾓⾊具有⼀组固定的权限,并且适⽤于整个服务器范围。
它们专门⽤于管理 SQL Server,且不能更改分配给它们的权限。
--可以在数据库中不存在⽤户帐户的情况下向固定服务器⾓⾊分配登录。
--按照从最低级别的⾓⾊(bulkadmin)到最⾼级别的⾓⾊(sysadmin)的顺序进⾏描述:--1、Bulkadmin:这个服务器⾓⾊的成员可以运⾏BULKINSERT语句。
这条语句允许从⽂本⽂件中将数据导⼊到SQLServer 2008数据库中,-- 为需要执⾏⼤容量插⼊到数据库的域账户⽽设计。
--2、Dbcreator:这个服务器⾓⾊的成员可以创建、更改、删除和还原任何数据库。
这不仅是适合助理DBA的⾓⾊,-- 也可能是适合开发⼈员的⾓⾊。
--3、Diskadmin:这个服务器⾓⾊⽤于管理磁盘⽂件,⽐如镜像数据库和添加备份设备。
它适合助理DBA。
--4、Processadmin:SQLServer 2008能够多任务化,也就是说可以通过执⾏多个进程做多个事件。
-- 例如,SQLServer 2008可以⽣成⼀个进程⽤于向⾼速缓存写数据,同时⽣成另⼀个进程⽤于从⾼速缓存中读取数据。
-- 这个⾓⾊的成员可以结束(在SQLServer 2008中称为删除)进程。
--5、Securityadmin:这个服务器⾓⾊的成员将管理登录名及其属性。
他们可以授权、拒绝和撤销服务器级权限。
-- 也可以授权、拒绝和撤销数据库级权限。
另外,它们可以重置SQLServer 2008登录名的密码。
--6、Serveradmin:这个服务器⾓⾊的成员可以更改服务器范围的配置选项和关闭服务器。
-- 例如SQLServer 2008可以使⽤多⼤内存或监视通过⽹络发送多少信息,或者关闭服务器,这个⾓⾊可以减轻管理员的⼀些管理负担。
SQL server开启TCP/IP登录,并且启用默认的1433端口
SQL server开启TCP/IP登录,并且启用默认的1433端口
前提:右键数据库属性,配置安全性->SQLserver用户和windows用户验证模式
并且设置远程访问的用户名,默认是sa(安全性-》用户名-》sa->设置登录密码并且把登录设置成启用)
1、打开数据库文件夹->找到配置工具->configuration manager
2、网络配置->点击MSsqlserver->右键TCP/IP属性
3、选择IP地址进行修改
4、把端口号打开,改为1433(便于别的电脑用你的ip访问你的数据库)
5、配置完成后可以在native client中查看是否成功
6、在配置工具中选择外围应用配置(也就是打开name/IP登录)
7、选择外围应用服务器配置
8、设置数据库的远程控制->设定为ip和命名过的管道登录
9、重启,使用ip+sqlserver用户登录,OK,设置成功了。
一、用sql 语句管理sql server 登录帐户1、映射windows登录帐户为sql server登录帐户格式:sp_grantlogin [2xs12\hzy]2、管理sql server 登录帐户格式:sp_addlogin “wh”,”123”,”hy”新建一个登录用户wh,密码123,默认数据库hy 例:sp_addlogin'whh','123','lx'---这时无法用whh登录SQL SERVER ,原因没有权限。
Sp_addsrvrolemember'whh','sysadmin'或create login wh with password=‟123‟,default_database=hy,default_language=us_engilish3、修改sql server 登录帐号的属性Sp_password '1','123','r'将登录账户r的密码由1改为123例:Sp_password'123','1','whh'4、删除登录帐号Sp_droplogin r二、用sql 语句管理数据库用户1、用create userUse studentCREA TE USER WH2 FOR LOGIN WH2 WITH DEFAULT_SCHeMa=WW例:CREATE USER WH2 FOR LOGIN whh WITH DEFAULT_SCHeMa=WWcreate table ww.st(sno char(2),sname char(6))create table pp.st(sno char(2),sname char(6))—架构PP不存在,则提示不能建立2、用sp_grantdbaccesssp_grantdbaccess为当前数据库中添加一个安全帐户,并使其能够被授予在数据库中执行活动的权限。
一、配置sql server管理器,开启TCP/IP协议和Named Pipes登录方式,配置1433端口1、右键属性,启用上述协议,改为Enabled2、右键TCP/IP属性,选择IP地址,在IPall配置1433端口3、在配置工具中选择外围应用配置(也就是打开name/IP登录)4、选择外围应用服务器配置5、设置数据库的远程控制->设定为ip和命名过的管道登录6、重启sql server服务二、创建测试帐号和限制IP(本机IP为192.168.1.48)--Script1:创建test登录账号和密码CREATE LOGIN test WITH PASSWORD = '12345@Test' GOCREATE TRIGGER [tr_connection_limit]ON ALL SERVER WITH EXECUTE AS 'sa'FOR LOGONASBEGIN--限制test这个帐号的连接IF ORIGINAL_LOGIN()= 'test'--允许test在本机和下面的IP登录AND(SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]', 'NVARCHAR(15)'))NOT IN('<local machine>','192.168.1.50','192.168.1.120')ROLLBACK;END;上述步骤完成后可实现192.168.1.X的IP登录--Script2:返回登录信息,可用来在MASTER.sys.dm_exec_sessions查看登录信息(本步骤可不用)SELECTa.[session_id],a.[login_time],a.[host_name],a.[original_login_name],b.[client_net_address]FROM MASTER.sys.dm_exec_sessions aINNER JOIN MASTER.sys.dm_exec_connections bON a.session_id=b.session_id(如果需要限制本机和指定IP登录可执行以下脚本,如果不需要,可不执行Script3)--Script3:创建测试数据库USE MASTERGOCREATE DATABASE Logon_DB--创建IP过滤表USE Logon_DBGOCREATE TABLE dbo.ValidIP (IP NVARCHAR(15),CONSTRAINT PK_ValidIP PRIMARY KEY CLUSTERED(IP) );GO--插入过滤IPUSE Logon_DBGOINSERT INTO dbo.ValidIP(IP) VALUES('<local machine>'); INSERT INTO dbo.ValidIP(IP) VALUES('192.168.1.195');--创建登录触发器CREATE TRIGGER [tr_logon_CheckIP]ON ALL SERVERFOR LOGONASBEGINIF IS_SRVROLEMEMBER('sysadmin') = 1BEGINDECLARE @IP NVARCHAR(15);SET @IP = (SELECT EVENTDATA().value('(/EVENT_INSTANCE/ClientHost)[1]','NVARCHAR(15)'));IF NOT EXISTS(SELECT IP FROM [Logon_DB].[dbo].[ValidIP] WHERE IP = @IP)ROLLBACK;END;END;三、现在使用用户名+IP可以实现远程访问sql server,但是测试账号test无法远程访问master数据库,需要额外配置test用户的权限,使用语句或手动配置均可以实现。