Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Stored procedures

Última atualização: Jul 04, 2026

Este tópico lista os stored procedures disponíveis para instâncias do ApsaraDB RDS for SQL Server com SQL Server 2012 ou posterior.

Uso

Os comandos deste tópico destinam-se ao SSMS e usam GO como separador de lotes. Se você executar comandos de stored procedure no DMS, não inclua a palavra-chave GO, pois isso causará um erro.

Atualizar estatísticas do banco de dados

Comando T-SQL

sp_rds_update_db_stats

Descrição

Atualiza as estatísticas do banco de dados de forma flexível e eficiente. Permite configurar parâmetros como taxa de amostragem, grau de paralelismo, tempo limite e limiar de modificação.

Uso

-- This is a comprehensive example that includes multiple parameters.
-- Update database statistics for the test_db database. Set the sampling rate to 50%, the degree of parallelism to 4, the timeout to 7,200 seconds, and the modification threshold to 3.
EXEC sp_rds_update_db_stats        
    @db_name = 'test_db',          -- Database name (required)
    @sample_percent = 50,          -- Sampling rate (optional)
    @max_dop = 4,                  -- Degree of parallelism (optional, not supported in SQL Server 2012 and earlier)
    @timeout_seconds = 7200,       -- Timeout in seconds (optional)
    @modification_threshold = 3;   -- Modification threshold (optional)
Nota

Se você especificar apenas o parâmetro @db_name ou estiver usando o SQL Server 2008, o sistema executará o stored procedure sp_updatestats por padrão. Para obter mais informações, consulte a documentação oficial da Microsoft.

Parâmetro

Obrigatório

Descrição

@db_name

Sim

Especifica o banco de dados cujas estatísticas serão atualizadas. Exemplo:

-- Specify only the database name. The update follows the logic of Microsoft's sp_updatestats.
EXEC sp_rds_update_db_stats @db_name = 'test_db';

@sample_percent

Não

Define a porcentagem da tabela a ser amostrada para as estatísticas. O tipo de dados é float e o valor deve estar no intervalo de [0, 100].

Se omitido, o sistema usa a taxa de amostragem padrão. Para mais detalhes, veja a documentação oficial da Microsoft. Exemplo:

-- Set the sampling rate to 30%.
EXEC sp_rds_update_db_stats 
    @db_name = 'test_db',
    @sample_percent = 30;

@max_dop

Não

Define o grau de paralelismo (DOP). O tipo de dados é int. O valor padrão é 0, indicando que o sistema usará sua configuração padrão. O valor máximo não pode exceder a quantidade de núcleos da instância RDS. Este parâmetro não é suportado no SQL Server 2012 e versões anteriores. Exemplo:

-- Set the maximum degree of parallelism to 4.
    EXEC sp_rds_update_db_stats 
        @db_name = 'test_db',
        @max_dop = 4;

@timeout_seconds

Não

Especifica o tempo limite para a atualização das estatísticas, em segundos (s). O valor padrão é 3600 segundos (1 hora). Exemplo:

-- Set the timeout to 7,200 seconds (2 hours).
    EXEC sp_rds_update_db_stats 
     @db_name = 'test_db',
     @timeout_seconds = 7200;

@modification_threshold

Não

Define o limiar de modificação, em porcentagem, para acionar a atualização das estatísticas. O tipo de dados é int e o valor padrão é 0.

  • Política padrão (quando o valor é 0): O Alibaba Cloud aplica suas melhores práticas recomendadas:

    • contagem de linhas da tabela < 500: 30%

    • 500 ≤ contagem de linhas da tabela ≤ 1.000.000: 20%

    • contagem de linhas da tabela > 1.000.000: 5%

  • Entrada manual: Especifique o valor do limiar. O valor deve estar no intervalo de [0, 100]. A porcentagem de modificação é calculada pela fórmula: (número de linhas modificadas * 100) / número total de linhas. Para acionar a atualização das estatísticas, a porcentagem calculada deve ser maior ou igual ao limiar definido.

    -- For a table with 10,000 rows, to trigger a statistics update when 100 rows are modified, set the threshold to 1.
        EXEC sp_rds_update_db_stats 
            @db_name = 'test_db',
            @modification_threshold = 1;

Copiar um banco de dados na mesma instância

Comando T-SQL

sp_rds_copy_database

Edições suportadas

Basic Edition e High-availability Edition

Descrição

Cria uma cópia de um banco de dados na mesma instância.

