我需要对所有数据库(具有相同架构)运行查询,问题是这些是弹性池中的Azure数据库。我读到可以使用SQL Management Studio中的“中央管理服务器”功能来完成此操作,但是我已经安装了最新版本18.3,但是当我尝试在“中央管理服务器”下扩展Azure SQL服务器时,出现以下错误:] >
Azure SQL数据库不能用作中央管理服务器
我尝试对所有数据库运行的查询类型如下,在本地SQL Server实例上可以正常运行,但在Azure SQL Server上不能运行。
SET NOCOUNT ON;
IF OBJECT_ID (N'tempdb.dbo.#temp') IS NOT NULL
DROP TABLE #temp
CREATE TABLE #temp
(
[COUNT] INT
, DB VARCHAR(50)
)
DECLARE @TableName NVARCHAR(50)
SELECT @TableName = '[dbo].[CustomAttributes]'
DECLARE @SQL NVARCHAR(MAX)
SELECT @SQL = STUFF((
SELECT CHAR(13) + 'SELECT ''' + name + ''', COUNT(1) FROM [' + name + '].' + @TableName + 'WHERE dataType = 2'
FROM sys.databases
WHERE OBJECT_ID('[' + name + ']' + '.' + @TableName) IS NOT NULL
FOR XML PATH(''), TYPE).value('.', 'NVARCHAR(MAX)'), 1, 1, '')
INSERT INTO #temp (DB, [COUNT])
EXEC sys.sp_executesql @SQL
SELECT *
FROM #temp t
我需要对所有数据库(具有相同架构)运行查询,问题是这些是弹性池中的Azure数据库。我读到,可以使用“中央管理...