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

Craig Efrein's questions

Martin Hope
Craig Efrein
Asked: 2024-09-17 17:28:49 +0800 CST

A consulta foi cancelada porque o custo estimado desta consulta excede o limite configurado

  • 5

Sempre que executo esta consulta:

SELECT trade_detail_id,trade_side_id,id,is_last,is_xml_detail_filled,save_date_time,trade_id,trade_ligne_id,type,xml_detailled_info,xml_state 
FROM some_table 
WHERE (NOT (is_xml_detail_filled =1))

O SQL Server envia de volta este erro:

Msg 8649, Nível 17, Estado 1, Linha 12
A consulta foi cancelada porque o custo estimado desta consulta (1191) excede o limite configurado de 12. Entre em contato com o administrador do sistema.

Em sp_configure, o limite de custo do governador de consulta é definido como 0.

Em Propriedades do servidor -> conexões , "Usar o controlador de consulta para evitar consultas de longa execução" está desabilitado.

DBCC USEROPTIONSnão menciona nada

opções do usuário

Então por que o erro?

Se eu usar SET QUERY_GOVERNOR_COST_LIMIT, o erro desaparece, mas eu não deveria precisar usar esse comando aqui se não houver limites em todo o servidor.

Instância do SQL Server 2019 CU28 no Windows 2019.

sql-server
  • 1 respostas
  • 67 Views
Martin Hope
Craig Efrein
Asked: 2023-02-06 21:30:10 +0800 CST

O que é o sinalizador de rastreamento 1605?

  • 7

O que é o sinalizador de rastreamento 1605 no SQL Server 2008 R2? Não consegui encontrar nenhuma documentação sobre isso até agora.

sql-server
  • 1 respostas
  • 91 Views
Martin Hope
Craig Efrein
Asked: 2021-04-02 05:30:15 +0800 CST

Servidor local de destino ausente no trabalho

  • 0

SQL Server 2016 Enterprise, CU15 + GDR.

O cliente recentemente começou a usar o OPCON em produção e notei que quando o OPCON cria jobs, ele não adiciona o Local Server como destino. Isso impede que o trabalho seja executado.

insira a descrição da imagem aqui

Existe alguma maneira de determinar se um trabalho específico não possui nenhum servidor de destino definido como é o caso acima?

Obrigado,
Craig

sql-server-agent sql-server-2016
  • 1 respostas
  • 57 Views
Martin Hope
Craig Efrein
Asked: 2020-08-20 05:00:17 +0800 CST

Leitor de arquivos XEL de eventos estendidos; Existe uma propriedade FileName disponível em QueryTableXEventData ou SqlBulkCopy

  • 1

Usando a classe QueryTableXEventData no Powershell, sou capaz de analisar centenas de arquivos XEL muito rapidamente e exportar seu conteúdo para uma tabela no SQL Server usando SQLBulkCopy

Exemplo:

$events = new-object Microsoft.SqlServer.XEvent.Linq.QueryableXEventData
("\\some_file_path\XELog_Files*.xel")

Eu não vejo uma propriedade File no array $fields.

$event | Select-Object -ExpandProperty Fields

is_cached     System.Boolean              True
is_recovered  System.Boolean             False
is_dac        System.Boolean             False
database_id   System.UInt32                 73
packet_size   System.UInt32               8000
options       System.Byte[]  {32, 0, 0, 40...}
options_text  System.String
database_name System.String

Ou em $eventos

Name      : login
UUID      : 13e22e12-3cb8-49bf-a3e1-131faa95601c
Package   : Microsoft.SqlServer.XEvent.Linq.Internal.XEventInteropPackage
Metadata  : Microsoft.SqlServer.XEvent.Linq.Internal.XEventInteropEventMetadata
Timestamp : 18/08/2020 03:41:37 +00:00
Fields    : {is_cached, is_recovered, is_dac, database_id...}
Actions   : {server_instance_name, database_name, database_id, client_hostname...}
Location  : Microsoft.SqlServer.XEvent.Linq.EventLocator

Existe uma propriedade que eu possa usar em SQLBulkCopy ou QueryTableXEventData que tenha o nome do arquivo que está sendo lido ou exportado?

sql-server extended-events
  • 1 respostas
  • 253 Views
Martin Hope
Craig Efrein
Asked: 2018-11-16 22:04:08 +0800 CST

Não é possível criar banco de dados no volume montado como pasta (Mensagem de erro 5123 e 1802)

  • 3

SQL Server 2016 SP1 + CU8 Instalado no Windows Server 2016 Standard Edition.

Tudo estava funcionando bem por um tempo e eu consegui criar bancos de dados até que, por algum motivo sem que eu soubesse, um problema de permissões apareceu nos meus volumes montados.

Msg 5123, Level 16, State 1, Line 1
CREATE FILE encountered operating system error 5(Access is denied.) 
while attempting to open or create the physical file 
'D:\MSSQL13.MSSQLSERVER\MSSQL\Data\UserDB\test.mdf'.
Msg 1802, Level 16, State 4, Line 1
CREATE DATABASE failed. Some file names listed could not be created. 
Check related errors.