Nota
  • O armazenamento disponível na instância deve ser de pelo menos 1,3 vezes o tamanho do banco de dados de origem.

  • Esta operação não é suportada em instâncias do ApsaraDB MyBase for SQL Server.

Uso

USE db
GO
EXEC sp_rds_copy_database 'db','db_copy'
GO
  • O primeiro parâmetro corresponde ao nome do banco de dados de origem.

  • O segundo parâmetro corresponde ao nome do banco de dados de destino.

Colocar um banco de dados online

Comando T-SQL

sp_rds_set_db_online

Edições suportadas

RDS Basic Edition e RDS High-availability Edition

Descrição

Após definir um banco de dados como OFFLINE, não é possível usar a instrução ALTER DATABASE para colocá-lo online novamente. Utilize este stored procedure como alternativa.

Uso

USE master
GO
EXEC sp_rds_set_db_online 'db'
GO

Nome do banco de dados a ser colocado online.

Permissões globais de banco de dados

Comando T-SQL

sp_rds_set_all_db_privileges

Edições de instância suportadas

Basic Edition, High-availability Edition

Descrição

Concede permissões a um usuário em todos ou em vários bancos de dados de usuário.

Nota

As permissões do usuário atual nos bancos de dados de destino devem ser maiores ou iguais às permissões concedidas.

Uso

sp_rds_set_all_db_privileges 'user','db_owner','db1,db2...'
  • O primeiro parâmetro indica o usuário que receberá as permissões.

  • O segundo parâmetro define a função de banco de dados a ser concedida ao usuário.

  • O terceiro parâmetro lista um ou mais bancos de dados de destino, separados por vírgulas. Este parâmetro é opcional. Se omitido, as permissões serão concedidas em todos os bancos de dados de usuário.

Excluir um banco de dados

Comando T-SQL

sp_rds_drop_database

Edições suportadas

High-availability Edition

Nota
  • Este stored procedure não é suportado em instâncias da Basic Edition. Use o comando DROP DATABASE db como alternativa.

  • Execute este comando usando uma conta privilegiada enquanto estiver conectado a um banco de dados diferente do banco de dados de destino. Certifique-se de que a conta tenha as permissões necessárias no banco de dados de destino. Para mais informações, consulte Modificar as permissões de uma conta.

Descrição

Exclui um banco de dados de uma instância. Esta operação remove todos os objetos associados. Em instâncias da High-availability Edition, esta operação também remove o espelhamento do banco de dados e encerra todas as conexões ativas.

Uso

USE master
GO
EXEC sp_rds_drop_database 'db'
GO

O parâmetro especifica o nome do banco de dados a ser excluído.

Configurar o rastreamento de alterações

Comando T-SQL

sp_rds_change_tracking

Séries de instância suportadas

High-availability Edition

Descrição

Ativa ou desativa o rastreamento de alterações para um banco de dados.

Uso

USE db
GO
EXEC sp_rds_change_tracking 'db',1
GO
  • O primeiro parâmetro é o nome do banco de dados.

  • O segundo parâmetro determina se o rastreamento de alterações deve ser ativado ou desativado. Valores válidos:

    • 1: Ativa o rastreamento de alterações.

    • 0: Desativa o rastreamento de alterações.

Ativar a captura de dados de alterações

Comando T-SQL

sp_rds_cdc_enable_db

Séries de instância suportadas

High-availability Edition e Cluster Edition

Descrição

Ativa a captura de dados de alterações (CDC) para um banco de dados.

Uso

USE db
GO
-- Enable CDC for a database.
EXEC sp_rds_cdc_enable_db
GO
-- Enable CDC for a table.
EXEC sys.sp_cdc_enable_table
    @source_schema = '<schema name>',
    @source_name = '<table name>',
    @role_name = '<CDC role name>'

Desativar a captura de dados de alterações

Comando T-SQL

sp_rds_cdc_disable_db

Séries de instância suportadas

High-availability Edition, Cluster Edition

Descrição

Desativa a captura de dados de alterações (CDC) para um banco de dados.

Uso

USE db
GO
-- Disable change data capture (CDC) at the database level.
EXEC sp_rds_cdc_disable_db
GO
-- Disable CDC for a specific table.
EXEC sys.sp_cdc_disable_table
    @source_schema = '<schema_name>',
    @source_name = '<table_name>',
    @capture_instance = '<capture_instance_name>'
    
