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)

SQL Azure

SQL Azure is a cloud-based service from Microsoft offering data storage capabilities.

Useful links:

SQL Azure - microsoft site:

SQL Azure Labs:

Unsupported Transact-SQL Statements in SQL Azure:

Connect to SQL Azure through a special project for developers without SSMS, Houston project:

INSTEAD OF DELETE trigger on view - ERROR

Error message:
DELETE is not allowed because the statement updates view "VVV" which participates in a join and has an INSTEAD OF DELETE trigger.

Explanation:
A view with an INSTEAD OF UPDATE / INSTEAD OF DELETE trigger cannot be a target of an UPDATE or DELETE statements with a FROM clause.

Work-Arounds:
1. Replace the JOIN with 'IN':
delete dbo.test1 
from dbo.test1 t1 join dbo.test2 t2 on t1.Id = t2.Id
-->
delete dbo.test1 where t1.Id IN (select Id from dbo.test2)

2. Replace the JOIN with EXISTS:
delete dbo.test1
from dbo.test1 t1 join dbo.test2 t2 on t1.Id = t2.Id
-->
delete dbo.test1
from dbo.test1 t1
where exists ( Select top 1 Id from dbo.test2 t2 Where t1.Id = t2.Id )

3. If possible - do the update/deletion on the original tables (= the source table/tables of the View).

SSRS - Expression-based Connection Strings

="data source=" & Parameters!ServerName.Value & ";initial catalog=AdventureWorks

Specify connection strings parameters as a report parameter.
Expression-based connection strings are evaluated at run time.

SQL Server code name Denali Home page

SQL Server code name Denali Home page:

Return value of stored procedure

DECLARE @return_value int
EXEC   @return_value = [dbo].[SP_NAME]  @ID = 131279, ......
SELECT 'Return Value' = @return_value

  • When the SP is successful, @return_value would be 0.
  • Also @return_value=NULL means an error.

If we want to return an output value from the SP, we have to declare an output parameter in the SP declaration:
CREATE PROCEDURE [dbo].[SP_NAME]
@Param1 int,
....... ,
@SpCount INT OUTPUT
AS
.......
and insert it a value in the SP code.
When execute SP:
DECLARE @Count int
EXEC   @return_value = [dbo].[SP_NAME]  @ID = 131279, ......, 
              @SpCount = @Count OUTPUT

Pattern Matching in the LIKE operator

% - Any string of zero or more characters.
_ - Any single character.
[ ] - Any single character within the specified range ([a-f]) or set ([abcdef]).
[^] - Any single character not within the specified range ([^a-f]) or set ([^abcdef]).
[[] - specific speicial character - in this case '['.


Find and kill active connections to Database

select DB_NAME(dbid), ('kill ' + convert(nvarchar(10), spid) ) as kill_statement, * 
from sys.sysprocesses where DB_NAME(dbid) = 'DBNAME'
--or:

DECLARE @SQL nvarchar(max) 
SELECT @SQL=COALESCE(@SQL,'') +'Kill '+CAST(spid AS nvarchar(10))+ '; '  
FROM sys.sysprocesses WHERE DB_NAME(dbid) = 'DBNAME'