A pasta D:\MSSQL13.MSSQLSERVER\MSSQL\Data\UserDB é na verdade um volume montado como uma pasta dentro do diretório D:\MSSQL13.MSSQLSERVER\MSSQL\Data.

insira a descrição da imagem aqui

Eu pesquisei por horas e todos os links continuaram falando sobre propriedade e icacls e takecontrol, mas esse não é o problema aqui. Quero deixar claro que a conta de serviço que executa o SQL Server nesta instância tem CONTROLE TOTAL sobre este volume montado e o que está acima dele também.

Verifiquei o Acesso Efetivo para a conta de serviço e ela concedeu explicitamente o controle TOTAL.

Minha suspeita é que tenha algo a ver com a concessão de permissões para uma pasta montada como um volume em vez de um disco. Isso porque em meus testes, consigo criar um banco de dados com seus arquivos na raiz de D:\ sem problemas. D:\ também é um volume que usa o mesmo tipo de armazenamento.

Além disso, meu próprio usuário tem controle total, mas quando tento criar um arquivo, recebo esse aviso.

insira a descrição da imagem aqui

Curiosamente, posso adicionar uma pasta à pasta/volume do UserDB sem dificuldade.

Como faço para que este volume, montado como uma pasta na unidade D:\ seja gravável para a conta MSSQL?

sql-server permissions
  • 2 respostas
  • 1661 Views
Martin Hope
Craig Efrein
Asked: 2018-10-06 04:18:04 +0800 CST

sp_help_revlogin para usuários de banco de dados independente?

  • 3

Estou usando sp_help_revlogin há muito tempo para transferir entidades de servidor de uma instância SQL para outra.

Existe um equivalente sp_help_revlogin que pode gerar scripts de criação para usuários de banco de dados parcialmente independentes? Entendo que, se eu fizer backup/restaurar o usuário independente, mas preciso implantar usuários de um banco de dados independente para outro banco de dados independente diferente.

sql-server contained-database
  • 1 respostas
  • 544 Views
Martin Hope
Craig Efrein
Asked: 2017-12-27 08:51:05 +0800 CST

Gere CREATE DATABASE FOR ATTACH para todos os bancos de dados de usuários existentes

  • 2

Alguém tem um script TSQL que possa gerar automaticamente o código necessário para anexar TODOS os bancos de dados de usuários existentes usando a sintaxe CREATE DATABASE FOR ATTACH ?

exemplo:

CREATE DATABASE [mydatabase] ON 
(FILENAME=N'E:\MSSQL\Data\mydatabase.mdf'),
(FILENAME=N'D:\MSSQL.1\MSSQL\Data\mydatabase_log.ldf'),
(FILENAME=N'E:\MSSQL\Data\mydatabase_ndf.ndf')
 FOR ATTACH

Encontrei muitos exemplos usando sp_attach_db, mas nenhum com a sintaxe CREATE DATABASE FOR ATTACH.

Obrigado,

Craig

sql-server attach
  • 3 respostas
  • 4253 Views
Martin Hope
Craig Efrein
Asked: 2017-03-30 00:47:45 +0800 CST

Erro de otimização na memória: o diretório de geração de código não pode ser criado ou configurado corretamente

  • 6

Encontrei um problema ontem ao tentar criar a primeira tabela memory_optimized em um SQL Server 2016 SP1 Enterprise Edition.

Eu criei o banco de dados e o grupo de arquivos assim

CREATE DATABASE imoltp   --  Transact-SQL  
 CONTAINMENT = NONE
 ON  PRIMARY 
( 
    NAME = N'imoltp', 
    FILENAME = N'F:\UNREFRESHED_DB\imoltp.mdf' , 
    SIZE = 5120KB , 
    FILEGROWTH = 1024KB 
)
 LOG ON 
    ( 
        NAME = N'imoltp_log', 
        FILENAME = N'F:\UNREFRESHED_DB\imoltp_log.ldf' , 
        SIZE = 2048KB , FILEGROWTH = 10%
    )
GO

ALTER DATABASE imoltp ADD FILEGROUP [imoltp_mod]  
    CONTAINS MEMORY_OPTIMIZED_DATA;  

ALTER DATABASE imoltp ADD FILE  
    (name = [imoltp_dir], filename= 'F:\UNREFRESHED_DB\imoltp_dir')  
    TO FILEGROUP imoltp_mod;  
go  

Então eu criei a tabela

USE imoltp
GO

CREATE TABLE imoltp.[dbo].[T1] (  
  [TempID] INT NOT NULL PRIMARY KEY NONCLUSTERED HASH WITH (BUCKET_COUNT=1000000),  
  [object_ids] NVARCHAR(255) NOT NULL,
  [names] NVARCHAR(255) NOT NULL,
  [comment] NVARCHAR(50)
) WITH (MEMORY_OPTIMIZED=ON, DURABILITY = SCHEMA_ONLY);  

GO

O que resulta neste erro:

Msg 41334, Level 16, State 0, Line 8 O diretório de geração de código não pode ser criado ou configurado corretamente.

Finalmente descobri que o SQL estava tentando criar um diretório (XTP) no local do banco de dados padrão definido nas propriedades do servidor que não existia mais nessa situação. Este diretório é onde ele deseja armazenar os arquivos dll necessários na memória.

