jueves, 5 de diciembre de 2019

sql server - bulk copy

bcp Spring2016.dbo.PR_PlanillaEmpleadoConcepto out C:\Users\jchaccha\Documents\PR_PlanillaEmpleadoConcepto.txt -c -S PESEREVER18\SQL2016 -U royal -P clave2015

bcp Spring2016.dbo.PR_PlanillaEmpleadoConcepto format nul -c -U royal -P clave2015 -S PESEREVER18\SQL2016 -f C:\Users\jchaccha\Documents\PR_PlanillaEmpleadoConcepto.fmt

BULK INSERT PR_PlanillaEmpleadoConcepto
FROM 'F:\BK\PR_PlanillaEmpleadoConcepto.txt'
WITH (
FORMATFILE = 'F:\BK\PR_PlanillaEmpleadoConcepto.fmt',
ERRORFILE ='F:\BK\PR_PlanillaEmpleadoConcepto.error',
keepnulls,
maxerrors = 500
);
GO


martes, 29 de octubre de 2019

Instalacion Net Core

3.1
3.0
2.2
2.1

Tips de Instalación
- La carpeta en donde se encuentra desplegada no tiene permisos, colocar la carpeta en una carpeta que IIS pueda crear archivos. C:\inetpub\wwwroot

- Authentication - Aplicación
Anonymous Authentication
ASP.NET Impersonation (Disabled)
Basic Authentication ** opcional
Digest Authentication ** opcional
Forms Authentication ** opcional
Windows Authentication ** opcional

miércoles, 11 de septiembre de 2019

SQL SERVER | Tamaño de Tablas en Base de Datos


--Cursor que contiene todos los objetos que ocupan espacio

DECLARE objects_cursor CURSOR local fast_forward read_only FOR

  SELECT s.NAME + '.' + o.NAME

  FROM   sys.schemas s

         INNER JOIN sys.objects o

                 ON o.schema_id = s.schema_id

  WHERE

    --o.type = 'S' or --Tablas de sistema

    o.type = 'U' --or --Tablas de usuario



--o.type = 'V' or --Vistas (solo las indexadas devuelven tamaño)

--o.type = 'SQ' or --Cola de servicio

--o.type = 'IT' -- Tablas internas usadas p.e. por el Service Broker o los indices XML

--Tabla temporal para albergar los resultados

CREATE TABLE #results

  (

     NAME       SYSNAME,

     rows       CHAR(11),

     reserved   VARCHAR(18),

     data       VARCHAR(18),

     index_size VARCHAR(18),

     unused     VARCHAR(18)

  )



--Recorremos el cursor obteniendo la información de espacio ocupado

DECLARE @object_name AS SYSNAME



OPEN objects_cursor



FETCH next FROM objects_cursor INTO @object_name;



WHILE @@FETCH_STATUS = 0

  BEGIN

      INSERT INTO #results

      EXEC Sp_spaceused

        @object_name



      FETCH next FROM objects_cursor INTO @object_name;

  END;



CLOSE objects_cursor;



DEALLOCATE objects_cursor;



-- Quitamos "KB" para poder ordenar

UPDATE #results

SET    reserved = LEFT(reserved, Len(reserved) - 3),

       data = LEFT(data, Len(data) - 3),

       index_size = LEFT(index_size, Len(index_size) - 3),

       unused = LEFT(unused, Len(unused) - 3)



--Ordenamos la información por el tamaño ocupado

SELECT NAME,

       reserved / 1024   AS [Tamaño en Disco (MB)],

       data / 1024       AS [Datos (MB)],

       index_size / 1024 AS [Indices (MB)],

       unused / 1024     AS [No usado (MB)],

       rows              AS Filas

FROM   #results

ORDER  BY CONVERT(BIGINT, reserved) DESC



DROP TABLE #results 

martes, 6 de noviembre de 2018

ORACLE | Bloqueo de Tablas 2

