Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/80.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL server 2005-用户权限_Sql_Sql Server_Sql Server 2005_Tsql - Fatal编程技术网

SQL server 2005-用户权限

SQL server 2005-用户权限,sql,sql-server,sql-server-2005,tsql,Sql,Sql Server,Sql Server 2005,Tsql,我在SQLServer2005中创建了一个名为tuser的用户,该用户具有创建数据库的权限。 并将master的“db_owner”数据库角色和msdb数据库赋予tuser 当我运行CREATEDATABASE脚本时,它将从这个用户登录名创建新的数据库。 但tuser无法访问由脚本生成的新创建的数据库 有人知道吗?我想写这个脚本,这样tuser在创建新创建的数据库后就可以访问该数据库,并且可以对新创建的数据库拥有添加用户权限 我想将“db_owner”数据库角色赋予tuser,使其在新创建的数据

我在SQLServer2005中创建了一个名为tuser的用户,该用户具有创建数据库的权限。 并将master的“db_owner”数据库角色和msdb数据库赋予tuser

当我运行CREATEDATABASE脚本时,它将从这个用户登录名创建新的数据库。 但tuser无法访问由脚本生成的新创建的数据库

有人知道吗?我想写这个脚本,这样tuser在创建新创建的数据库后就可以访问该数据库,并且可以对新创建的数据库拥有添加用户权限


我想将“db_owner”数据库角色赋予tuser,使其在新创建的数据库上使用与创建新数据库相同的脚本。脚本在“tuser”下运行。

将securityadmin服务器角色授予[tuser]

securityadmin的成员已修复 服务器角色管理登录及其权限 财产。他们可以同意、拒绝和拒绝 撤消服务器级权限。他们 也可以授予、拒绝和撤销 数据库级权限。 此外,它们还可以重置密码 用于SQL Server登录

将securityadmin服务器角色授予[tuser]

securityadmin的成员已修复 服务器角色管理登录及其权限 财产。他们可以同意、拒绝和拒绝 撤消服务器级权限。他们 也可以授予、拒绝和撤销 数据库级权限。 此外,它们还可以重置密码 用于SQL Server登录

每个数据库都有一个可以 在现场进行特殊活动 数据库所有者是指 创建数据库。数据库 可以使用更改所有者 sp_changedbowner Transact-SQL

所以tuser应该已经拥有数据库了

但是,您可以将tuser设置为模型db中的db_所有者,该模型db用作每个db创建的模板

顺便说一句,为什么要让tuser成为master和msdb的所有者

每个数据库都有一个可以 在现场进行特殊活动 数据库所有者是指 创建数据库。数据库 可以使用更改所有者 sp_changedbowner Transact-SQL

所以tuser应该已经拥有数据库了

但是,您可以将tuser设置为模型db中的db_所有者,该模型db用作每个db创建的模板


顺便说一句,为什么要让tuser成为master和msdb的所有者?

如果tuser没有访问新数据库的权限,这意味着它不是所有者。不能拒绝数据库所有者访问其自己的数据库

CREATEDATABASE语句是什么样子的?您是否有任何授权条款会更改新数据库的数据库所有权? 谁是新数据库的实际所有者?选中从sys.databases中选择名称、SUSER\u SNAMEowner\u sid;
如果tuser没有访问新数据库的权限,则表示它不是所有者。不能拒绝数据库所有者访问其自己的数据库

CREATEDATABASE语句是什么样子的?您是否有任何授权条款会更改新数据库的数据库所有权? 谁是新数据库的实际所有者?选中从sys.databases中选择名称、SUSER\u SNAMEowner\u sid; 谢谢你的意见

我已授予tuser从新创建的数据库ehich访问数据库的权限。 现在问题解决了

非常感谢。

谢谢您的意见

我已授予tuser从新创建的数据库ehich访问数据库的权限。 现在问题解决了


非常感谢。

我想用创建新数据库的相同脚本在新创建的数据库上为tuser提供“db_owner”数据库角色。脚本在“tuser”下运行。在您的脚本上,在创建DB后:使用[yourdb]GO CREATE USER[tuser]登录[tuser]GO EXEC sp_addrolemember N'DB_owner',N'tuser'在您的脚本上,在创建DB后:使用[yourdb]GO CREATE USER[tuser]登录[tuser]GO EXEC sp_addrolemember N'DB_owner',N'tuser'如上所述,当我使用tuser运行USE[yourdb]时,您已经编写了语句USE[yourdb],当时我遇到了错误。因为tuser对主数据库和msdb数据库具有DBcreator服务器角色访问权和db_所有者访问权。您可以发布完整的脚本吗。如果在tuser登录下创建数据库。它应该已经有db_owner权限。我想用创建新数据库的相同脚本在新创建的数据库上为tuser提供“db_owner”数据库角色。脚本在“tuser”下运行。在您的脚本上,在创建DB后:使用[yourdb]GO CREATE USER[tuser]登录[tuser]GO EXEC sp_addrolemember N'DB_owner',N'tuser'在您的脚本上,在创建DB后:使用[yourdb]GO CREATE USER[tuser]登录[tuser]GO EXEC sp_addrolemember N'DB_owner',N'tuser'如上所述,当我使用tuser运行USE[yourdb]时,您已经编写了语句USE[yourdb],当时我遇到了错误。因为tuser对主数据库和msdb数据库具有DBcreator服务器角色访问权和db_所有者访问权。您可以发布完整的脚本吗。如果在tuser登录下创建数据库。它应该已经有db_所有者权限。我已授予访问权限
“db_Owner”的数据库角色,以便tuser也对db建模,即使它不工作。它将与db_Owner一起工作。这是db_所有者的观点。您会遇到什么错误?我已经为tuser授予了“db_Owner”数据库角色的访问权,使其也可以访问模型db,即使它不工作。它将与db_Owner一起工作。这是db_所有者的观点。你会犯什么错误?