开发者

Drop multiple databases in SQl Azure

开发者 https://www.devze.com 2023-03-21 18:16 出处:网络
I would like to run a script to drop the multiple databases from SQL Azure as soon I finish using it. When I tried as following,

I would like to run a script to drop the multiple databases from SQL Azure as soon I finish using it. When I tried as following,

     DECLARE  @dbname varchar(100);
     DECLARE  @stmt nvarchar(3000);
     SET  @dbname = '6A732E0B';

     SELECT @stmt = (SELECT 'DROP DATABASE [' + name + ']; ' FROM sys.databases
     WHERE name LIKE '%' +@dbname +'%');
     EXEC sp_executesql @stmt;

SQL Azure throws error message as “The DROP DATABASE statement must be the only statement in the batch” Can someb开发者_如何学Goody help me on this?


This is a known limitation in SQL Azure - certain statements need to be in a batch by themselves to be executed. This includes CREATE/ALTER DATABASE, ALTER DATABASE and a few more.

To solve you problem, you can create a loop in you application where you iterate over all the databases and drop them by issuing DROP DATABASE statements in separate batches.


I believe this is a bug of SQL Azure. I've recently reported it to Microsoft: https://connect.microsoft.com/SQLServer/feedback/details/684160/sp-executesql-the-drop-database-statement-must-be-the-only-statement-in-the-batch

0

精彩评论

暂无评论...
验证码 换一张
取 消