Azure SQL Database如何创建只读用户,azure cost managementAzure SQL Database如何创建只读用户本文将介绍如何在Azure SQL Database创建只读用户。请先按照笔者之前的文章:Azure SQL Database(24)使用新管理界面,创建跨数据中心标准地域......
本文将介绍如何在Azure SQL Database创建只读用户。
请先按照笔者之前的文章:Azure SQL Database(24)使用新管理界面,创建跨数据中心标准地域复制(Standard GeoReplication)
预先准备以下内容:
1.在Azure China East数据中心,作为主站点。创建1个Database为MyDB。
2.在Azure China North数据中心,创建只读数据库。MyDB为只读数据库。
注意:我们在下图中创建的服务器管理员账户leizhang,是属于sysadmin。
3.当我们配置完服务器防火墙。访问主站点:leizhangsqlsvrsh.database.chinacloudapi.cn,输入相关的登录信息。
我们就可以访问上面创建的数据库了。
我们预先创建在MyDB数据库里,创建一个数据表:
CREATE TABLE dbo.newemployees(
[ID][int]IDENTITY(1,1)NOT NULL,
[firstname][nvarchar](50)NOT NULL,
[lastname][nvarchar](50)NOT NULL,
[gender][datetime]NOT NULL)
但是请注意上图中:服务器管理员账户leizhang,毕竟是属于sysadmin组的。
如果我们使用ETL抽取Azure SQL Database数据的时候,提供leizhang这个sysadmin组的用户是非常不安全的。
最安全的方式,是提供只读用户。
我们这里需要做两种只读用户:
1.在China East主站点,创建只读用户
2.在China North只读站点,创建只读用户
3.站点信息如下:
类型SQL Server Name物理位置DB Name定价层权限
主站点leizhangsqlsvrsh.database.chinacloudapi.cn China East MyDB Basic读写
异地复制站点leizhangsqlsvrbj.database.chinacloudapi.cn China North MyDB Basic只读
第一部分,我们在China East主站点:leizhangsqlsvrsh.database.chinacloudapi.cn,创建只读用户。
1.按照下面的信息登录:
Server Name:leizhangsqlsvrsh.database.chinacloudapi.cn
UserName:leizhang
password:略
注意,使用SQL Server Management Studio(SSMS),选择Options。
在Connection Properties,我们选择default。
2.在Master库下,右键New Query。如下图:
在Master库下,我们点击执行下面的TSQL语句:
创建新的Login readonlylogin并设置密码。
CREATE LOGIN readonlylogin WITH password=1231!#ASDF!a;
执行成功后,就可以在Logins里面,查看到新的readonlylogin。如下图:
3.如果我们需要在只读站点China North,创建只读用户,请在Master库下执行以下的语句:
否则请忽略步骤3.
SELECT[name],[sid]FROM[sys].[sqllogins]WHERE[typedesc]=SQLLogin
SELECT[name],[sid]FROM[sys].[databaseprincipals]WHERE[typedesc]=SQLUSER
执行结果,如下:
我们可以看到,readonlylogin账户的sid如上图的截图。这个sid我们在只读站点leizhangsqlsvrbj,创建只读账户会用到。
4.在MyDB库下,右键New Query。如下图:
在MyDB库下,我们点击执行下面的TSQL语句:
CREATE USER readonlyuser FROM LOGIN readonlylogin;
EXEC spaddrolememberdbdatareader,readonlyuser;
执行成功后,我们可以看到,在主站点:leizhangsqlsvrsh的数据库MyDB下,有新的用户reareadonlyuser。如下图:
5.然后新开启一个SSMS,以readonlylogin只读账户登录:
(1)Server Name:leizhangsqlsvrsh.database.chinacloudapi.cn
(2)User Name:readonlylogin
(3)Password:1231!#ASDF!a
注意Connection Properties,我们要选择MyDB。如下图:
6.以readonlylogin只读账户登录后,我们执行插入操作,会发现插入失败。如下图:
第二部分,我们在China North只读站点:leizhangsqlsvrbj.database.chinacloudapi.cn,创建只读用户。
1.我们以sysadmin账户,登录China North只读站点:
(1)Server Name:leizhangsqlsvrbj.database.chinacloudapi.cn
(2)User Name:leizhang
(3)Password:略
注意:在Connection Properties,我们选择default。
2.登录后,我们发现在只读站点:leizhangsqlsvrsh.database.chinacloudapi.cn的数据库MyDB下,已经把主站点的只读用户同步过来。如下图:
但是上图的蓝色区域里,logins只能leizhang这个sysadmin组的用户。并没有readonlylogin信息
3.我们在只读站点的Master库里,执行下面的TSQL语句
注意SID=后面没有单引号或者双引号
请把第一部分的,步骤3中的sid值复制过来
CREATE LOGIN readonlylogin WITH password=1231!#ASDF!a,SID=0x01060000000000640000000000000000EB29A4EE8E1A75459AAC0219BC67BB33
4.执行成功后,我们重新打开SQL Server Management Studio(SSMS)。登录只读站点eizhangsqlsvrbj,信息如下:
(1)Server Name:leizhangsqlsvrbj.database.chinacloudapi.cn
(2)User Name:readonlylogin
(3)Password:1231!#ASDF!a
注意:在Connection Properties的Database选择MyDB
特别声明:以上文章内容仅代表作者本人观点,不代表ESG跨境电商观点或立场。如有关于作品内容、版权或其它问题请于作品发表后的30日内与ESG跨境电商联系。
二维码加载中...
使用微信扫一扫登录
使用账号密码登录
平台顾问
微信扫一扫
马上联系在线顾问
小程序
ESG跨境小程序
手机入驻更便捷
返回顶部