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-109559

Andrew Lackenby's questions

Martin Hope
Andrew Lackenby
Asked: 2019-05-08 03:21:06 +0800 CST

Alterando o endpoint do AG existente

  • 1

Procurando alguns conselhos aqui:

Atualmente tenho 3 servidores SQL em um único AG com uma única placa de rede em cada servidor. Durante os períodos de uso intenso da rede, às vezes vemos failovers para um servidor secundário. Após algumas pesquisas, vejo que a maneira de contornar isso é ter uma NIC dedicada para o tráfego AG em um intervalo de endereços IP privado.

O que eu queria saber é que é possível descartar e criar endpoints/ouvintes existentes com os endereços IP atualizados ou eu teria que criar um novo AG e mover bancos de dados para ele?

sql-server sql-server-2016
  • 1 respostas
  • 54 Views
Martin Hope
Andrew Lackenby
Asked: 2018-02-24 02:30:58 +0800 CST

Excluindo arquivos de dentro do SQL Server

  • 3

Eu tenho usado xp_delete_filepara excluir arquivos de backup antigos, mas agora preciso excluir arquivos que fazem parte de um aplicativo (como parte do GDPR). Como xp_delete_filesó permitirá que você exclua arquivos de log ou backup, pensei em escrever o meu próprio em C#.

O problema que estou encontrando agora é que procedimentos armazenados estendidos só podem ser implementados no banco de dados mestre. Prefiro conter esse novo procedimento armazenado em meu próprio banco de dados de usuário para poder distribuir via controle de origem etc.

Alguém sabe uma maneira de contornar isso sem usar xp_cmdshell?

Isso pode ser feito no PowerShell. Eu poderia até escrever a coisa toda em C#. No entanto, é realmente útil poder fazê-lo em T-SQL também.

Estou aberto a usar um procedimento armazenado CLR que invoca o código C#. Eu estava pensando em alterar o procedimento armazenado para uma função se não puder implantar um procedimento armazenado.

sql-server files
  • 1 respostas
  • 431 Views
Martin Hope
Andrew Lackenby
Asked: 2017-08-08 05:55:49 +0800 CST

Sobrecarga de desempenho do mascaramento de dados dinâmico

  • 1

Estou pensando em usar o novo mascaramento de dados dinâmico que foi introduzido com o SQL Server 2016 como parte de nosso projeto GDPR. Alguém mais tem experiência disso? Estou particularmente interessado se houver uma performance ouvida.

sql-server sql-server-2016
  • 1 respostas
  • 972 Views
Martin Hope
Andrew Lackenby
Asked: 2017-04-13 01:51:41 +0800 CST

Auditar usuários do sysadm

  • 0

Eu tenho um SQL 2014 Server que possui vários bancos de dados replicados transacionais que são usados ​​para fins de relatório. Também nesse servidor há um grupo de janelas contendo várias pessoas locais. Este grupo tem privilégios de sysadm (principalmente para que as pessoas locais possam agendar e editar trabalhos de agente uns dos outros).

Preciso monitorar a atividade nos bancos de dados replicados pelos membros deste grupo.

Eu tentei configurar uma auditoria de nível de banco de dados e especificar do grupo dbo. Isso funciona até certo ponto, tem o infeliz efeito colateral de também pegar todas as transações replicadas, pois o usuário executando a replicação de também um dbo desses bancos de dados.

Existe alguma maneira de excluir um determinado usuário de uma auditoria? Eu tentei mapear este grupo como usuário para um dos bancos de dados, mas a auditoria não conseguiu pegar nada

sql-server-2014
  • 1 respostas
  • 55 Views
Martin Hope
Andrew Lackenby
Asked: 2017-03-16 07:40:53 +0800 CST

Scripts de índices não clusterizados que são compactados

  • 2

Ninguém conhece uma maneira de encontrar índices não clusterizados que foram compactados usando um script? Eu uso o seguinte para roteirizá-los e estava procurando alterá-lo para adicionar a opção de compactação, agora tenho empresa para brincar.

DECLARE @idxTableName SYSNAME
DECLARE @idxTableID INT
DECLARE @idxname SYSNAME
DECLARE @idxid INT
DECLARE @colCount INT
DECLARE @IxColumn SYSNAME
DECLARE @IxFirstColumn BIT
DECLARE @ColumnIDInTable INT
DECLARE @ColumnIDInIndex INT
DECLARE @IsIncludedColumn INT
DECLARE @sIncludeCols VARCHAR(4000)
DECLARE @sIndexCols VARCHAR(4000)
DECLARE @sSQL VARCHAR(4000)
DECLARE @rowcnt INT
DECLARE @sParamSQL VARCHAR(4000)
DECLARE @location SYSNAME
DECLARE @fillfactor INT

