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)

SELECT the first of current month

SELECT DATEADD(month, DATEDIFF(month, 0, getdate()), 0) AS FirstOfCurrentMonth

Error when create new column and run some things on it

if not exists (select * from sys.columns where object_id = object_id('dbo.MyTable') and name = 'NewColumn')
begin
                alter table Customer.Configuration add NewColumn int null
end
do something with the new column - update, alter, etc.
--> Error message:
Msg 207, Level 16, State 1, Server <MyServer>, Line 17 Invalid column name 'NewColumn'.

Solution:
Close the batch pf the creation by adding 'GO' between the column creatuion and usage.

 if not exists (select * from sys.columns where object_id = object_id('dbo.MyTable') and name = 'NewColumn')
begin
                alter table Customer.Configuration add NewColumn int null
end
GO
do something with the new column - update, alter, etc.

Check the SQL server port number

In order to check the SQL server port number,
open:
Start button (windows) --> Go to All Programs --> Microsoft SQL Server 20XX --> Configuration Tools --> SQL Server Configuration Manager
And there: 
SQL Native Client 10.0 Configuration --> Client Protocols --> TCP/IP Properties (double click or Right click)
There you will see the default port number.


Ctrl+R doesn't work in SQL Server 2012 SSMS

ProblemCtrl+R doesn't work in SQL Server 2012 SSMS!!!

When I started work with SSMS of SQL Server 32012, and tried to hide/display the result panel, using Ctrl+R – it doesn't work for me, and I’v got this error in the bottom of the SSMS:
(Ctrl+R) was pressed. Waiting for second key of chord.





Solution:
Open from the menu: Toolsàoptions, choose KeyboardàKeyboard.
There, choose from the list: “window.ShowResultPane” event, and assign the Ctrl+R to “Use new shortcut in: SQL Query Editor”.
(Don’t forget to press the “Assign” button…)


Script fpr Role creation including permissions

-- set here the role name:
declare @RoleName varchar(50) = 'ROLE_NAME'

declare @RoleScript varchar(max)
SELECT @RoleScript = 'CREATE ROLE ' + @RoleName + char(13)

SELECT @RoleScript = @RoleScript + 'GRANT ' + prm.permission_name + ' ON ' + OBJECT_NAME(major_id) + ' TO ' + rol.name + char(13) COLLATE Latin1_General_CI_AS
FROM   sys.database_permissions prm
JOIN      sys.database_principals rol ON prm.grantee_principal_id = rol.principal_id
WHERE  rol.name = @RoleName

PRINT @RoleScript

Transaction was deadlocked on lock resources with another process and has been chosen as the deadlock victim

Error message:
Transaction (Process ID 64) was deadlocked on lock resources with another process and has been chosen as the deadlock victim. Rerun the transaction.

But if I don’t want this process to be the deadlock victim?

Solution:
SET DEADLOCK_PRIORITY HIGH
see here:

Drop few columns in one statement

ALTER TABLE dbo.MyTable DROP COLUMN ColumnA, ColumnB, ColumnC