-- Get the capture instance name for a specific table.
SELECT capture_instance
FROM cdc.change_tables
WHERE source_schema = '<schema_name>'
    AND source_name = '<table_name>'

Parâmetros da instância RDS

Comando T-SQL

sp_rds_configure

Famílias de instância suportadas

Basic Edition e High-availability Edition

Descrição

Configure os seguintes parâmetros da instância. Em instâncias primárias/standby, as configurações são sincronizadas automaticamente. Para mais detalhes, consulte a documentação da Microsoft.

Parâmetro

Descrição

Exemplo

fill factor (%)

Define a porcentagem do fator de preenchimento para uma página de índice.

EXEC sp_rds_configure 'fill factor (%)', 90;

max worker threads

Especifica o número máximo de threads de trabalho para executar consultas e processar solicitações em paralelo.

EXEC sp_rds_configure 'max worker threads', 100;

cost threshold for parallelism

Define o limiar de custo para paralelismo.

EXEC sp_rds_configure 'cost threshold for parallelism', 30;

max degree of parallelism

Determina o grau máximo de paralelismo para uma consulta.

EXEC sp_rds_configure 'max degree of parallelism', 4;

min server memory (MB)

Especifica a quantidade mínima de memória, em megabytes (MB), utilizada pela instância RDS.

EXEC sp_rds_configure 'min server memory (MB)', 1024;

max server memory (MB)

Define a quantidade máxima de memória, em megabytes (MB), utilizada pela instância RDS.

EXEC sp_rds_configure 'max server memory (MB)', 4096;

blocked process threshold (s)

Estabelece o limiar, em segundos, para relatar processos bloqueados.

EXEC sp_rds_configure 'blocked process threshold (s)', 20;

nested triggers

Ativa ou desativa gatilhos aninhados. Valores válidos:

  • 0: Desativar.

  • 1: Ativar.

EXEC sp_rds_configure 'nested triggers', 1;

Ad Hoc Distributed Queries

Habilita ou desabilita Consultas Distribuídas Ad Hoc. Valores válidos:

  • 0: Desativar.

  • 1: Ativar.

EXEC sp_rds_configure 'Ad Hoc Distributed Queries', 1;

clr enabled

Permite ou impede a execução de assemblies CLR (Common Language Runtime) criados pelo usuário. Valores válidos:

  • 0: Desativar.

  • 1: Ativar.

EXEC sp_rds_configure 'clr enabled', 1;

default full-text language

Define o idioma padrão para pesquisa de texto completo. Os valores comuns incluem:

  • 0: Idioma padrão. A localidade do sistema operacional determina o padrão.

  • 1033: Inglês.

  • 2052: Chinês simplificado.

Clique para visualizar todos os valores

Valor

Idioma

Descrição

0

Neutro

Neutro

1025

Árabe

Árabe

1026

Búlgaro

Búlgaro

1027

Catalão

Catalão

1028

Chinês tradicional

Chinês tradicional

1029

Tcheco

Tcheco

1030

Dinamarquês

Dinamarquês

1031

Alemão

Alemão

1032

Grego

Grego

1033

Inglês

Inglês

1036

Francês

Francês

1037

Hebraico

Hebraico

1039

Islandês

Islandês

1040

Italiano

Italiano

1041

Japonês

Japonês

1042

Coreano

Coreano

1043

Holandês

Holandês

1044

Bokmål

Norueguês (Bokmål)

1045

Polonês

Polonês

1046

Brasileiro

Português do Brasil

1048

Romeno

Romeno

1049

Russo

Russo

1050

Croata

Croata

1051

Eslovaco

Eslovaco

1053

Sueco

Sueco

1054

Tailandês

Tailandês

1055

Turco

Turco

1056

Urdu

Urdu

1057

Indonésio

Indonésio

1058

Ucraniano

Ucraniano

1060

Esloveno

Esloveno

1062

Letão

Letão

1063

Lituano

Lituano

1066

Vietnamita

Vietnamita

1081

Hindi

Hindi

1086

Malaio - Malásia

Malaio (Malásia)

1093

Bengali (Índia)

Bengali (Índia)

1094

Punjabi

Punjabi

1095

Guzerate

Guzerate

1097

Tâmil

Tâmil

1098

Telugo

Telugo

1099

Canarês

Canarês

1100

Malaiala

Malaiala

1102

Marati

Marati

2052

Chinês simplificado

Chinês simplificado

2057

Inglês britânico

Inglês britânico

2070

Português

Português

2074

Sérvio (Latino)

