我想使用SQSH删除一个远程sql服务器DB。我试过两种方法;
第一种方法是在自动更改关闭的情况下将DB设置为脱机。
sqsh -h -S databaseHost -D master -U USER -P PASS -C "ALTER DATABASE ${TARGETDB} set OFFLINE WITH ROLLBACK IMMEDIATE; DROP DATABASE ${TARGETDB}"这一结果
Error: 615, Severity: 21, State: 1. Could not find database ID 9356, name '9356'第二条路
sqsh -h -S databaseHost -D master -U USER -P PASS -C "ALTER DATABASE ${TARGETDB} set SINGLE_USER WITH ROLLBACK IMMEDIATE; DROP DATABASE ; DROP DATABASE ${TARGETDB}"这很好,但是如果没有其他人正在连接/尝试连接到DB,则会导致
The database is in single-user mode, and a user is currently connected to it. 第二种方法应该很好,因为我将它设置为单个用户,并将它放在同一个连接中,或者它应该是相同的连接,知道如何解决这个问题吗?
发布于 2020-03-25 13:54:21
您尝试DROP ..数据库的方式有多个问题。
要克服这些问题,您可能需要执行以下操作:
总之,如下所示:
ALTER DATABASE SET OFFLINE WITH ROLBACK IMMEDIATE
GO
ALTER DATABASE SET ONLINE
GO
ALTER DATABASE SET RESTRICTED_USER
GO
DROP DATABASE
GO现在,sqsh取代了Sybase的isql命令提示符可执行文件。因此,可能有一些原因可以解释为什么这将不适用于Server (正如您的标记所建议的)。
https://dba.stackexchange.com/questions/262664
复制相似问题