AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / user-22336

Marcello Miorelli's questions

Martin Hope
Marcello Miorelli
Asked: 2025-04-01 20:13:34 +0800 CST

onde meu pacote ssis é salvo após importar dados do servidor de origem para o servidor de destino?

  • 5

então estou importando alguns dados de um servidor diferente em uma tabela que tenho no banco de dados mestre

isso é feito por meio de uma consulta no servidor de destino, mas preciso especificar credenciais em ambos os servidores.

insira a descrição da imagem aqui

Como tenho que fazer isso várias vezes, quero salvar o pacote para que, com o mínimo de esforço, eu possa alterar a consulta e a tabela de destino e executá-lo novamente.

Então configurei minha consulta no servidor de origem e configurei a tabela no servidor de destino

insira a descrição da imagem aqui

Eu configurei para salvar meu pacote no servidor SQL como você pode ver na imagem abaixo, mas

onde posso vê-lo? Posso reutilizá-lo?

insira a descrição da imagem aqui

Estou executando isso no servidor de destino, então deveria estar lá, mas onde?

sql-server
  • 1 respostas
  • 16 Views
Martin Hope
Marcello Miorelli
Asked: 2025-03-26 19:48:13 +0800 CST

consulta para encontrar o backup transacional mais recente para um servidor envolvido no grupo de disponibilidade

  • 5

Recebi uma solicitação para encontrar o backup de log transacional mais recente. Neste servidor específico, ele não está funcionando por algum motivo.

aqui está a pergunta:

SELECT
    @@Servername AS [Server_Name],
    B.name AS Database_Name,
    ISNULL(STR(ABS(DATEDIFF(day, SYSDATETIME(), MAX(A.backup_finish_date)))), 'NEVER') AS DaysSinceLastBackup,
    ISNULL(CONVERT(CHAR(11), MAX(A.backup_finish_date), 113) + ' ' + CONVERT(VARCHAR(8), MAX(A.backup_finish_date), 108), 'NEVER') AS LastBackupDate,
    BackupSize_GB = REPLACE(CONVERT(VARCHAR(50), CAST(CAST(COALESCE(MAX(A.compressed_backup_size), MAX(A.backup_size), 0)/1024.0/1024.0/1024.0 AS NUMERIC(18,2)) AS MONEY),1), '.00',''),
    BackupSize_MB = REPLACE(CONVERT(VARCHAR(50), CAST(CAST(COALESCE(MAX(A.compressed_backup_size), MAX(A.backup_size), 0)/1024.0/1024.0 AS NUMERIC(18,2)) AS MONEY),1), '.00',''),
    [Last Backup Duration (sec)] = DATEDIFF(s, MAX(A.backup_start_date), MAX(A.backup_finish_date)),
    [AVG Backup Duration (sec)] = AVG(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS INT)),
    [Longest Backup Duration (sec)] = MAX(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS INT)),
    [Shortest Backup Duration (sec)] = MIN(CAST(DATEDIFF(s, A.backup_start_date, A.backup_finish_date) AS INT)),
    A.type,
    media_set_id = MAX(A.media_set_id),
    B.create_date,
    B.recovery_model_desc,
    B.state_desc,
    B.is_read_only,
    B.database_id,
    Backup_Started = MAX(A.backup_start_date),
    Backup_Finished = MAX(A.backup_finish_date)
FROM sys.databases B WITH(NOLOCK)
LEFT OUTER JOIN msdb.dbo.backupset A WITH(NOLOCK)
    ON A.database_name = B.name
    AND A.type = 'L' -- Solo Transaction Log
WHERE 1=1
--B.Name = 'My_database'
GROUP BY
    B.Name,
    B.database_id,
    B.create_date,
    B.recovery_model_desc,
    B.state_desc,
    B.is_read_only,
    A.type

sql-server
  • 1 respostas
  • 43 Views
Martin Hope
Marcello Miorelli
Asked: 2025-03-13 14:09:42 +0800 CST

Implantar procedimentos armazenados criptografados que não podem ser descriptografados

  • 8

Há muitas maneiras de ver um procedimento criptografado.

Exemplo de um procedimento criptografado no SSMS:

insira a descrição da imagem aqui