select /*+ ordered
no_merge(L_WAITER)
no_merge(L_LOCKER) use_hash(L_LOCKER)
no_merge(S_WAITER) use_hash(S_WAITER)
no_merge(S_LOCKER) use_hash(S_LOCKER)
use_nl(O)
use_nl(U)
*/
/* first the table-level locks (TM) and mixed TM/TX TX/TM */
S_LOCKER.SID SID_LOCKER,
S_LOCKER.SERIAL# SERIAL#_LOCKER,
S_LOCKER.USERNAME USERNAME_LOCKER,
S_LOCKER.OSUSER OSUSER_LOCKER,
S_LOCKER.MODULE MODULE_LOCKER,
S_LOCKER.ACTION ACTION_LOCKER,
S_LOCKER.PROGRAM PROGRAM_LOCKER,
S_WAITER.SECONDS_IN_WAIT SECONDS_IN_WAIT,
S_WAITER.SID SID_WAITER,
S_WAITER.SERIAL# SERIAL#_WAITER,
S_WAITER.USERNAME USERNAME_WAITER,
S_WAITER.OSUSER OSUSER_WAITER,
S_WAITER.MODULE MODULE_WAITER,
S_WAITER.ACTION ACTION_WAITER,
S_WAITER.PROGRAM PROGRAM_WAITER,
'Table lock (TM): '||O.OWNER||'.'||O.OBJECT_NAME||
' - Mode held: '||
decode(L_LOCKER.LMODE,
0, 'None', /* same as Monitor */
1, 'Null', /* N */
2, 'Row-S (SS)', /* L */
3, 'Row-X (SX)', /* R */
4, 'Share', /* S */
5, 'S/Row-X (SSX)', /* C */
6, 'Exclusive', /* X */
'???: '||to_char(L_LOCKER.LMODE))||
' / Mode requested: '||
decode(L_WAITER.REQUEST,
0, 'None', /* same as Monitor */
1, 'Null', /* N */
2, 'Row-S (SS)', /* L */
3, 'Row-X (SX)', /* R */
4, 'Share', /* S */
5, 'S/Row-X (SSX)', /* C */
6, 'Exclusive', /* X */
'???: '||to_char(L_WAITER.REQUEST))
SQL_TEXT_WAITER
from
V$LOCK L_WAITER,
V$LOCK L_LOCKER,
V$SESSION S_WAITER,
V$SESSION S_LOCKER,
dba_objects O
where S_WAITER.SID = L_WAITER.SID
and L_WAITER.TYPE IN ('TM','TX')
and S_LOCKER.sid = L_LOCKER.sid
and L_LOCKER.ID1 = L_WAITER.ID1
and L_WAITER.REQUEST > 0
and L_LOCKER.LMODE > 0
and L_WAITER.ADDR != L_LOCKER.ADDR
and L_WAITER.ID1 = O.OBJECT_ID
union all
select /*+ ordered
no_merge(L_WAITER)
no_merge(L_LOCKER) use_hash(L_LOCKER)
no_merge(S_WAITER) use_hash(S_WAITER)
no_merge(S_LOCKER) use_hash(S_LOCKER)
no_merge(L1_WAITER) use_hash(L1_WAITER)
no_merge(O) use_hash(O)
*/
/* now the (usual) row-locks TX */
S_LOCKER.SID SID_LOCKER,
S_LOCKER.SERIAL# SERIAL#_LOCKER,
S_LOCKER.USERNAME USERNAME_LOCKER,
S_LOCKER.OSUSER OSUSER_LOCKER,
S_LOCKER.MODULE MODULE_LOCKER,
S_LOCKER.ACTION ACTION_LOCKER,
S_LOCKER.PROGRAM PROGRAM_LOCKER,
S_WAITER.SECONDS_IN_WAIT SECONDS_IN_WAIT,
S_WAITER.SID SID_WAITER,
S_WAITER.SERIAL# SERIAL#_WAITER,
S_WAITER.USERNAME USERNAME_WAITER,
S_WAITER.OSUSER OSUSER_WAITER,
S_WAITER.MODULE MODULE_WAITER,
S_WAITER.ACTION ACTION_WAITER,
S_WAITER.PROGRAM PROGRAM_WAITER,
'TX: '||O.SQL_TEXT SQL_TEXT_WAITER
from
V$LOCK L_WAITER,
V$LOCK L_LOCKER,
V$SESSION S_WAITER,
V$SESSION S_LOCKER,
V$_LOCK L1_WAITER,
V$OPEN_CURSOR O
where S_WAITER.SID = L_WAITER.SID
and L_WAITER.TYPE IN ('TX')
and S_LOCKER.sid = L_LOCKER.sid
and L_LOCKER.ID1 = L_WAITER.ID1
and L_WAITER.REQUEST > 0
and L_LOCKER.LMODE > 0
and L_WAITER.ADDR != L_LOCKER.ADDR
and L1_WAITER.LADDR = L_WAITER.ADDR
and L1_WAITER.KADDR = L_WAITER.KADDR
and L1_WAITER.SADDR = O.SADDR
and O.HASH_VALUE = S_WAITER.SQL_HASH_VALUE;

martes, 30 de octubre de 2018

ORACLE | Bloqueo de Tablas

