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)
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:
|
|
@sample_percent |
Não |
Define a porcentagem da tabela a ser amostrada para as estatísticas. O tipo de dados é Se omitido, o sistema usa a taxa de amostragem padrão. Para mais detalhes, veja a documentação oficial da Microsoft. Exemplo:
|
|
@max_dop |
Não |
Define o grau de paralelismo (DOP). O tipo de dados é
|
|
@timeout_seconds |
Não |
Especifica o tempo limite para a atualização das estatísticas, em segundos (s). O valor padrão é
|
|
@modification_threshold |
Não |
Define o limiar de modificação, em porcentagem, para acionar a atualização das estatísticas. O tipo de dados é
|
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.
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.
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
Este stored procedure não é suportado em instâncias da Basic Edition. Use o comando
DROP DATABASE dbcomo 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. |
|
|
max worker threads |
Especifica o número máximo de threads de trabalho para executar consultas e processar solicitações em paralelo. |
|
|
cost threshold for parallelism |
Define o limiar de custo para paralelismo. |
|
|
max degree of parallelism |
Determina o grau máximo de paralelismo para uma consulta. |
|
|
min server memory (MB) |
Especifica a quantidade mínima de memória, em megabytes (MB), utilizada pela instância RDS. |
|
|
max server memory (MB) |
Define a quantidade máxima de memória, em megabytes (MB), utilizada pela instância RDS. |
|
|
blocked process threshold (s) |
Estabelece o limiar, em segundos, para relatar processos bloqueados. |
|
|
nested triggers |
Ativa ou desativa gatilhos aninhados. Valores válidos:
|
|
|
Ad Hoc Distributed Queries |
Habilita ou desabilita Consultas Distribuídas Ad Hoc. Valores válidos:
|
|
|
clr enabled |
Permite ou impede a execução de assemblies CLR (Common Language Runtime) criados pelo usuário. Valores válidos:
|
|
|
default full-text language |
Define o idioma padrão para pesquisa de texto completo. Os valores comuns incluem:
|
|
|
default language |
Define o idioma padrão da instância. Os valores comuns incluem:
|
|
|
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:
|
|
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:
|
|
|
query governor cost limit |
Define o limite superior para o custo estimado de uma consulta. O valor 0 desativa o controlador de consultas. |
|
|
recovery interval (min) |
Indica o tempo máximo, em minutos, necessário para recuperar um banco de dados. |
|
|
remote login timeout (s) |
Estabelece o período de tempo limite, em segundos, para uma tentativa de login remoto. |
|
|
remote query timeout (s) |
Define o período de tempo limite, em segundos, para uma consulta remota. |
|
|
query wait (s) |
Especifica o tempo, em segundos, que uma consulta aguarda por recursos de memória antes de atingir o tempo limite. |
|
|
min memory per query (KB) |
Define a quantidade mínima de memória, em kilobytes (KB), alocada para a execução de uma consulta. |
|
|
in-doubt xact resolution |
Determina como o sistema resolve transações distribuídas em dúvida. Valores válidos:
|
|
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.