Há uma pergunta muito boa: Como visualizar uma exibição criptografada ou um procedimento armazenado, onde você pode ver muitas maneiras de visualizar o código do seu procedimento criptografado, usando ferramentas de terceiros , a Conexão de Administrador Dedicada , revertendo a cifra de fluxo RC4 , só para mencionar algumas, mas há outras boas respostas lá.

Aqui está outra maneira espetacular de ver o código de um procedimento armazenado criptografado usando o DAC e um servidor vinculado.

Como então posso implantar procedimentos armazenados criptografados nos bancos de dados dos meus clientes, para que eles não consigam descriptografar e ver o código?

No passado, eles usaram nosso código em seus próprios procedimentos armazenados e quebraram a integridade dos dados em muitos aspectos e áreas. Não queremos que isso aconteça novamente; se eles precisarem de alguma mudança ou melhoria, eles podem passar pelo suporte e nós podemos providenciar isso.

Eles hospedam os bancos de dados e têm total acesso/controle e responsabilidade por backups, manutenção, etc. Não posso dar mais detalhes, talvez os DBAs deles estejam lendo isso agora ;)

Eu estava pensando que talvez eu pudesse adicionar ou anexar a descriptografia a uma senha...?

Eu também consideraria ferramentas de terceiros. Por favor, mencione se você tem uma experiência positiva com qualquer uma dessas ferramentas, mas eu preferiria fazer isso via SQL Server.

Pergunta: Existe uma maneira de implantar procedimentos armazenados criptografados que não podem ser descriptografados?

sql-server
  • 2 respostas
  • 424 Views
Martin Hope
Marcello Miorelli
Asked: 2025-03-12 05:14:22 +0800 CST

como configurar a replicação tendo um grupo de disponibilidade como publicador e o assinante e o distribuidor no mesmo servidor?

  • 5

Tenho uma situação parecida com essa da imagem:

insira a descrição da imagem aqui

2 servidores sql1 e sql2 que estão em um grupo de disponibilidade e um terceiro servidor que é basicamente um servidor de relatórios.

Preciso criar uma replicação transacional, o publicador está no grupo de disponibilidade, o assinante no servidor cliente.

o que eu estava planejando fazer é:

  1. cliente também é distribuidor
  2. a publicação reside em um ouvinte , então o distribuidor não sabe se é sql1 ou sql2 que está ativo
  3. em caso de failover ou failback, os trabalhos de replicação ficam ativos apenas no nó primário.

O ideal seria que outro servidor ou grupo de disponibilidade fosse apenas o distribuidor, mas isso não é possível.

isso pode funcionar ou há alguma ponte que não posso cruzar nessa topologia?

depois de habilitar o TF 1448 ?

sql-server
  • 1 respostas
  • 42 Views
Martin Hope
Marcello Miorelli
Asked: 2025-02-01 01:22:50 +0800 CST

Existe alguma maneira de ver se um patch específico foi aplicado ao meu servidor SQL?

  • 6

Como posso ver se esse patch foi aplicado ao meu servidor SQL Server?

Eu sei sobre @@version , mas isso me mostra o último patch aplicado, e os outros patches anteriores a esse?

insira a descrição da imagem aqui

sql-server
  • 1 respostas
  • 49 Views
Martin Hope
Marcello Miorelli
Asked: 2025-02-01 01:16:53 +0800 CST

db_id() - o ID do banco de dados pode mudar?

  • 10

Um dos desenvolvedores da minha empresa configurou um profiler SQL com um filtro no ID do banco de dados .

Ele está me dizendo que o ID do banco de dados que ele está procurando mudou.

O banco de dados em questão ainda está lá, mas em vez de 61 agora é 60.

insira a descrição da imagem aqui

sql-server
  • 1 respostas
  • 208 Views
Martin Hope
Marcello Miorelli
Asked: 2025-01-29 23:21:24 +0800 CST

aspas duplas em um código sql server dentro do powershell - em código visual - como fazer funcionar?

  • 8

aspas duplas são usadas no sql server e seu comportamento pode ser definido pela opção SET QUOTED_IDENTIFIER ON \ OFF

aspas duplas também são usadas no powershell .

SET QUOTED_IDENTIFIER deve estar ON quando você invocar métodos de tipo de dados XML.

