首先创建一个测试数据库
CREATE DATABASE tmp_db
1. 创建登陆用户 create login
CREATE login [’{KaTeX parse error: Expected 'EOF', got '}' at position 8: 要创建的用户名}̲'] WITH passwor…密码}’, default_database= ‘{$数据库名}’
USE DATABASE [tmp_db]
CREATE login [readonly_tmp_db] WITH password = 'OwsdpfU4', default_database= tmp_db
登陆帐户名为:「readonly_tmp_db」,登陆密码:「OwsdpfU4」,默认连接到的数据库:「tmp_db」。 这时候,「readonly_tmp_db」 帐户就可以连接到 SQL Server 服务器上了。但是此时还不能访问数据库中的对象。严格的说,此时readonly_tmp_db帐户默认是guest 数据库用户身份,可以访问 guest 能够访问的数据库对象。
2. 创建数据库用户 create user
CREATE USER [’{KaTeX parse error: Expected 'EOF', got '}' at position 8: 要创建的用户名}̲'] FOR login ['…要创建的用户名}’] WITH default_schema = ‘{$schema}’
CREATE USER [readonly_tmp_db] FOR login [readonly_tmp_db] WITH default_schema = dbo
3. 赋予权限(所有表)
GRANT SELECT,UPDATE,INSERT,DELETE TO ‘{$用户名}’
GRANT SELECT,UPDATE,INSERT,DELETE TO readonly_tmp_db
4. 赋予权限(指定表)
GRANT SELECT,UPDATE,INSERT,DELETE ON ‘{KaTeX parse error: Expected 'EOF', got '}' at position 3: 表名}̲' TO '{用户名}’
GRANT SELECT,UPDATE,INSERT,DELETE ON T_DEMO TO readonly_tmp_db
5. 删除数据库用户
drop user ‘{$用户名}’
drop user readonly_tmp_db
6. 删除登陆用户
drop login ‘{$用户名}’
drop login readonly_tmp_db