https://blogs.msdn.microsoft.com/bobsql/2016/08/23/create-table-disk-vs-in-memory-optimized/

Então minhas perguntas são essas.

Existe uma maneira de definir onde o diretório XTP será criado na sintaxe CREATE TABLE ou em outro lugar?

Obrigado, Craig

sql-server sql-server-2016
  • 1 respostas
  • 1819 Views
Martin Hope
Craig Efrein
Asked: 2016-11-24 08:36:27 +0800 CST

SlaveThreadCount em 0 para usuário não root, deve ser 2

  • 1

No MySQL 5.5 rodando no Ubuntu 14 em uma configuração mestre-mestre-escravo

De um dos mestres, ao executar a consulta abaixo como usuário com (TODOS OS PRIVILÉGIOS) no banco de dados mas sem nenhum outro privilégio em outro lugar, esta consulta retorna 0

SELECT COUNT(1) SlaveThreadCount 
FROM information_schema.processlist 
WHERE user='system user'

Ao executar o mesmo usuário como root, IE (TODOS OS PRIVILÉGIOS) em tudo, recebo de volta a contagem real de escravos.

Algum motivo específico para o retorno de 0 e não o SlaveThreadCount real, que é 2 neste caso?

Isso é uma questão de privilégios?

Se eu executar a consulta sem haver WHERE no usuário não raiz, vejo apenas meus processos.

SELECT * FROM information_schema.processlist

Se eu executá-lo em um usuário root, vejo todos os processos.

Definitivamente, é um problema de permissão, então parece que preciso de PROCESS, acabei de responder minha própria pergunta.

mysql replication
  • 1 respostas
  • 66 Views
Martin Hope
Craig Efrein
Asked: 2016-07-30 00:37:12 +0800 CST

Como atualizar estatísticas para tabelas de sistema de um banco de dados

  • 6

Recentemente, atualizamos muitas de nossas instâncias para 2016. Como resultado, uma instrução SELECT de sqlpackage.exe está expirando em algumas instâncias.

Depois de alguns testes, descobri que ao atualizar as estatísticas nas tabelas do sistema do banco de dados que aparecem no plano de execução, o SELECT parou de atingir o tempo limite.

update statistics sys.[sysclsobjs] with fullscan
update statistics sys.[syscolpars] with fullscan
update statistics sys.[sysidxstats] with fullscan
update statistics sys.[sysiscols] with fullscan
update statistics sys.[sysobjvalues] with fullscan

Existe alguma maneira através dos pacotes de manutenção padrão, scripts de Ola Hallengren ou algum outro processo para atualizar apenas as estatísticas da tabela do sistema?

Atualização 08/01

Aqui estão as etapas que segui após a atualização

Sobre o traceflag 4199 KB974006

-- for the instance
/* 
Turn on traceflag 4199 (my understanding of this traceflag is that it disables
optimizer hotfixes in 2016
*/

-- disable automatic numa
sp_configure 'automatic soft-NUMA disabled', 1
GO

-- For each database
-- Turn on Query optimizer hotfixes
-- Turn off Legacy cardinality estimation

exec sp_MSforeachDB 'ALTER DATABASE [?] SET COMPATIBILITY_LEVEL = 130;
USE [?]; 
ALTER DATABASE SCOPED CONFIGURATION SET QUERY_OPTIMIZER_HOTFIXES = ON;
ALTER DATABASE SCOPED CONFIGURATION SET LEGACY_CARDINALITY_ESTIMATION = OFF;

-- update statistics for all tables, system tables are ignored
EXEC sp_MSforeachtable ''UPDATE STATISTICS [?] WITH FULLSCAN''
'

Atualização 08/02

Aqui está o SELECT do sqlpackage.exe causando timeouts para o TFS