esta é uma visão parcial de um procedimento armazenado que desejo implantar em vários servidores, no entanto, por causa do identificador entre aspas, ou aspas duplas, este caractere - " - não está funcionando no PowerShell, no código visual que uso para implantar.

DECLARE @WebXConfigurationID INT,
                @stored_URL VARCHAR(2000), @cur_URL VARCHAR(2000), 
                @stored_OpsServiceURL VARCHAR(2000), @cur_OPSServiceURL  VARCHAR(2000),
                @cur_Properties XML;


            PRINT 'WebX Configuration: ' + CAST(@WebXConfigurationID AS VARCHAR(20));

            IF (ISNULL(@stored_URL, '') <> ISNULL(@cur_URL, ''))
            BEGIN
                PRINT ' - Base URL needs updating'
            END 
            ELSE
            BEGIN
                PRINT ' - Base URL does not need updating'
            END;

            IF (ISNULL(@stored_OpsServiceURL, '') <> ISNULL(@cur_OPSServiceURL, '') AND @cur_OPSServiceURL IS NOT NULL)
            BEGIN
                PRINT ' - OPS Service URL needs updating'
                SET @cur_Properties.modify('replace value of (/properties[1]//OPSServiceURL[1]/text())[1] with sql:variable("@stored_OpsServiceURL")')
            END 
            ELSE
            BEGIN
                PRINT ' - OPS Service URL does not need updating'
            END;

esta é a mensagem de erro:

"' in expression or statement.
At C:\sp_PosRestore.ps1:636 char:114
+ ... ServiceURL[1]/text())[1] with sql:variable("@stored_OpsServiceURL")')
+                                                 ~~~~~~~~~~~~~~~~~~~~~
The splatting operator '@' cannot be used to reference variables in an expression. '@stored_OpsServiceURL' can be used only as an argument to a command. To reference variables in an expression use      
'$stored_OpsServiceURL'.
    + CategoryInfo          : ParserError: (:) [], ParseException
    + FullyQualifiedErrorId : UnexpectedToken

insira a descrição da imagem aqui

O código do Powershell:

$SQLQuery = 
"
DECLARE @WebXConfigurationID INT,
                @stored_URL VARCHAR(2000), @cur_URL VARCHAR(2000), 
                @stored_OpsServiceURL VARCHAR(2000), @cur_OPSServiceURL  VARCHAR(2000),
                @cur_Properties XML;


            PRINT 'WebX Configuration: ' + CAST(@WebXConfigurationID AS VARCHAR(20));

            IF (ISNULL(@stored_URL, '') <> ISNULL(@cur_URL, ''))
            BEGIN
                PRINT ' - Base URL needs updating'
            END 
            ELSE
            BEGIN
                PRINT ' - Base URL does not need updating'
            END;

            IF (ISNULL(@stored_OpsServiceURL, '') <> ISNULL(@cur_OPSServiceURL, '') AND @cur_OPSServiceURL IS NOT NULL)
            BEGIN
                PRINT ' - OPS Service URL needs updating'
                SET @cur_Properties.modify('replace value of (/properties[1]//OPSServiceURL[1]/text())[1] with sql:variable("@stored_OpsServiceURL")')
            END 
            ELSE
            BEGIN
                PRINT ' - OPS Service URL does not need updating'
            END;
"


sql-server
  • 2 respostas
  • 332 Views
Martin Hope
Marcello Miorelli
Asked: 2025-01-22 18:28:58 +0800 CST

Como evitar gravar no log de erros ao alterar a configuração da instância?

  • 5

Se você observar como alterar temporariamente as configurações do SQL Server para executar uma tarefa e, quando terminar, reverter, há uma maneira de salvar as configurações do SQL Server antes de habilitá-las, para que você possa desabilitá-las se necessário.

Aqui está o código (parcialmente copiado):

IF OBJECT_ID('tempdb.dbo.#Settings') IS NOT NULL
    DROP TABLE #Settings;

CREATE TABLE #Settings
(
    Setting VARCHAR(100),
    Val INT
)
INSERT #Settings (Setting, Val)
SELECT 'show advanced options', cast(value_in_use as int) from sys.configurations where name = 'show advanced options'
UNION
SELECT 'xp_cmdshell', cast(value_in_use as int) from sys.configurations where name = 'xp_cmdshell'
UNION
SELECT 'Ad Hoc Distributed Queries', cast(value_in_use as int) from sys.configurations where name = 'Ad Hoc Distributed Queries'

