C# sql server由其他用户创建登录名和用户
我正在使用SQLServerExpress 2005。 我有一个数据库myDB 我已经在数据库myDB上创建了一个用户为U-1的登录名L-1 要连接数据库myDB,我找到了3种方法: -1(a)-在使用默认数据库=myDB创建L-1登录后,我必须创建一个用户U-1,当我连接到SQL server时,它将被连接 我使用了这个查询:C# sql server由其他用户创建登录名和用户,c#,.net,sql,sql-server,sql-server-2005,C#,.net,Sql,Sql Server,Sql Server 2005,我正在使用SQLServerExpress 2005。 我有一个数据库myDB 我已经在数据库myDB上创建了一个用户为U-1的登录名L-1 要连接数据库myDB,我找到了3种方法: -1(a)-在使用默认数据库=myDB创建L-1登录后,我必须创建一个用户U-1,当我连接到SQL server时,它将被连接 我使用了这个查询: create login L-1 with password='passL1' , default_database = myDB use myDB create
create login L-1 with password='passL1' , default_database = myDB
use myDB
create user U-1 for login L-1
这意味着,在登录名中创建用户时,会隐式授予用户连接权限。我说得对吗
-1(b)-我没有创建任何用户U-1,但执行了以下操作:
use myDB
sp_grantdbaccess L-1
这也让我连接起来,原因是sql在myDB数据库中隐式添加了一个名为L-1的用户。我说得对吗
-1(c)-这一次,我没有创建任何用户U-1,但我执行了以下操作:
sp_changedbowner L-1
这也让我连接起来,原因是sql在myDB数据库中隐式添加了一个名为L-1的用户。我说得对吗
现在,我想给在1(a)中创建的用户U-1以下权限:
如何做到这一点?是-调用
sp\u grantdbaccess
或sp\u changedbowner
只会隐式执行您通常使用创建用户时所做的操作-没有区别
显式调用CREATE USER
只会更清晰,更清楚地知道您在做什么等等
另外:不要再使用sp_grantdbaccess
,因为:
此功能将在一段时间内删除
Microsoft SQL的未来版本
服务器。避免在中使用此功能
新的开发工作,并计划
修改当前使用的应用程序
这项功能。改用createuser
资料来源:
也不要使用sp_changedbowner-原因相同:
此功能将在一段时间内删除
Microsoft SQL的未来版本
服务器。避免在中使用此功能
新的开发工作,并计划
修改当前使用的应用程序
这项功能。使用更改授权
相反
来源:是-调用sp_grantdbaccess
或sp_changedbowner
只会隐式执行您通常使用创建用户所做的操作
-没有区别
显式调用CREATE USER
只会更清晰,更清楚地知道您在做什么等等
另外:不要再使用sp_grantdbaccess
,因为:
此功能将在一段时间内删除
Microsoft SQL的未来版本
服务器。避免在中使用此功能
新的开发工作,并计划
修改当前使用的应用程序
这项功能。改用createuser
资料来源:
也不要使用sp_changedbowner-原因相同:
此功能将在一段时间内删除
Microsoft SQL的未来版本
服务器。避免在中使用此功能
新的开发工作,并计划
修改当前使用的应用程序
这项功能。使用更改授权
相反
来源:@sqlchild:大多数情况下都非常清楚地列出了所需的权限。使用MSDN!!它会告诉你:要创建登录名,你必须拥有更改任何登录名
权限-要创建或更新用户,你需要更改任何用户
@sqlchild:大多数时候都非常清楚地列出了所需的权限。使用MSDN!!它将告诉您:要创建登录,您必须拥有更改任何登录
权限-要创建或更新用户,您需要更改任何用户