SELECT * FROM (
SELECT 
SCHEMA_NAME([o].[schema_id]) AS [SchemaName],
[si].[object_id] AS [ColumnSourceId],
[o].[name] AS [ColumnSourceName],
[o].[type] AS [ColumnSourceType],
[ic].[column_id] AS [ColumnId],
[c].[name] AS [ColumnName],
[si].[index_id] AS [IndexId],
[si].[name] AS [IndexName],
[ds].[type] AS [DataspaceType],
[ds].[data_space_id] AS [DataspaceId],
[ds].[name] AS [DataspaceName],
[si].[fill_factor] AS [FillFactor],
[si].[is_padded] AS [IsPadded],
[si].[is_disabled] AS [IsDisabled],
[si].[allow_page_locks] AS [DoAllowPageLocks],
[si].[allow_row_locks] AS [DoAllowRowLocks],
[sit].[cells_per_object] AS [CellsPerObject],
[sit].[bounding_box_xmin] AS [XMin],
[sit].[bounding_box_xmax] AS [XMax],
[sit].[bounding_box_ymin] AS [YMin],
[sit].[bounding_box_ymax] AS [YMax],
[sit].[level_1_grid] AS [Level1Grid],
[sit].[level_2_grid] AS [Level2Grid],
[sit].[level_3_grid] AS [Level3Grid],
[sit].[level_4_grid] AS [Level4Grid],
[sit].[tessellation_scheme] AS [TessellationScheme],
[s].[no_recompute] AS [NoRecomputeStatistics],
[p].[data_compression] AS [DataCompressionId],
CONVERT(bit, CASE WHEN [ti].[data_space_id] = [ds].[data_space_id] THEN 1 ELSE 0 END)
AS [EqualsParentDataSpace]
FROM
[sys].[spatial_indexes] AS [si] WITH (NOLOCK)
INNER JOIN [sys].[objects] AS [o] WITH (NOLOCK) ON [si].[object_id] = [o].[object_id]
INNER JOIN [sys].[spatial_index_tessellations] [sit] WITH (NOLOCK) ON [si].[object_id] = [sit].[object_id] AND [si].[index_id] = [sit].[index_id]
INNER JOIN [sys].[data_spaces] AS [ds] WITH (NOLOCK) ON [ds].[data_space_id] = [si].[data_space_id] 
INNER JOIN [sys].[index_columns] AS [ic] WITH (NOLOCK) ON [si].[object_id] = [ic].[object_id] AND [si].[index_id] = [ic].[index_id]
INNER JOIN [sys].[columns] AS [c] WITH (NOLOCK) ON [si].[object_id] = [c].[object_id] AND [ic].[column_id] = [c].[column_id]
INNER JOIN [sys].[objects] AS [o2] WITH (NOLOCK) ON [o2].[parent_object_id] = [si].[object_id]
INNER JOIN [sys].[stats] AS [s] WITH (NOLOCK) ON [o2].[object_id] = [s].[object_id] AND [s].[name] = [si].[name]
INNER JOIN [sys].[partitions] AS [p] WITH (NOLOCK) ON [p].[object_id] = [o2].[object_id] AND [p].[partition_number] = 1
LEFT JOIN [sys].[indexes] AS [ti] WITH (NOLOCK) ON [o].[object_id] = [ti].[object_id]
LEFT JOIN [sys].[tables] AS [t] WITH (NOLOCK) ON [t].[object_id] = [si].[object_id]
WHERE [si].[is_hypothetical] = 0
AND [ti].[index_id] < 2
AND OBJECTPROPERTY([o].[object_id], N'IsSystemTable') = 0
AND ([t].[is_filetable] = 0 OR [t].[is_filetable] IS NULL)
AND ([o].[is_ms_shipped] = 0 AND NOT EXISTS (SELECT *
FROM [sys].[extended_properties]
WHERE [major_id] = [o].[object_id]
AND [minor_id] = 0
AND [class] = 1
AND [name] = N'microsoft_database_tools_support'
))
) AS [_results] 

Se eu não atualizar as estatísticas da tabela do sistema para o banco de dados, este SELECT pode e irá expirar ao implantar via sqlpackage.exe

execution-plan statistics
  • 2 respostas
  • 3103 Views
Martin Hope
Craig Efrein
Asked: 2016-06-07 01:59:22 +0800 CST

Após a atualização para 2016, o SQL Server Agent não pode se conectar à instância

  • 8

Em um servidor Windows 2012 R2 em cluster com SQL Server 2014 Enterprise.

Acabei de atualizar uma instância de 2014 SP1 CU4 para 2016 RTM e agora recebo este erro ao tentar iniciar o SQL Server Agent.

LOG DO AGENTE DO SQL SERVER

2016-06-06 11:53:58 - ? [100] Microsoft SQLServerAgent version 13.0.1601.5 (X64 unicode retail build) : Process ID 10884
2016-06-06 11:53:58 - ? [495] The SQL Server Agent startup service account is DOMAIN\USERNAME.
2016-06-06 11:54:28 - ! [150] SQL Server does not accept the connection (error: 65535). Waiting for Sql Server to allow connections. Operation attempted was: Verify Connection On Start.
2016-06-06 11:54:28 - ! [000] Unable to connect to server 'SERVERNAME\INSTANCENAME'; SQLServerAgent cannot start
2016-06-06 11:54:33 - ! [298] SQLServer Error: 65535, SQL Server Network Interfaces: Error Locating Server/Instance Specified [xFFFFFFFF]. [SQLSTATE 08001] 
2016-06-06 11:54:33 - ! [165] ODBC Error: 0, Login timeout expired [SQLSTATE HYT00] 
2016-06-06 11:54:33 - ! [298] SQLServer Error: 65535, A network-related or instance-specific error has occurred while establishing a connection to SQL Server. Server is not found or not accessible. Check if instance name is correct and if SQL Server is configured to allow remote connections. For more information see SQL Server Books Online. [SQLSTATE 08001] 
2016-06-06 11:54:33 - ! [382] Logon to server 'SERVERNAME\INSTANCENAME' failed (DisableAgentXPs)
2016-06-06 11:54:33 - ? [098] SQLServerAgent terminated (normally)

Log de aplicativos do Windows

SQLServerAgent could not be started (reason: Unable to connect to server 'A08SQL-EDI\EDI'; SQLServerAgent cannot start).

O agente é iniciado e executado por cerca de 30 segundos e, em seguida, morre com o erro acima. Alguém se deparou com esse problema? E você sabe como resolver isso?

sql-server upgrade
  • 2 respostas
  • 15148 Views
Martin Hope
Craig Efrein
Asked: 2016-06-02 01:03:54 +0800 CST