SELECT * FROM #Settings;

Isso funciona bem se você executar um procedimento por vez; no entanto, ele grava no log de erros do SQL Server, como você pode ver abaixo:

insira a descrição da imagem aqui

Existe uma maneira de evitar gravar alterações de configurações no log de erros?

sql-server
  • 2 respostas
  • 83 Views
Martin Hope
Marcello Miorelli
Asked: 2025-01-20 18:51:25 +0800 CST

Como automatizar a eliminação de bancos de dados?

  • 5

Trabalhando em um script para remover bancos de dados .

Em alguns ambientes, nossos bancos de dados são restaurados regularmente do ativo, a replicação (mesclagem ou transacional) é estabelecida, os processos são executados e testados e, então, os bancos de dados precisam ser descartados, pois todo o desenvolvimento foi implantado no ativo. Agora, outro ciclo começa.

como parte da automação da eliminação do banco de dados até agora, criei este script abaixo:

select
DROP_DB_SCRIPT='use master;' + char(13) 
+ case when source_database_id is not null  -- this is a database snapshot
     then '' 
      else 
        ' alter database ' + name + ' set single_user with rollback immediate ' +              -- put db in single user mode 
        case when (sb.is_published = 1 or sb.is_merge_published = 1) 
             then 'EXEC sp_removedbreplication ' + '''' + name + ''''                           -- remove db from the replication 
             else '' 
        end +char(13) 
  end  +char(13) +
' drop database ' + quotename(name) +char(13) 

,*
from sys.databases sb
where database_id >= 5
and is_distributor= 0

O script acima não fará nada além de produzir um script que eu possa usar para excluir um banco de dados ou conjunto de bancos de dados desejado.

ele leva em consideração a replicação (você precisa remover a replicação separadamente) e se o banco de dados é um snapshot de banco de dados , o que é uma coisa diferente .

Não considerei o seguinte:

Um banco de dados OFFLINE deve ser DEFINIDO COMO EMERGÊNCIA antes de ser descartado?

a questão aqui é: há algo, alguma verificação, que você pode ver que eu deveria ter adicionado, mas não adicionei?

Eu lidei com duas coisas:

  1. banco de dados é um instantâneo
  2. banco de dados está envolvido na replicação

Eu não lidei com:

  1. O banco de dados faz parte de um grupo de disponibilidade (nesse caso, eu precisaria removê-lo do AG primeiro)
  2. mais alguma coisa que você possa ver?
sql-server
  • 1 respostas
  • 63 Views
Martin Hope
Marcello Miorelli
Asked: 2024-12-30 22:16:27 +0800 CST

Quais são as desvantagens dos backups PARCIAIS?

  • 6

Recentemente encontrei online este artigo incrível sobre backups parciais de Alexandr Omelchenko

insira a descrição da imagem aqui

-- this is how he would do a backup:

BACKUP DATABASE your_database TO DISK = 'full.bak'
BACKUP DATABASE your_database READ_WRITE_FILEGROUPS TO DISK = 'partial_backup_full.bak'
BACKUP DATABASE your_database READ_WRITE_FILEGROUPS TO DISK = 'partial_backup_diff.bak' WITH DIFFERENTIAL

-- this is how he would do a restore:

RESTORE DATABASE your_database FROM DISK = 'full.bak' WITH NORECOVERY 
GO 
RESTORE DATABASE your_dataabse FROM DISK = 'partial_backup_full.bak' WITH NORECOVERY  
GO 
RESTORE DATABASE your_database FROM DISK = 'partial_backup_diff.bak' WITH RECOVERY  
GO

Acontece que tenho alguns bancos de dados que têm 4 grupos de arquivos. Um desses grupos de arquivos é carregado com documentos que são salvos dentro de uma tabela naquele grupo de arquivos.

Acho que seria benéfico fazer backup dos grupos de arquivos separadamente.

Quais seriam as possíveis desvantagens em fazer isso? Além da sobrecarga de alterar o restore verifyonly , incluindo dbaTools , para acomodar essa mudança e garantir fazer backups com checksums ?

