Sql server 2008 为多个数据库创建登录
我需要创建一个新用户,然后设置两个不同数据库中不同表的权限。这是我创建用户的脚本Sql server 2008 为多个数据库创建登录,sql-server-2008,tsql,Sql Server 2008,Tsql,我需要创建一个新用户,然后设置两个不同数据库中不同表的权限。这是我创建用户的脚本 CREATE LOGIN [MyUser] WITH PASSWORD=N'something' , CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF GO CREATE USER [MyUser] FOR LOGIN [MyUser] WITH DEFAULT_SCHEMA=[dbo] GO CREATE ROLE MyRole AUTHORIZATION [dbo] GO EX
CREATE LOGIN [MyUser] WITH PASSWORD=N'something' , CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
CREATE USER [MyUser] FOR LOGIN [MyUser] WITH DEFAULT_SCHEMA=[dbo]
GO
CREATE ROLE MyRole AUTHORIZATION [dbo]
GO
EXEC sp_addrolemember N'MyRole', N'MyUser'
GO
现在我有两个数据库MyDb1和MyDb2。我需要授予此用户对MyDb1.Table1和MyDb2.Table2的select访问权。我需要先为MyDb1和MyDb2创建这个用户吗?如果是这样,如何实现这一点?
创建登录名
在整个SQL Server的上下文中,而创建用户
和创建角色
在每个数据库的上下文中。您将需要在MyDb1和MyDb2中创建用户和角色,并分别授予权限。试试这个
USE MASTER
GO
CREATE LOGIN [MyUser] WITH PASSWORD=N'something' , CHECK_EXPIRATION=OFF, CHECK_POLICY=OFF
GO
USE MyDb1
GO
CREATE USER [MyUser] FOR LOGIN [MyUser] WITH DEFAULT_SCHEMA=[dbo]
GO
CREATE ROLE MyRole AUTHORIZATION [dbo]
GO
EXEC sp_addrolemember N'MyRole', N'MyUser'
GO
GRANT SELECT ON dbo.Table1 TO MyRole
GO
USE MyDb2
GO
CREATE USER [MyUser] FOR LOGIN [MyUser] WITH DEFAULT_SCHEMA=[dbo]
GO
CREATE ROLE MyRole AUTHORIZATION [dbo]
GO
EXEC sp_addrolemember N'MyRole', N'MyUser'
GO
GRANT SELECT ON dbo.Table2 TO MyRole
GO