select /*+ ordered
no_merge(L_WAITER)
no_merge(L_LOCKER) use_hash(L_LOCKER)
no_merge(S_WAITER) use_hash(S_WAITER)
no_merge(S_LOCKER) use_hash(S_LOCKER)
use_nl(O)
use_nl(U)
*/
/* first the table-level locks (TM) and mixed TM/TX TX/TM */
S_LOCKER.SID SID_LOCKER,
S_LOCKER.SERIAL# SERIAL#_LOCKER,
S_LOCKER.USERNAME USERNAME_LOCKER,
S_LOCKER.OSUSER OSUSER_LOCKER,
S_LOCKER.MODULE MODULE_LOCKER,
S_LOCKER.ACTION ACTION_LOCKER,
S_LOCKER.PROGRAM PROGRAM_LOCKER,
S_WAITER.SECONDS_IN_WAIT SECONDS_IN_WAIT,
S_WAITER.SID SID_WAITER,
S_WAITER.SERIAL# SERIAL#_WAITER,
S_WAITER.USERNAME USERNAME_WAITER,
S_WAITER.OSUSER OSUSER_WAITER,
S_WAITER.MODULE MODULE_WAITER,
S_WAITER.ACTION ACTION_WAITER,
S_WAITER.PROGRAM PROGRAM_WAITER,
'Table lock (TM): '||U.NAME||'.'||O.NAME||
' - Mode held: '||
decode(L_LOCKER.LMODE,
0, 'None', /* same as Monitor */
1, 'Null', /* N */
2, 'Row-S (SS)', /* L */
3, 'Row-X (SX)', /* R */
4, 'Share', /* S */
5, 'S/Row-X (SSX)', /* C */
6, 'Exclusive', /* X */
'???: '||to_char(L_LOCKER.LMODE))||
' / Mode requested: '||
decode(L_WAITER.REQUEST,
0, 'None', /* same as Monitor */
1, 'Null', /* N */
2, 'Row-S (SS)', /* L */
3, 'Row-X (SX)', /* R */
4, 'Share', /* S */
5, 'S/Row-X (SSX)', /* C */
6, 'Exclusive', /* X */
'???: '||to_char(L_WAITER.REQUEST))
SQL_TEXT_WAITER
from
V$LOCK L_WAITER,
V$LOCK L_LOCKER,
V$SESSION S_WAITER,
V$SESSION S_LOCKER,
sys.OBJ$ O,
sys.USER$ U
where S_WAITER.SID = L_WAITER.SID
and L_WAITER.TYPE IN ('TM','TX')
and S_LOCKER.sid = L_LOCKER.sid
and L_LOCKER.ID1 = L_WAITER.ID1
and L_WAITER.REQUEST > 0
and L_LOCKER.LMODE > 0
and L_WAITER.ADDR != L_LOCKER.ADDR
and L_WAITER.ID1 = O.OBJ#
and U.USER# = O.OWNER#
union all
select /*+ ordered
no_merge(L_WAITER)
no_merge(L_LOCKER) use_hash(L_LOCKER)
no_merge(S_WAITER) use_hash(S_WAITER)
no_merge(S_LOCKER) use_hash(S_LOCKER)
no_merge(L1_WAITER) use_hash(L1_WAITER)
no_merge(O) use_hash(O)
*/
/* now the (usual) row-locks TX */
S_LOCKER.SID SID_LOCKER,
S_LOCKER.SERIAL# SERIAL#_LOCKER,
S_LOCKER.USERNAME USERNAME_LOCKER,
S_LOCKER.OSUSER OSUSER_LOCKER,
S_LOCKER.MODULE MODULE_LOCKER,
S_LOCKER.ACTION ACTION_LOCKER,
S_LOCKER.PROGRAM PROGRAM_LOCKER,
S_WAITER.SECONDS_IN_WAIT SECONDS_IN_WAIT,
S_WAITER.SID SID_WAITER,
S_WAITER.SERIAL# SERIAL#_WAITER,
S_WAITER.USERNAME USERNAME_WAITER,
S_WAITER.OSUSER OSUSER_WAITER,
S_WAITER.MODULE MODULE_WAITER,
S_WAITER.ACTION ACTION_WAITER,
S_WAITER.PROGRAM PROGRAM_WAITER,
'TX: '||O.SQL_TEXT SQL_TEXT_WAITER
from
V$LOCK L_WAITER,
V$LOCK L_LOCKER,
V$SESSION S_WAITER,
V$SESSION S_LOCKER,
V$_LOCK L1_WAITER,
V$OPEN_CURSOR O
where S_WAITER.SID = L_WAITER.SID
and L_WAITER.TYPE IN ('TX')
and S_LOCKER.sid = L_LOCKER.sid
and L_LOCKER.ID1 = L_WAITER.ID1
and L_WAITER.REQUEST > 0
and L_LOCKER.LMODE > 0
and L_WAITER.ADDR != L_LOCKER.ADDR
and L1_WAITER.LADDR = L_WAITER.ADDR
and L1_WAITER.KADDR = L_WAITER.KADDR
and L1_WAITER.SADDR = O.SADDR
and O.HASH_VALUE = S_WAITER.SQL_HASH_VALUE;