DROP USER demora muito quando há muitos usuários

  • 11

Em uma instância do SQL Server 2014 com RAM suficiente e discos rápidos, existem mais de 160 usuários com acesso a um banco de dados. Por algum motivo desconhecido para mim, a execução do comando DROP USER [username]neste banco de dados leva até 5 segundos por usuário.

Remapear usuários para logins e restaurar suas permissões é muito rápido.

No contexto de atualização dos bancos de dados DEV da produção, tenho que descartar e recriar todos os usuários do banco de dados. Portanto, é necessário descartar os usuários do banco de dados e recriá-los.

Como faço para acelerar o DROP USERcomando?

Lembre-se, tenho que executá-lo 160 vezes para a instância sobre a qual estou escrevendo.

Este é o SQL que estou usando:

DECLARE drop_user_cur CURSOR FOR 
SELECT name FROM #drop_users

OPEN drop_user_cur
FETCH NEXT FROM drop_user_cur INTO @user

WHILE @@FETCH_STATUS = 0
BEGIN
    SET @sql = 'use [' + @db_name + '] DROP USER [' + @user + ']'
    BEGIN TRY
        print @sql
        EXECUTE(@sql)
    END TRY
    BEGIN CATCH
        print 'ERREUR : ' + @sql
    END CATCH
    FETCH NEXT FROM drop_user_cur INTO @user
END

CLOSE drop_user_cur
DEALLOCATE drop_user_cur

O problema não está vindo do cursor; é o real DROP USERque está demorando até 5 segundos.

Usando sp_whoisactive, o wait_type é NULL.

insira a descrição da imagem aqui

Não preste atenção à duração, o DROPe CREATE USERestava sendo executado em um WHILEloop, e é por isso que está dizendo mais de um minuto.

O Profiler mostra mais de 125.000 leituras para executar DROP USER.

O Service Broker não está ativado.

sql-server security
  • 3 respostas
  • 2200 Views
Martin Hope
Craig Efrein
Asked: 2016-01-06 03:30:11 +0800 CST

RESTORE FROM URL morre durante a recuperação do banco de dados

  • 3

Tentando restaurar um pequeno backup do Azure BLOB

RESTORE DATABASE MY_DATABASE FROM  URL = 'https://somelocation.blob.core.windows.net/mydatabase.bak' 
WITH FILE=1
,MOVE N'MY_DATABASE'TO N'D:\DATA\MY_DATABASE.mdf'
,MOVE N'MY_DATABASE_log'TO N'D:\LOG\MY_DATABASE_log.ldf'
,NOUNLOAD,  REPLACE,  STATS = 2, CREDENTIAL = 'somecredential'

E em algum lugar em cerca de 98%, a restauração simplesmente morre

86 percent processed.
88 percent processed.
90 percent processed.
92 percent processed.
94 percent processed.
96 percent processed.
98 percent processed.
Msg 3013, Level 16, State 1, Line 8
RESTORE DATABASE is terminating abnormally.

Aqui está a saída do log com os sinalizadores de rastreamento ativados

