Skip to content

Instantly share code, notes, and snippets.

@FilipDeVos
FilipDeVos / updatevalues.sql
Created May 16, 2011 14:10
Thread Safe Insert/Update
CREATE PROCEDURE updatevalues(@id int,
@name varchar(20),
@amount numeric)
AS
IF EXISTS(SELECT * FROM updatetest WHERE id = @id)
BEGIN
waitfor delay '00:00:10'
UPDATE updatetest
SET name = @name,
@FilipDeVos
FilipDeVos / update_seven.sql
Created May 16, 2011 14:11
Thread Safe Insert/Update
exec updatevalues 7, 'Seven', 777
@FilipDeVos
FilipDeVos / updatevalues.sql
Created May 16, 2011 14:15
Thread Safe Insert/Update
CREATE PROCEDURE updatevalues(@id int,
@name varchar(20),
@amount numeric)
AS
BEGIN TRANSACTION
IF EXISTS(SELECT * FROM updatetest (XLOCK, SERIALIZABLE) WHERE id = @id)
BEGIN
waitfor delay '00:00:10'
UPDATE updatetest
@FilipDeVos
FilipDeVos / Threading_script.sql
Created May 16, 2011 14:18
Thread Safe Insert/Update
IF EXISTS (SELECT * FROM sysobjects WHERE name = N'updatetest' and type = 'U')
BEGIN
PRINT 'Dropping table updatetest...'
DROP TABLE dbo.updatetest
END
PRINT 'Creating table updatetest...'
GO
CREATE TABLE updatetest
(
id int PRIMARY KEY,
@FilipDeVos
FilipDeVos / updatevalues.sql
Created May 16, 2011 14:45
Thread Safe Insert/Update
CREATE PROCEDURE updatevalues(@id int,
@name varchar(20),
@amount numeric)
AS
DECLARE @error int
, @message sysname
, @severity int
, @state int
, @retry bit = 0
@FilipDeVos
FilipDeVos / CreateDatabase.sql
Created May 16, 2011 19:58
SQL Server Get Default path for databases
CREATE DATABASE DefaultLocationDB
@FilipDeVos
FilipDeVos / RestoreDatabase.sql
Created May 16, 2011 20:01
SQL Server Get Default path for databases
RESTORE DATABASE DefaultLocationDB
FROM DISK = N'c:\backups\DemoDB.bak' WITH FILE = 1,
MOVE N'demo_data_device' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoDb.ldf',
MOVE N'demo_log_device' TO N'C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Data\DemoDb.ldf',
NOUNLOAD, REPLACE
@FilipDeVos
FilipDeVos / fn_get_default_path.sql
Created May 16, 2011 20:10
SQL Server Get Default path for databases
IF object_id('dbo.fn_get_default_path') is not null
DROP FUNCTION dbo.fn_get_default_path
GO
CREATE FUNCTION dbo.fn_get_default_path(@log bit)
RETURNS nvarchar(260)
AS
BEGIN
DECLARE @instance_name nvarchar(200)
, @system_instance_name nvarchar(200)
, @registry_key nvarchar(512)
@FilipDeVos
FilipDeVos / fn_get_default_path_example.sql
Created May 16, 2011 20:13
SQL Server Get Default path for databases
declare @sql nvarchar(2000),
@data varchar(260),
@log varchar(260);
select @data = dbo.fn_get_default_path(0),
@log = dbo.fn_get_default_path(1)
SELECT @sql= 'RESTORE DATABASE DefaultLocationDB
FROM DISK = N''c:\backups\DemoDB.bak'' WITH FILE = 1,
MOVE N''demo_data_device'' TO N''' + @data + '\DemoDb.ldf'',
@FilipDeVos
FilipDeVos / get_statistics_of_filegroup.sql
Created May 16, 2011 20:25
Check if a filegroup contains statistics
SELECT object_name(id) AS TableName, *
FROM dbo.sysindexes
WHERE groupid = object_id('<yourfilegroup>')