Labels

admin (1) aix (1) alert (1) always-on (2) Architecture (1) aws (3) Azure (1) backup (3) BI-DWH (10) Binary (3) Boolean (1) C# (1) cache (1) casting (3) cdc (1) certificate (1) checks (1) cloud (3) cluster (1) cmd (7) collation (1) columns (1) compilation (1) configurations (7) Connection-String (2) connections (6) constraint (6) copypaste (2) cpu (2) csv (3) CTE (1) data-types (1) datetime (23) db (547) DB2 (1) deadlock (2) Denali (7) device (6) dotNet (5) dynamicSQL (11) email (5) encoding (1) encryption (4) errors (124) excel (1) ExecutionPlan (10) extended events (1) files (7) FIPS (1) foreign key (1) fragmentation (1) functions (1) GCP (2) gMSA (2) google (2) HADR (1) hashing (3) in-memory (1) index (3) indexedViews (2) insert (3) install (10) IO (1) isql (6) javascript (1) jobs (11) join (2) LDAP (2) LinkedServers (8) Linux (15) log (6) login (1) maintenance (3) mariadb (1) memory (4) merge (3) monitoring (4) MSA (2) mssql (444) mssql2005 (5) mssql2008R2 (20) mssql2012 (2) mysql (36) MySQL Shell (5) network (1) NoSQL (1) null (2) numeric (9) object-oriented (1) offline (1) openssl (1) Operating System (4) oracle (7) ORDBMS (1) ordering (2) Outer Apply (1) Outlook (1) page (1) parameters (2) partition (1) password (1) Performance (103) permissions (10) pivot (3) PLE (1) port (4) PostgreSQL (14) profiler (1) RDS (3) read (1) Replication (12) restore (4) root (1) RPO (1) RTO (1) SAP ASE (48) SAP RS (20) SCC (4) scema (1) script (8) security (10) segment (1) server (1) service broker (2) services (4) settings (75) SQL (74) SSAS (1) SSIS (19) SSL (8) SSMS (4) SSRS (6) storage (1) String (35) sybase (57) telnet (2) tempdb (1) Theory (2) tips (120) tools (3) training (1) transaction (6) trigger (2) Tuple (2) TVP (1) unix (8) users (3) vb.net (4) versioning (1) windows (14) xml (10) XSD (1) zip (1)

ConnectionProperty

Returns information about the connection properties for the unique connection that a request came in on.

SELECT ConnectionProperty('auth_scheme')

SET QUOTED_IDENTIFIER

Determine if we can/can't create and use objects that have reserved keyword names.

SET QUOTED_IDENTIFIER OFF
GO
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GO
--> will be failed.

SET QUOTED_IDENTIFIER ON;
GO
CREATE TABLE "select" ("identity" INT IDENTITY NOT NULL, "order" INT NOT NULL);
GO
--> will be succeeded. 

Notes:
Reserved keyword should be delimited by double quotation
Default value of QUOTED_IDENTIFIER = ON.

Concatenate column results to a string

select STUFF((SELECT N';' + TableColumnName 
FROM dbo.SrcTableName 
FOR XML PATH(''), TYPE).value('.[1]', 'nvarchar(max)'), 1, 2, N'')

 Or:

declare @StrList nvarchar(max) = ''
update dbo.SrcTableName 
set @StrList = @StrList+ isnull(TableColumnName, '') + ','
select @StrList=left(@StrList,len(@StrList)-1)
select @StrList

Paging in Oracle

select * 
from (select rownum,fld1,fld2,fld3... from bigtable where <<CONDITION>> ) 
where rownum between 1 to 100 -- or between 101 to 200, and so on....

DELETE VS TRUNCATE

  • TRUNCATE is similar to the DELETE with no WHERE clause.
  • DELETE is a logged operation on a per row basis.  This means that the deletion of each row gets logged and physically deleted. TRUNCATE is also a logged operation, but in a different way. TRUNCATE logs the deallocation of the data pages in which the data exists.
  • Because of this, TRUNCATE is faster and uses fewer system and transaction log resources.
  • You can DELETE any row that will not violate a constraint, while leaving the foreign key or any other contraint in place.
  • You cannot TRUNCATE a table that has any foreign key constraints.  You will have to remove the contraints, TRUNCATE the table, and reapply the contraints.
  • TRUNCATE will reset any identity columns to the default seed value. DELETE will not do this.
  • You need to be db_owner, ddl_admin, or owner of the table to be able to fire a TRUNCATE statement.

If TRUNCATE is failed - check one of those differences.

sys.dm_os_wait_stats

Returns information about all the waits encountered by threads that executed. You can use this aggregated view to diagnose performance issues with SQL Server and also with specific queries and batches.

SELECT *
FROM sys.dm_os_wait_stats
ORDER BY wait_time_ms DESC