Sérvio (Latino)

3076

Chinês (RAE de Hong Kong, RPC)

Chinês (RAE de Hong Kong)

3082

Espanhol

Espanhol

3098

Sérvio (Cirílico)

Sérvio (Cirílico)

4100

Chinês (Singapura)

Chinês (Singapura)

5124

Chinês (RAE de Macau)

Chinês (RAE de Macau)

EXEC sp_rds_configure 'default full-text language', 2052;

default language

Define o idioma padrão da instância. Os valores comuns incluem:

  • 0: Inglês (EUA).

  • 30: Chinês simplificado.

Clique para visualizar todos os valores

Valor

Idioma

Descrição

0

Inglês

Inglês (EUA)

1

Alemão

Alemão

2

Francês

Francês

3

Japonês

Japonês

4

Dinamarquês

Dinamarquês

5

Espanhol

Espanhol

6

Italiano

Italiano

7

Holandês

Holandês

8

Norueguês

Norueguês

9

Português

Português

10

Finlandês

Finlandês

11

Sueco

Sueco

12

Tcheco

Tcheco

13

Húngaro

Húngaro

14

Polonês

Polonês

15

Romeno

Romeno

16

Croata

Croata

17

Eslovaco

Eslovaco

18

Esloveno

Esloveno

19

Grego

Grego

20

Búlgaro

Búlgaro

21

Russo

Russo

22

Turco

Turco

23

Inglês britânico

Inglês britânico

24

Estoniano

Estoniano

25

Letão

Letão

26

Lituano

Lituano

27

Português do Brasil

Português do Brasil

28

Chinês tradicional

Chinês tradicional

29

Coreano

Coreano

30

Chinês simplificado

Chinês simplificado

31

Árabe

Árabe

32

Tailandês

Tailandês

33

Norueguês (Bokmål)

Norueguês (Bokmål)

EXEC sp_rds_configure 'default language', 30;

max text repl size (B)

Especifica o tamanho máximo dos dados de texto, em bytes, em um processo de replicação.

Defina o tamanho máximo de replicação de texto como 100 MB:

EXEC sp_rds_configure 'max text repl size (B)', 104857600;

optimize for ad hoc workloads

Determina se a otimização do cache de planos para cargas de trabalho ad hoc deve ser ativada. Valores válidos:

  • 0: Desativar.

  • 1: Ativar.

EXEC sp_rds_configure 'optimize for ad hoc workloads', 1;

query governor cost limit

Define o limite superior para o custo estimado de uma consulta. O valor 0 desativa o controlador de consultas.

EXEC sp_rds_configure 'query governor cost limit', 10;

recovery interval (min)

Indica o tempo máximo, em minutos, necessário para recuperar um banco de dados.

EXEC sp_rds_configure 'recovery interval (min)', 60;

remote login timeout (s)

Estabelece o período de tempo limite, em segundos, para uma tentativa de login remoto.

EXEC sp_rds_configure 'remote login timeout (s)', 30;

remote query timeout (s)

Define o período de tempo limite, em segundos, para uma consulta remota.

EXEC sp_rds_configure 'remote query timeout (s)', 60;

query wait (s)

Especifica o tempo, em segundos, que uma consulta aguarda por recursos de memória antes de atingir o tempo limite.

EXEC sp_rds_configure 'query wait (s)', 5;

min memory per query (KB)

Define a quantidade mínima de memória, em kilobytes (KB), alocada para a execução de uma consulta.

EXEC sp_rds_configure 'min memory per query (KB)', 1024;

in-doubt xact resolution

Determina como o sistema resolve transações distribuídas em dúvida. Valores válidos:

  • 0 (Padrão para instâncias RDS não Cluster Edition): Sem resolução automática. O sistema não resolve transações em dúvida automaticamente, exigindo intervenção manual.

  • 1: Presumir confirmação. Se o sistema não tiver informações suficientes para resolver uma transação em dúvida, ele confirmará a transação por padrão.

  • 2 (Padrão para instâncias RDS Cluster Edition): Presumir reversão. Se o sistema encontrar uma transação em dúvida, ele reverterá a transação por padrão.

EXEC sp_rds_configure 'in-doubt xact resolution', 2;

Uso

EXEC sp_rds_configure '<parameter>',<parameter value>
  • O primeiro parâmetro identifica qual parâmetro de configuração da instância será definido.

  • O segundo parâmetro representa o valor correspondente.

Adicionar um servidor vinculado