2016-01-08 08:59:52.780 spid63  RestoreDatabase: Database MY_DATABASE
2016-01-08 08:59:52.790 spid63  Opening backup set
2016-01-08 08:59:52.790 spid63  VDI: "C:\Program Files\Microsoft SQL Server\MSSQL12.DATA\MSSQL\Binn\BackupToUrl.exe" "r" "p" "680074007400700073003A002F002F006B0039003900730074006F003000300032002E0062006C006F0062002E0063006F00720065002E00770069006E0064006F00770073002E006E00650074002F006B0030003100730071006C002D0063006C0075002D0032002F004C005F0043004100540041004C004F0047005F00430044004900530043004F0055004E0054005F004D004900440044004C00450043004D0053005F0032003000310036005F00300031005F00300033005F003000310030003300350038002E00620061006B00" "6B0039003900730074006F00300030003200" "01000000D08C9DDF0115D1118C7A00C04FC297EB010000007D2AFDE19FCC3F4FBB113683EF29D7B5000000001200000061007A007500720065006B0065007900000003660000C000000010000000ED978F2ACEBB06BA73899E4D62DCEED10000000004800000A000000010000000FC5DAF946420975518E0336799E9FA2F48000000A5B7746C13945ABD05048D8CE67E8ACCF4A429616B12B1C1FBAA7B6C0AC4F8466F63644135D0C88F6DBA6D76BB18A550B81C15005FB538B4EA3C109B91549E3DE8872F460703247F14000000EE9427440D53CEEF53072D911D1CF92CA7BC1A2B" "NOFORMAT" "4C005F0043004100540041004C004F004700" "D:\DATA\SYSTEM\MSSQL12.DATA\MSSQL\Log" "DB" "54004500530054005F004D004900440044004C00450043004D005300" "NOTRACE"
2016-01-08 08:59:52.790 spid63  BackupToUrl process initiated with PID: 17796, for database name [MY_DATABASE]
2016-01-08 09:00:12.410 spid63  SetTargetRestoreAge: 0
2016-01-08 09:00:12.410 spid63  Restore: Configuration section loaded
2016-01-08 09:00:12.410 spid63  Restore: Backup set is open
2016-01-08 09:00:12.410 spid63  Restore: Planning begins
2016-01-08 09:00:12.440 spid63  Halting FullText crawls on database MY_DATABASE
2016-01-08 09:00:12.440 spid63  Dismounting FullText catalogs
2016-01-08 09:00:12.440 spid63  X-locking database: MY_DATABASE
2016-01-08 09:00:12.440 spid63  Restore: Planning complete
2016-01-08 09:00:12.450 spid63  Restore: BeginRestore (offline) on MY_DATABASE
2016-01-08 09:00:12.760 spid63  Restore: PreparingContainers
2016-01-08 09:00:14.210 spid63  Restore: Containers are ready
2016-01-08 09:00:14.210 spid63  Zeroing D:\DATA\MY_DATABASE_8.ldf from page 1 to 295800 (0x2000 to 0x906f0000)
2016-01-08 09:00:14.260 spid63  Restore: Restoring backup set
2016-01-08 09:00:14.260 spid63  Restore: Transferring data to MY_DATABASE
2016-01-08 09:01:14.370 spid63  Zeroing completed on D:\DATA\MY_DATABASE_8.ldf
2016-01-08 09:01:14.370 spid63  Zeroing D:\DATA\MY_DATABASE_log2.ldf from page 1 to 295800 (0x2000 to 0x906f0000)
2016-01-08 09:01:18.950 spid63  Restore: Waiting for log zero on MY_DATABASE
2016-01-08 09:02:16.370 spid63  Zeroing completed on D:\DATA\MY_DATABASE_log2.ldf
2016-01-08 09:02:16.370 spid63  Zeroing D:\DATA\MY_DATABASE_log3.ldf from page 1 to 295800 (0x2000 to 0x906f0000)
2016-01-08 09:03:15.440 spid63  Zeroing completed on D:\DATA\MY_DATABASE_log3.ldf
2016-01-08 09:03:15.440 spid63  Zeroing D:\DATA\MY_DATABASE_log4.ldf from page 1 to 295800 (0x2000 to 0x906f0000)
2016-01-08 09:04:13.620 spid63  Zeroing completed on D:\DATA\MY_DATABASE_log4.ldf
2016-01-08 09:04:13.620 spid63  Zeroing D:\DATA\MY_DATABASE_log5.ldf from page 1 to 244456 (0x2000 to 0x775d0000)
2016-01-08 09:05:06.270 spid63  Zeroing completed on D:\DATA\MY_DATABASE_log5.ldf
2016-01-08 09:05:06.270 spid63  FileHandleCache: 0 files opened. CacheSize: 14
2016-01-08 09:05:06.480 spid63  Resuming any halted fulltext crawls

Se o backup tivesse sido concluído com sucesso, eu teria visto esta linha logo após a mensagem de rastreamento de texto completo

2016-01-08 08:53:38.720 spid63  Restore: Writing history records
2016-01-08 08:53:38.720 Backup  Database was restored: Database: MY_DATABASE_log5, creation date(time): 2014/12/10(22:04:35), first LSN: 71976:92071:1, last LSN: 71976:100304:1, number of dump devices: 1, device information: (FILE=1, TYPE=URL: {'https://somelocation.blob.core.windows.net/MY_DATABASE_2016_01_08_010437.bak'}). Informational message. No user action required.

Quanto à mensagem de erro, encontrei esta

Mensagem de erro ao executar um backup de banco de dados em disco ou fita ou uma restauração de banco de dados de disco ou fita: "3266", "3013"

O RESTORE VERIFYONLY é concluído com sucesso.

Outras restaurações de banco de dados do mesmo local foram concluídas com êxito. Uma restauração do mesmo backup localmente no servidor funciona bem. Leva uma eternidade para se recuperar por causa dos > 1000 VLFs.

A única informação nos logs é esta

Processo BackupToUrl iniciado com PID: 4632, para nome do banco de dados [MY_DATABASE]

Por que o banco de dados de restauração está falhando e não restaura a verificação?

Se esse fosse um problema causado por tempos de download muito lentos, haveria um erro de tempo limite em algum lugar?

Agora acredito que o problema está sendo causado pelo alto número de VLFs e que a sessão ainda pode depender de alguma forma da conexão com o armazenamento de blob do Azure.

sql-server sql-server-2014
  • 1 respostas
  • 704 Views
Martin Hope
Craig Efrein
Asked: 2015-10-17 02:54:23 +0800 CST

Problema de consulta distribuída em quatro partes de 2014 a 2008R2

  • 2

De um SQL Server 2014 RTM em nosso ambiente DEV, estou executando esta consulta usando um login SQL.

select t.noshipid, y.nofolder 
                        from distantserver.distantdatabase.dbo.sometable t (nolock)
                        inner join  somedatabase.dbo.sometable y (nolock) 
                            on cast(t.nobill as bigint) = y.nobill
                        where t.type_payment = 'CE'
                        group by t.noshipid, y.nofolder

servidor distante está em 2008 R2.

eu recebo de volta um erro

Msg 8522, Nível 16, Estado 3, Linha 1 O Microsoft Distributed Transaction Coordinator (MS DTC) interrompeu esta transação.

Se eu executar a mesma consulta no servidor de produção que é 2008 R2, sem erros.

