1

この回答のコードを使用して、SQLAzureデータベースの最大サイズをクエリしようとしています。

SELECT CONVERT(BIGINT, DATABASEPROPERTYEX('DatabaseOfInterestName', 'MaxSizeInBytes')) / 1024

問題は、そこにデータベース名を渡す必要があることです。このコードは、本番環境での使用、自動ビルド、テスト用にさまざまな構成を持つWindows Azureアプリケーションで必要であり、各構成で独自のデータベースを使用するため、データベース名をそのSQLクエリに渡す必要があります。私のコードの余分な配線。

DATABASEPROPERTYEX()データベース名を明示的に指定せずに、「現在のデータベースから」プロパティを照会するように指示する方法はありますか?

4

2 に答える 2

2

関数はあなたDB_NAME()の仕事をしますか?

SELECT CONVERT(BIGINT, DATABASEPROPERTYEX(DB_NAME(), 'MaxSizeInBytes')) / 1024
于 2012-07-06T09:44:41.783 に答える
2

いいえ、はい。いいえ、DATABASEPROPERTYEX で現在のデータベースを使用することはできません。

しかし、現在のデータベースを取得する SQL があります ;)

http://blog.sqlauthority.com/2008/02/12/sql-server-get-current-database-name/

答えは次のとおりです。

SELECT DB_NAME() AS データベース名

;)

DB_NAME() を DATABASEPROPERTYEX への入力として使用します。

于 2012-07-06T09:49:07.977 に答える