Comando T-SQL

sp_rds_add_linked_server

Instâncias suportadas

  • Edição da instância: Cluster Edition e High-availability Edition. A Basic Edition não é suportada.

  • Tipo de instância: uso geral e dedicada. Instâncias compartilhadas não são suportadas.

  • Método de faturamento: assinatura e pagamento conforme o uso. Instâncias serverless não são suportadas.

Descrição

Este comando adiciona um servidor vinculado a uma instância e oferece suporte a transações distribuídas. Um servidor vinculado criado na instância primária é sincronizado automaticamente com a instância secundária. Não é necessário reconfigurar o servidor vinculado após um failover primário/secundário. No entanto, modificações em servidores vinculados existentes na instância primária não são sincronizadas com a instância secundária. Para mais informações, consulte Failover primário/secundário automático ou manual.

Uso

DECLARE
@linked_server_name sysname = N'yangzhao_slb', --The name of the linked server.
@data_source sysname = N'****.sqlserver.rds.aliyuncs.com,3888', --The IP address and port number of the destination SQL Server instance. Format: IP,Port
@user_name sysname = N'ay15' , --The username for the destination SQL Server instance.
@password nvarchar(128) = N'******', --The password for the destination user.
@source_user_name sysname = N'test', --The username on the source instance.
@source_password nvarchar(128) = N'******', --The password for the source user.
--Server options for the linked server in XML format. This example sets permissions for data access, rpc, and rpc out.
@link_server_options xml
= N'
      <rds_linked_server>
        <config option="data access">true</config>
        <config option="rpc">true</config>
        <config option="rpc out">true</config>
      </rds_linked_server>
'

EXEC sp_rds_add_linked_server
@linked_server_name,
@data_source,
@user_name,
@password,
@source_user_name,
@source_password,
@link_server_options

Configurar um sinalizador de rastreamento

Comando T-SQL

sp_rds_dbcc_trace

Edições suportadas

Basic Edition, High-availability Edition

Descrição

Este stored procedure define um sinalizador de rastreamento para uma instância RDS. Atualmente, ele suporta apenas um subconjunto de sinalizadores de rastreamento. Em instâncias primárias/secundárias, a plataforma sincroniza essa configuração automaticamente.

Uso

EXEC sp_rds_dbcc_trace '1222',1/0
  • O primeiro parâmetro é o sinalizador de rastreamento.

  • O segundo parâmetro indica se o sinalizador de rastreamento deve ser ativado ou desativado. Valores válidos:

    • 1: Ativa o sinalizador de rastreamento.

    • 0: Desativado.

Renomear um banco de dados

Comando T-SQL

sp_rds_modify_db_name

Edições de instância suportadas

Basic Edition, High-availability Edition e Cluster Edition

Descrição

Renomeia um banco de dados. Certifique-se de que a conta de conexão possua as permissões necessárias no banco de dados de destino e que o banco de dados esteja no estado online.

Para instâncias da High-availability Edition ou Cluster Edition, renomear um banco de dados reconstrói automaticamente a relação primário/secundário. Esse processo inclui backup e restauração. Se o banco de dados for grande, verifique se a instância possui armazenamento disponível suficiente. Você pode aumentar a escala da instância, se necessário.

Uso

USE master
GO
EXEC sp_rds_modify_db_name 'db','new_db'
GO
  • O primeiro parâmetro refere-se ao nome original do banco de dados.

  • O segundo parâmetro refere-se ao novo nome do banco de dados.

Conceder funções de servidor

Comando T-SQL

sp_rds_set_server_role

Edições suportadas

Basic Edition

Descrição

Concede uma função de servidor a um login. As funções disponíveis são setupadmin e processadmin. Para criar contas com outras permissões ou saber mais sobre permissões de conta, consulte Criar uma conta com permissões SA e Permissões de conta.

Uso

EXEC sp_rds_set_server_role @login_name='test_login',@server_role='setupadmin'
  • Especifica o nome do login.

  • Define o nome da função. Os valores válidos são setupadmin e processadmin.

Perguntas frequentes

P: Por que recebo o erro Cannot use KILL to kill your own process. ao executar o comando EXEC sp_rds_drop_database 'dbtest'; com uma conta padrão?

R: Execute o comando usando uma conta privilegiada em uma janela de comando conectada a um banco de dados diferente. Verifique se a conta possui as permissões necessárias no banco de dados de destino. Para mais informações, consulte Modificar permissões da conta.