如何重新获得对 SQL Cloud Platform 中其他用户创建的 SQL 服务器数据库的访问权限?
How to regain access to a SQL Server database created by another user in Google Cloud Platform?
我刚刚创建了一个新的 Google 云平台 SQL 服务器托管实例。以默认用户 (sqlserver) 身份登录后,我使用以下代码创建了一个新角色:
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 用户(这是一个测试环境)。
由于Google云平台不提供对"sysadmin"功能的访问权限,有没有办法重新获得对"newdb1"数据库的控制权?
我尝试创建具有足够权限修改数据库的服务器角色的所有尝试都失败了,因为标准 CustomerDbRootRole 没有足够的权限来执行此操作。我正在做测试环境,但我想知道如果生产环境出现问题我该怎么办。
鉴于一般情况下您不能对 Cloud SQL 使用超级权限[1],我认为最好的方法是确定创建数据库的用户是 root 用户并且永远不要删除它.
此外,我认为如果在生产中出现问题,您应该通过创建 PIT[2] 或创建案例[3] 联系 Google 云支持,看看他们能为您做些什么来放弃它数据库。
如果为了将来的业务需求,您需要在 SQL 服务器中拥有超级权限,您可能还想提出功能请求,例如 [4]
[1] https://cloud.google.com/sql/faq
[2] https://issuetracker.google.com/
[3] https://cloud.google.com/support/docs/manage-cases#creating_cases
我刚刚创建了一个新的 Google 云平台 SQL 服务器托管实例。以默认用户 (sqlserver) 身份登录后,我使用以下代码创建了一个新角色:
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 用户(这是一个测试环境)。
由于Google云平台不提供对"sysadmin"功能的访问权限,有没有办法重新获得对"newdb1"数据库的控制权?
我尝试创建具有足够权限修改数据库的服务器角色的所有尝试都失败了,因为标准 CustomerDbRootRole 没有足够的权限来执行此操作。我正在做测试环境,但我想知道如果生产环境出现问题我该怎么办。
鉴于一般情况下您不能对 Cloud SQL 使用超级权限[1],我认为最好的方法是确定创建数据库的用户是 root 用户并且永远不要删除它.
此外,我认为如果在生产中出现问题,您应该通过创建 PIT[2] 或创建案例[3] 联系 Google 云支持,看看他们能为您做些什么来放弃它数据库。
如果为了将来的业务需求,您需要在 SQL 服务器中拥有超级权限,您可能还想提出功能请求,例如 [4]
[1] https://cloud.google.com/sql/faq
[2] https://issuetracker.google.com/
[3] https://cloud.google.com/support/docs/manage-cases#creating_cases