-- Get all the index info
DECLARE curidx CURSOR
FOR
SELECT object_name(si.object_id)
,si.object_id
,si.NAME
,si.index_id
FROM sys.indexes si
LEFT JOIN information_schema.table_constraints tc ON si.NAME = tc.constraint_name AND object_name(si.object_id) = tc.table_name
WHERE objectproperty(si.object_id, 'IsUserTable') = 1 AND [si].[type] = 2
ORDER BY object_name(si.object_id)
,si.index_id

OPEN curidx

FETCH NEXT
FROM curidx
INTO @idxTableName
,@idxTableID
,@idxname
,@idxid

--loop 
WHILE (@@FETCH_STATUS = 0)
BEGIN
SET @sSQL = 'IF NOT EXISTS (SELECT 1 FROM SYS.INDEXES WHERE name = ''' + @idxname + ''')' + CHAR(13)
SET @sSQL = @sSQL + 'BEGIN' + CHAR(13)
SET @sSQL = @sSQL + 'CREATE '

-- Check if the index is unique
IF (INDEXPROPERTY(@idxTableID, @idxname, 'IsUnique') = 1)
SET @sSQL = @sSQL + 'UNIQUE '

-- Check if the index is clustered
IF (INDEXPROPERTY(@idxTableID, @idxname, 'IsClustered') = 1)
SET @sSQL = @sSQL + 'CLUSTERED '
SET @sSQL = @sSQL + 'INDEX [' + @idxname + '] ON [' + @idxTableName + ']' + CHAR(13) + '('
SET @sSQL = @sSQL + CHAR(13)
SET @colCount = 0

SELECT @fillfactor = fill_factor
FROM sys.indexes 
WHERE name = @idxname

IF ISNULL(@fillfactor, 0) = 0
SET @fillfactor = 90

-- Get the number of cols in the index 
SELECT @colCount = COUNT(*)
FROM sys.index_columns ic
INNER JOIN sys.columns sc ON ic.object_id = sc.object_id AND ic.column_id = sc.column_id
WHERE ic.object_id = @idxtableid AND index_id = @idxid AND ic.is_included_column = 0

-- Get the file group info 
SELECT @location = f.[name]
FROM sys.indexes i
INNER JOIN sys.filegroups f ON i.data_space_id = f.data_space_id
INNER JOIN sys.all_objects o ON i.[object_id] = o.[object_id]
WHERE o.object_id = @idxTableID AND i.index_id = @idxid

-- Get all columns of the index
DECLARE curidxcolumn CURSOR
FOR
SELECT sc.column_id AS columnidintable
,sc.NAME
,ic.index_column_id columnidinindex
,ic.is_included_column AS isincludedcolumn
FROM sys.index_columns ic
INNER JOIN sys.columns sc ON ic.object_id = sc.object_id AND ic.column_id = sc.column_id
WHERE ic.object_id = @idxTableID AND index_id = @idxid
ORDER BY ic.index_column_id

SET @IxFirstColumn = 1
SET @sIncludeCols = ''
SET @sIndexCols = ''
SET @rowcnt = 0

OPEN curidxColumn

FETCH NEXT
FROM curidxColumn
INTO @ColumnIDInTable
,@IxColumn
,@ColumnIDInIndex
,@IsIncludedColumn

--loop 
WHILE (@@FETCH_STATUS = 0)
BEGIN
IF @IsIncludedColumn = 0
BEGIN
SET @rowcnt = @rowcnt + 1
SET @sIndexCols = CHAR(9) + @sIndexCols + '[' + @IxColumn + ']'

-- Check the sort order of the index cols 
IF (INDEXKEY_PROPERTY(@idxTableID, @idxid, @ColumnIDInIndex, 'IsDescending')) = 0
SET @sIndexCols = @sIndexCols + ' ASC '
ELSE
SET @sIndexCols = @sIndexCols + ' DESC '

IF @rowcnt < @colCount
SET @sIndexCols = @sIndexCols + ', '
END
ELSE
BEGIN
-- Check for any include columns
IF len(@sIncludeCols) > 0
SET @sIncludeCols = @sIncludeCols + ','
SET @sIncludeCols = @sIncludeCols + '[' + @IxColumn + ']'

END

FETCH NEXT
FROM curidxColumn
INTO @ColumnIDInTable
,@IxColumn
,@ColumnIDInIndex
,@IsIncludedColumn
END

CLOSE curidxColumn

DEALLOCATE curidxColumn

--append to the result
IF LEN(@sIncludeCols) > 0
SET @sIndexCols = @sSQL + @sIndexCols + CHAR(13) + ') ' + ' INCLUDE ( ' + @sIncludeCols + ' ) '
ELSE
SET @sIndexCols = @sSQL + @sIndexCols + CHAR(13) + ') '

-- Build the options
SET @sParamSQL = ' WITH (FILLFACTOR = ' + cast(isnull(@fillfactor, 90) AS VARCHAR(3)) + ', '

--set @sParamSQL = ' WITH ('
IF (INDEXPROPERTY(@idxTableID, @idxname, 'IsPadIndex') = 1)
SET @sParamSQL = @sParamSQL + ' PAD_INDEX = ON, '
ELSE
SET @sParamSQL = @sParamSQL + ' PAD_INDEX = OFF, '

IF (INDEXPROPERTY(@idxTableID, @idxname, 'IsPageLockDisallowed') = 1)
SET @sParamSQL = @sParamSQL + ' ALLOW_PAGE_LOCKS = ON, '
ELSE
SET @sParamSQL = @sParamSQL + ' ALLOW_PAGE_LOCKS = OFF, '

IF (INDEXPROPERTY(@idxTableID, @idxname, 'IsRowLockDisallowed') = 1)
SET @sParamSQL = @sParamSQL + ' ALLOW_ROW_LOCKS = ON, '
ELSE
SET @sParamSQL = @sParamSQL + ' ALLOW_ROW_LOCKS = OFF, '

IF (INDEXPROPERTY(@idxTableID, @idxname, 'IsStatistics') = 1)
SET @sParamSQL = @sParamSQL + ' STATISTICS_NORECOMPUTE = ON, '
ELSE
SET @sParamSQL = @sParamSQL + ' STATISTICS_NORECOMPUTE = OFF, '

SET @sParamSQL = @sParamSQL + ' DROP_EXISTING = OFF ) '
SET @sIndexCols = @sIndexCols + CHAR(13) + @sParamSQL + ' ON [' + @location + ']' + CHAR(13) + 'END ' + CHAR(10) + 'GO' + CHAR(13)

PRINT @sIndexCols

FETCH NEXT
FROM curidx
INTO @idxTableName
,@idxTableID
,@idxname
,@idxid
END

CLOSE curidx
DEALLOCATE curidx
sql-server
  • 1 respostas
  • 250 Views
Martin Hope
Andrew Lackenby
Asked: 2017-01-24 04:19:13 +0800 CST

O parâmetro fornecido sid está em uso

  • 2

Estou tentando copiar um usuário do meu servidor ativo para o meu servidor de DR usando o seguinte comando:

CREATE LOGIN [xxx] 
WITH PASSWORD = 0x010006278DD83306AD19FA8B0CE4405F13DA83DDDFB25B088D7C HASHED
    , SID = 0xFEEBD63ECD0F6A41AE60A6E0414F5A1D
    , DEFAULT_DATABASE = [master]
    , CHECK_POLICY = OFF
    , CHECK_EXPIRATION = OFF

Eu então recebo um erro:

Msg 15433, Nível 16, Estado 1, Linha 1 O parâmetro fornecido sid está em uso.

Então eu verifico o sys.syslogins com:

SELECT *
FROM sys.syslogins
WHERE sid =  '0xFEEBD63ECD0F6A41AE60A6E0414F5A1D'

Isso não encontra nada. Então, minha pergunta é o que mais poderia estar usando este sid?

sql-server sql-server-2005
  • 1 respostas
  • 5822 Views
Martin Hope
Andrew Lackenby
Asked: 2016-11-03 07:56:22 +0800 CST

Replicação transacional SQL e compactação em nível de tabela

  • 1

No momento, tenho meu servidor de produção com vários bancos de dados grandes e uso um segundo servidor SQL para fins de geração de relatórios. Eu mantenho as cópias de relatórios dos bancos de dados usando replicação transacional.

Como atualizamos recentemente para EE, desejo habilitar a compactação de dados em várias tabelas grandes no servidor de relatórios para economizar espaço em disco (atualmente não estou pronto para habilitá-la no servidor de produção)

Alguém já tentou isso e, em caso afirmativo, existem armadilhas ocultas?

As únicas armadilhas que posso ver são se a tabela for capturada novamente, a tabela replicada perderá sua compactação. Como todos os índices de relatórios adicionais também seriam perdidos, não é algo que eu faria levianamente.

sql-server sql-server-2014
  • 3 respostas
  • 833 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