Algo que eu precisaria verificar é a compressão . Outra coisa é a opção checksum para os backups - como sugerido pelo próprio homem - Ola - aqui e Paul Randal aqui .

Definitivamente precisamos verificar se nossos backups são confiáveis .

sql-server
  • 1 respostas
  • 68 Views
Martin Hope
Marcello Miorelli
Asked: 2024-11-26 22:47:39 +0800 CST

transações sem uma sessão correspondente no sql server

  • 6

Eu estava olhando para algumas `tabelas de trabalho' da consulta abaixo do meu amigo Martin

SELECT st.session_id
        ,at.*,
 case transaction_type   
      when 1 then 'Read/Write'   
      when 2 then 'Read-Only'    
      when 3 then 'System'   
      when 4 then 'Distributed'  
      else 'Unknown - ' + convert(varchar(20), transaction_type)     
 end as tranType,    
 case transaction_state 
      when 0 then 'Uninitialized' 
      when 1 then 'Not Yet Started' 
      when 2 then 'Active' 
      when 3 then 'Ended (Read-Only)' 
      when 4 then 'Committing' 
      when 5 then 'Prepared' 
      when 6 then 'Committed' 
      when 7 then 'Rolling Back' 
      when 8 then 'Rolled Back' 
      else 'Unknown - ' + convert(varchar(20), transaction_state) 
 end as tranState, 
 case dtc_state 
      when 0 then NULL 
      when 1 then 'Active' 
      when 2 then 'Prepared' 
      when 3 then 'Committed' 
      when 4 then 'Aborted' 
      when 5 then 'Recovered' 
      else 'Unknown - ' + convert(varchar(20), dtc_state) 
 end as dtcState
FROM    sys.dm_tran_active_transactions at
  left JOIN sys.dm_tran_session_transactions st ON st.transaction_id = at.transaction_id
ORDER BY at.transaction_begin_time


insira a descrição da imagem aqui

uma coisa que me chamou a atenção é o fato de que essas transações não possuem uma sessão correspondente?

como posso descobrir de onde eles vêm?

Não há nenhuma sessão associada a eles.

sql-server
  • 1 respostas
  • 73 Views
Martin Hope
Marcello Miorelli
Asked: 2024-11-06 03:33:04 +0800 CST

como posso listar todas as visualizações e funções que são replicadas?

  • 5

Tenho um script para me mostrar os artigos de replicação de uma publicação:

declare @publication_name sysname = 'my_pub'
declare @database_name sysname = 'my_db'
 use [my_db]


select  ServerName = @@servername
       ,publication_name=p.name
       ,p.repl_freq
       ,p.status
       ,p.sync_method
       --,snapshot_job_name=j.name
       ,p.independent_agent
       ,p.immediate_sync
       ,p.allow_anonymous
       ,p.replicate_ddl
       ,article_name=OBJECT_SCHEMA_NAME(a.objid) + '.' + OBJECT_NAME(a.objid)
       ,a.pre_creation_cmd 
       ,pre_creation_cmd_desc  = CASE a.pre_creation_cmd 
         WHEN 0 THEN 'none      - Doesn''t use a command.'
         WHEN 1 THEN 'drop      - Drops the destination table.'
         WHEN 2 THEN 'delete    - Deletes the destination table.'
         WHEN 3 THEN 'truncate  - Truncates the destination table.'
         ELSE 'Not known - Radhe Radhe'
        END


            FROM dbo.syspublications P 
            INNER JOIN dbo.sysarticles A 
                    ON P.pubid = A.pubid

           left outer  JOIN msdb.dbo.sysjobs j
                    ON j.job_id = p.snapshot_jobid

 where p.name = @publication_name

Entretanto, nesta publicação específica em que estou trabalhando no momento, também tenho funções e esses objetos não são mostrados na minha consulta acima?

Como posso vê-los, já que sei que estão lá?

sql-server
  • 1 respostas
  • 23 Views
Martin Hope
Marcello Miorelli
Asked: 2024-11-05 21:24:52 +0800 CST

como obter a localização do backup também? você pode usar múltiplas colunas pivotando ou qualquer outra maneira!

  • 5

Recebi esta ótima consulta que mostra o backup mais recente para cada banco de dados existente .

SELECT
    M.name,
    [Recovery Model] = 
        M.recovery_model_desc,
    [State] = 
        M.state_desc,
    [Last Full Backup] = 
        FORMAT(ISNULL(M.D, '19000101'), 'dd-MM-yyyy hh:mm'),
    [Last Differential Backup] = 
        FORMAT(ISNULL(M.I, '19000101'), 'dd-MM-yyyy hh:mm'),
    [Last log Backup] = 
        FORMAT(ISNULL(M.L, '19000101'), 'dd-MM-yyyy hh:mm')
FROM
(
    SELECT
        db.name,
        db.state_desc,
        db.recovery_model_desc,
        a.type,
        a.backup_finish_date
    FROM master.sys.databases AS db
    LEFT OUTER JOIN msdb.dbo.backupset AS a
      ON a.database_name = db.name
) AS Sourcetable
PIVOT
(
    MAX(backup_finish_date)
    FOR type IN
    (
        D,
        I,
        L
    )
) AS M --ostRecentBackup
WHERE name NOT IN
(
    N'master',
    N'msdb',
    N'model',
    N'tempdb'
);

Notei que ele usa pivotamento. E se eu tivesse que adicionar o local também? Seriam várias colunas .

Seja dinamizando usando múltiplas colunas ou desdinamizando , como eu poderia adicionar a localização de cada tipo de backup à consulta acima?

basicamente onde está o último backup completo, onde está o último diff e o último log (se houver).

este é o script que uso para ver a localização do backup:

SELECT   
   CONVERT(CHAR(100), SERVERPROPERTY('Servername')) AS Server, 
   msdb.dbo.backupset.database_name,  
   msdb.dbo.backupset.TYPE,
   msdb.dbo.backupset.backup_start_date,  
   msdb.dbo.backupset.backup_finish_date, 
   msdb.dbo.backupset.expiration_date, 
   msdb.dbo.backupset.backup_size,  
   msdb.dbo.backupset.backup_size * 1.024 /1024/1024 as [Backup size in MB],
   msdb.dbo.backupmediafamily.logical_device_name,  
   msdb.dbo.backupmediafamily.physical_device_name,   
   msdb.dbo.backupset.name AS backupset_name, 
   msdb.dbo.backupset.description 
FROM   msdb.dbo.backupmediafamily  
   INNER JOIN msdb.dbo.backupset 
           ON msdb.dbo.backupmediafamily.media_set_id = msdb.dbo.backupset.media_set_id  
--WHERE msdb.dbo.backupset.database_name = 'PivCRM_Prod_Online_ED'
--AND TYPE = 'D'  -- L D and I
ORDER BY msdb.dbo.backupset.backup_start_date DESC

a questão é:

como eu adicionaria o local do backup (cada tipo) à primeira consulta?

sql-server
  • 1 respostas
  • 38 Views
Martin Hope
Marcello Miorelli
Asked: 2024-10-25 23:31:09 +0800 CST

replicação de mesclagem do sql server - como descobrir onde está a pasta do snapshot quais são as permissões para essa pasta

  • 5

Estou procurando o local da pasta de instantâneos para minha replicação de mesclagem

Eu tentei:

select top 5 * FROM sysmergepublications pub
select *       FROM dbo.sysmergeSubscriptions

insira a descrição da imagem aqui

mas isso não me mostra o nome da pasta e como precisa de permissões sobre ela

onde posso obter essas informações usando t-sql?

sql-server
  • 1 respostas
  • 16 Views
Martin Hope
Marcello Miorelli
Asked: 2024-10-18 19:41:02 +0800 CST

backups do sql server - o que é physical_block_size?

  • 5

alteramos recentemente o servidor de arquivos que é o servidor do repositório (o local onde os backups são armazenados).

Notei que o hardware, especialmente o IO, é muito melhor e o backup demora menos para terminar, dependendo de muitos fatores. No entanto, as restaurações ainda demoram o mesmo tempo de antes.

esta não é uma pergunta complexa, tenho apenas uma pergunta aqui:

o que é physical_block_size?

quando você executa a seguinte consulta no msdbbanco de dados:

SELECT * 
  FROM msdb.dbo.backupmediafamily BMF WITH(NOLOCK)
 order by 1 desc

este é o resultado da consulta acima e observe como o physical_block_sizevalor mudou de 4096 para 512 exatamente quando decidi usar nosso novo servidor mencionado acima para o destino dos backups:

insira a descrição da imagem aqui

sql-server
  • 1 respostas
  • 57 Views
Martin Hope
Marcello Miorelli
Asked: 2024-08-17 04:47:06 +0800 CST

script para alterar o agendamento de um trabalho, ele precisa encontrar o agendamento associado ao trabalho

  • 5

usando a estratégia de backup do Ola , há um trabalho

databaseBackup - bancos de dados do sistema cheios, como você pode ver na figura abaixo.

esse trabalho está programado para ser executado uma vez por semana, no domingo de manhã.

está tudo bem, já está funcionando há algum tempo.

Agora preciso alterá-lo para funcionar todos os dias.

isso funciona bem usando ssms, criando scripts para a mudança e aplicando-a.

porém, como preciso fazer isso em dezenas de servidores, precisarei de um script que descubra qual é o agendamento, altere-o e reaplique-o no trabalho

Não consegui, mas me pergunto se alguém já fez isso.

insira a descrição da imagem aqui

sql-server
  • 2 respostas
  • 68 Views
Martin Hope
Marcello Miorelli
Asked: 2024-08-17 04:41:19 +0800 CST

todas as conexões criptografadas, mas o espelhamento do banco de dados não

  • 5

com base na imagem abaixo você pode ver o resultado de select * from sys.dm_exec_connections

bom DMV para mostrar as conexões atuais.

agora, se você observar os detalhes, as conexões de espelhamento do banco de dados não são criptografadas.

pergunta é:

deveria ser motivo de preocupação?

insira a descrição da imagem aqui

sql-server
  • 1 respostas
  • 29 Views
Martin Hope
Marcello Miorelli
Asked: 2024-08-07 05:25:03 +0800 CST

Erro do sistema operacional 1326 (o nome de usuário ou senha estão incorretos)

  • 5

Tenho trabalhado com mapeamento de unidades dentro do sql server .

Mapeei algo semelhante a isto:

EXEC XP_CMDSHELL 'net use y: "\\my_server\Initialed Folders\MM" @@__password__@@ /User:mycompany\m_miorelli /persistent:NO'

e isso foi há mais de 3 meses.

agora eu mudei minha senha.

então quando eu for para o mesmo servidor, vamos chamá-lo de my_server, e eu executo isso

EXEC XP_CMDSHELL 'net use'

Eu obtenho este resultado:

insira a descrição da imagem aqui

você vê que há az: drive ainda pendurado aí, não sei exatamente como, talvez eu tenha mapeado ...persisted

Quando tento qualquer operação que envolva o servidor onde residem os backups, recebo esta mensagem de erro:

restore filelistonly from disk=N'\\backup_server\ Initialed Folders\MM\backup_of_a_database.bak'

insira a descrição da imagem aqui

Msg 3201, Level 16, State 2, Line 20
Cannot open backup device '\\backup_server\ Initialed Folders\MM\backup_of_a_database.bak'. Operating system error 1326(The user name or password is incorrect.).
Msg 3013, Level 16, State 1, Line 20
RESTORE FILELIST is terminating abnormally.

Eu tentei fazer isso :

exec xp_cmdshell 'net use  \\ip\xxx pass /user:xxx /persistent:no'

insira a descrição da imagem aqui

questões):

como posso me livrar dessa unidade mapeada? ou objetivo muito específico: como posso me livrar dessa coisa de senha errada?

isso não está acontecendo em nenhum outro servidor.

Atualizar

Seguindo o conselho de Craig nos comentários, obrigado Craig , removi minha unidade mapeada

EXEC XP_CMDSHELL 'NET USE Z: /d'

insira a descrição da imagem aqui

Isso me deixou feliz e agradecido, porém não resolveu o problema.

insira a descrição da imagem aqui

sql-server
  • 1 respostas
  • 56 Views
Martin Hope
Marcello Miorelli
Asked: 2024-07-29 18:54:18 +0800 CST

gatilhos do lado do servidor - como evitar a criação de um servidor vinculado?

  • 6

Este gatilho ações na criação do banco de dados - mostra um exemplo de um gatilho do lado do servidor que é acionado quando alguém cria um novo banco de dados.

Esta outra pergunta - Gatilho para alterar o agrupamento do banco de dados na criação - também mostra um exemplo de gatilho do lado do servidor que é acionado quando alguém cria um novo banco de dados.

Tenho aqui um exemplo de gatilho do lado do servidor que evita que os usuários descartem logins:

USE [master]
GO

--======================================================================
-- example of a server trigger - does not allow a login to be dropped
--======================================================================
create trigger [no_dropped_logins]   on all server   
for drop_login   
as     
insert into ##LOGIN_WATCH       
select r.*, s.login_name, s.host_name,        
EVENTDATA().value('(/EVENT_INSTANCE/TSQLCommand/CommandText)[1]','nvarchar(max)') AS 'CmdText'       
from sys.dm_exec_requests r          
inner join sys.dm_exec_sessions s          
on r.session_id = s.session_id          
where r.session_id = @@SPID

Minha pergunta é:

como posso evitar a criação de um servidor vinculado no sql server usando gatilhos do lado do servidor?

sql-server
  • 1 respostas
  • 99 Views
Martin Hope
Marcello Miorelli
Asked: 2024-07-10 19:37:37 +0800 CST

como posso adicionar a data e a hora na consulta de crescimento automático abaixo?

  • 5

ao tentar impedir que o crescimento automático aconteça, recebi este script legal aqui .

entretanto, se isso acontecer, preciso saber como descobrir. isso posso fazer usando este script muito bom de Max Vernon .

                        print @@servername + ' - ' + SUBSTRING(@@version,1,COALESCE(CHARINDEX('Copyright',@@version,0)-1,108))
                        SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
                        SET NOCOUNT OFF


/*
    Description:    display growth events for all databases on the instance
    by:             Max Vernon
    date:           2014-10-01
*/
DECLARE @Version NVARCHAR(255);
DECLARE @VersionINT INT;
SET @Version = CONVERT(NVARCHAR(255),SERVERPROPERTY('ProductVersion'));
SET @VersionINT = CONVERT(INT, SUBSTRING(@Version,1 ,CHARINDEX('.',@Version)-1));
DECLARE @cmd NVARCHAR(2000);
SET @cmd = '';
IF @VersionINT >= 9
BEGIN
    SET @cmd = 
'
DECLARE @trcfilename VARCHAR(1000);

SELECT @trcfilename = path 
FROM sys.traces WITH(NOLOCK)
WHERE is_default = 1;

IF COALESCE(@trcfilename,'''') <> ''''
BEGIN
SELECT [Radhe]=
    '''''''' + @@SERVERNAME + '''''','''''' +
     DB_NAME(mf.database_id) + '''''','''''' +
     mf.name + '''''','' +
     CONVERT(VARCHAR(255), a.NumberOfGrowths) + '','' +
     CONVERT(VARCHAR(255), CAST(a.DurationOfGrowthsInSeconds AS decimal(38, 20)))
    FROM
    (
        SELECT
            tt.DatabaseID AS database_id,
            tt.FileName AS LogicalFileName,
            COUNT(*) AS NumberOfGrowths,
            SUM(tt.Duration / (1000 * 1000.0)) AS DurationOfGrowthsInSeconds
            FROM sys.fn_trace_gettable(@trcfilename, default) tt
            WHERE (EventClass IN (92, 93))
            GROUP BY
                tt.DatabaseID,
                tt.FileName
    ) a
    INNER JOIN sys.master_files mf ON
        (mf.database_id = a.database_id) AND
        (mf.name = a.LogicalFileName);
END
ELSE
BEGIN
    SELECT @@SERVERNAME, ''NO TRACE FILE'';
END
';
EXEC sp_executesql @cmd;
END
ELSE
BEGIN
    SELECT [SERVER NAME]=@@SERVERNAME, [Product Version]=SERVERPROPERTY('ProductVersion');
END

o que está faltando e eu gostaria de acrescentar é: quando aconteceu o crescimento automático?

como posso descobrir isso?

sql-server
  • 1 respostas
  • 52 Views

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve