Sql server 如何恢复对另一个用户在Google云平台上创建的SQL Server数据库的访问?
我刚刚创建了一个新的Google云平台SQL Server托管实例。作为默认用户(sqlserver)登录后,我使用以下代码创建了一个新角色:Sql server 如何恢复对另一个用户在Google云平台上创建的SQL Server数据库的访问?,sql-server,google-cloud-platform,google-cloud-sql,Sql Server,Google Cloud Platform,Google Cloud Sql,我刚刚创建了一个新的Google云平台SQL Server托管实例。作为默认用户(sqlserver)登录后,我使用以下代码创建了一个新角色: CREATE SERVER ROLE MyDBCreatorRole AUTHORIZATION CustomerDbRootRole Grant CONNECT SQL TO MyDBCreatorRole as CustomerDbRootRole Grant Create any database TO MyDBCreatorRole as Cus
CREATE SERVER ROLE MyDBCreatorRole AUTHORIZATION CustomerDbRootRole
Grant CONNECT SQL TO MyDBCreatorRole as CustomerDbRootRole
Grant Create any database TO MyDBCreatorRole as CustomerDbRootRole
然后我创建了一个新用户(dbcreatoruser),与新用户一起登录并创建了一个新数据库(newdb1)。标准sqlserver用户无法访问新数据库,因为它对新用户创建的数据库没有权限。
然后我删除了dbcreatoruser用户(这是一个测试环境)
既然谷歌云平台不允许访问“sysadmin”功能,有没有办法重新控制“newdb1”数据库
由于标准CustomerDbRootRole没有足够的权限修改数据库,因此我创建具有足够权限的服务器角色的所有尝试都失败了。我正在一个测试环境中工作,但我想知道如果生产环境出现问题,我该怎么办。鉴于您通常不能对云SQL使用超级权限[1],我认为最好的方法是确定创建数据库的用户是根用户,并且永远不要删除它 此外,我认为如果生产中出现问题,您应该联系谷歌云支持部门,创建一个PIT[2]或创建一个案例[3],看看他们能为您做些什么来删除该数据库 如果为了将来的业务需求,您需要在SQL Server中拥有超级权限,您可能还需要提出类似[4]的功能请求 [1] [2] [3]
[4] 考虑到一般情况下不能对云SQL使用超级权限[1],我认为最好的方法是确定创建数据库的用户是根用户,并且永远不要删除它 此外,我认为如果生产中出现问题,您应该联系谷歌云支持部门,创建一个PIT[2]或创建一个案例[3],看看他们能为您做些什么来删除该数据库 如果为了将来的业务需求,您需要在SQL Server中拥有超级权限,您可能还需要提出类似[4]的功能请求 [1] [2] [3]
[4] 谢谢。我想我将尝试通过提供一个存储过程来解决这个问题,该存储过程可供创建数据库的特定用户集访问,并自动将sqlserver用户添加为db_owner谢谢。我想我将尝试通过提供一个存储过程来解决这个问题,该存储过程可供创建数据库的特定用户集访问,并自动将sqlserver用户添加为db_所有者