1: O login do SQL em questão possui o acesso necessário.

2: O provedor que está sendo usado para conectar ao servidor 2008 R2 é SQLNCLI10

Perguntas:

1: É possível que a atualização do servidor DEV para 2014 esteja causando esses problemas?

2: Há algum problema conhecido usando um identificador de quatro partes de 2014 a 2008 R2?

from distantserver.distantdatabase.dbo.sometable

em vez de usar openquery

FROM    OPENQUERY([distantserver],

pois usando OPENQUERY, a consulta não retorna erros.

3: Há alguma opção sp_configure ou opções de servidor vinculado que preciso configurar por causa de 2014?

Atualização 14:41

se eu adicionar

BEGIN DISTRIBUTED TRANSACTION

no topo, a parte distribuída funciona bem. Só quero enfatizar o fato de que antes da atualização, isso não era necessário.

sql-server linked-server
  • 1 respostas
  • 1635 Views
Martin Hope
Craig Efrein
Asked: 2015-09-01 08:12:07 +0800 CST

O SQL Server Agent faz login como convidado em um servidor vinculado

  • 3

Eu tenho um trabalho chamado @test_credentials que executa a seguinte consulta

select * from openquery(SERVER2, 
'select USER_NAME(),* from openquery(SERVER1,''SELECT USER_NAME() '')') 

e envia esses resultados para um arquivo.

Trabalho '@test_credentials': Etapa 1, 'test_credentials': começou a executar 31/08/2015 17:53:45

convidado LinkedServerUser

(1 linha(s) afetada(s))

  1. As definições de servidor vinculado para ambos SERVER1e SERVER2estão usando o linkedserveruser para efetuar login um no outro (opção de contexto de segurança).
  2. Ambas as definições de servidor vinculado são definidas com as mesmas opções
  3. A conta de usuário linkedserveruser existe em ambos os servidores e não está desativada de forma alguma.
  4. A conta de serviço que executa o AGENT é idêntica para SERVER1 e SERVER2.

Então minha pergunta é esta:

Por que o SQL Server Agent está fazendo login como convidado no SERVER2 ao executar este trabalho?

security sql-server-agent
  • 1 respostas
  • 189 Views
Martin Hope
Craig Efrein
Asked: 2015-08-27 11:53:48 +0800 CST

Erro ao converter o tipo de dados nvarchar em float. Servidor Vinculado Oracle

  • 0

Ao executar a seguinte consulta

select value, cast(value as float) float_value 
from OPENQUERY([ORACLESERVER],
'select 3/5 as value from table')

Eu estou recebendo o seguinte erro:

Msg 8114, Level 16, State 5, Line 1
Error converting data type nvarchar to float

.

Posso executar essa mesma consulta em outro servidor com o mesmo sistema operacional Windows 2012 R2, o mesmo SQL Server 2008 R2 Server e a mesma versão do cliente Oracle 12.1.0 e obter o resultado correto:

value   float_value
.6  0,6

Os servidores vinculados em ambos os servidores são configurados de forma idêntica.

A versão do Oracle Server é

select * from OPENQUERY([ORACLESERVER],'SELECT * FROM V$VERSION')
Oracle Database 10g Enterprise Edition Release 10.2.0.3.0 - 64bi
PL/SQL Release 10.2.0.3.0 - Production
CORE   10.2.0.3.0   Production
TNS for HPUX: Version 10.2.0.3.0 - Production
NLSRTL Version 10.2.0.3.0 – Production

Há alguma outra opção de configuração que eu tenha esquecido no SQL Server e/ou no Oracle Client que pode estar causando esses problemas.

oracle-10g sql-server-2008-r2
  • 1 respostas
  • 1556 Views
Martin Hope
Craig Efrein
Asked: 2015-06-18 00:32:25 +0800 CST

Erro ao criar banco de dados em novo armazenamento no SQL Server 2008 R2 Failover Cluster

  • 1

Por meio do Failover Cluster Manager, adicionei recentemente um novo disco a um cluster SQL Server 2008 R2 existente, em execução no Windows Server 2012 R2.

Ao tentar criar um banco de dados neste novo armazenamento, recebo o seguinte erro:

Msg 5123, Level 16, State 1, Line 1
CREATE FILE encountered operating system error 5(failed to retrieve text for this error. Reason: 15105) while attempting to open or create the physical file 'J:\DATA\mydatabase.mdf'.
Msg 1802, Level 16, State 4, Line 1
CREATE DATABASE failed. Some file names listed could not be created. Check related errors.
  1. Posso adicionar manualmente um arquivo a J:\data

  2. O novo armazenamento pode ser movido entre nós sem erros

  3. A conta de serviço do SQL Server tem controle total sobre toda a unidade J:\

  4. A conta de serviço do SQL Server tem controle total sobre J:\DATA Aqui está um layout da unidade, você notará que DATA é um volume separado montado dentro de J:\

insira a descrição da imagem aqui

Alguém pode me ajudar a descobrir por que estou recebendo esse erro?

Atualizar

De James, se eu adicionar um subdiretório aos dados, o comando create database funcionará

CREATE DATABASE [MCO_DB] ON  PRIMARY 
( NAME = N'MYDATABASE_DB', FILENAME = N'J:\DATA\MYDATABASE\MYDATABASE_DB.mdf' , SIZE = 3072KB , FILEGROWTH = 1024KB )
 LOG ON 
( NAME = N'MYDATABASE_DB_log', FILENAME = N'J:\TRN\MYDATABASE_DB_1.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
GO
sql-server-2008-r2 failover
  • 2 respostas
  • 764 Views
Martin Hope
Craig Efrein
Asked: 2015-06-11 00:19:35 +0800 CST

Rastreando os parâmetros de um procedimento armazenado após a execução

  • 7

Pediram-me para identificar um problema de permissões com um procedimento armazenado. Esse procedimento armazenado se comporta de duas maneiras possíveis, dependendo de quais valores são usados ​​para seus parâmetros.

exec ps_my_stored_procedure @a=1, @b=2, @c=3

é tratado de forma muito diferente de

exec ps_my_stored_procedure @a=5, @b=7, @c=0

Você poderia dizer que ps_my_stored_procedureé dividido logicamente em dois processos completamente separados.

Usando dm_exec_procedure_statse dm_exec_query_stats, posso encontrar o plano de execução que mostra o SQL do procedimento armazenado usado. Não consegui, no entanto, recuperar como os parâmetros foram definidos e com quais valores.

É possível usar dm_exec_procedure_statse dm_exec_query_statsquaisquer outras visualizações de gerenciamento para reconstruir a execução do procedimento armazenado que mostra os valores usados ​​para seus parâmetros.

O que eu realmente gostaria é de encontrar no cache, é a execução real do procedimento armazenado para que eu possa executá-lo como está usando EXECUTE AS LOGIN = 'someone'para resolver os problemas de permissão

sql-server stored-procedures
  • 2 respostas
  • 10545 Views
Martin Hope
Craig Efrein
Asked: 2015-05-31 06:19:04 +0800 CST

Não é possível remover o nó ativo da instância em cluster do SQL Server 2008 R2

  • 1

Estou tentando remover o único nó ativo de um cluster de failover do SQL Server 2008 R2.

insira a descrição da imagem aqui

Tudo verifica e então eu recebo este erro

  Final result:                  Failed: see details below
  Exit code (Decimal):           -568706566
  Exit facility code:            1562
  Exit error code:               14842
  Exit message:                  Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)
  Start time:                    2015-05-30 16:09:38
  End time:                      2015-05-30 16:10:28
  Requested action:              RemoveNode

2015-05-30 18:47:12 Slp: Sco: Attempting to write hklm registry key SOFTWARE\Wow6432Node\Microsoft\MSSQLServer to file C:\Program Files\Microsoft SQL Server\100\Setup Bootstrap\Log\20150530_184438\Registry_SOFTWARE_Wow6432Node_Microsoft_MSSQLServer.reg_
2015-05-30 18:47:13 Slp: Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)
2015-05-30 18:47:13 Slp: Watson bucket for exception based failure has been created





2015-05-30 16:10:24 Slp: Error: Action "Microsoft.SqlServer.Configuration.SetupExtension.ValidateFeatureSettingsAction" threw an exception during execution.
2015-05-30 16:10:24 Slp: Microsoft.SqlServer.Setup.Chainer.Workflow.ActionExecutionException: Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7) ---> System.Runtime.InteropServices.COMException (0x800700B7): Cannot create a file when that file already exists. (Exception from HRESULT: 0x800700B7)
2

Alguma ideia sobre o que está causando esse erro?

sql-server-2008-r2 clustering
  • 1 respostas
  • 975 Views
Martin Hope
Craig Efrein
Asked: 2015-04-30 06:57:52 +0800 CST

Falha ao anexar banco de dados: MSDTC Verifique o status da transação

  • 1

Estou anexando um banco de dados de um instantâneo obtido dos volumes do banco de dados de produção. Esses bancos de dados serão anonimizados e depois restaurados para nossos servidores DEV.

Aqui está minha declaração em anexo:

CREATE DATABASE MY_DB ON 
( FILENAME = N'H:\MY_DB.mdf' ),
( FILENAME = N'j:\MY_DB.ldf' ),
( FILENAME = N'i:\MY_DB.ndf' ),
( FILENAME = N'H:\MY_DB.mdf' ),
( FILENAME = N'i:\MY_DB.ndf' )
 FOR ATTACH
GO

E estou recebendo este erro:

Ocorreu um erro ao recuperar o banco de dados 'MY_DB'. Não é possível conectar-se ao Microsoft Distributed Transaction Coordinator (MS DTC) para verificar o status de conclusão da transação (2:2141366340). Corrija o MS DTC e execute a recuperação novamente.

Eu tenho:

  1. Segurança verificada no MSDTC por meio de serviços de componentes
  2. MSDTC reiniciado
  3. MSSQL reiniciado
  4. Restaurado outro banco de dados do mesmo volume

Pesquisar no Google não ajudou muito e meu maior medo é ter que recriar o instantâneo do volume apenas para este banco de dados. Existem outros 4 no mesmo volume que terão que ser refeitos também, se eu não encontrar uma solução alternativa.

Pergunta: Alguém sabe como resolver o erro acima?

sql-server restore
  • 1 respostas
  • 902 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