Scripts

Technical Article

Migrate and Upgrade SQL Instance (2014/2016) to 2019 version with 1 click

The script includes these steps:   STEP 1: CREATE EMPTY Databases STEP 2 - CREATE Logins WITH SERVER ROLES\PERMISSIONS STEP 3 - COPY LINKED SERVERS STEP 4 - COPY SERVER OPTIONS STEP 5 - COPY CREDENTIALS STEP 6 - COPY AGENT JOBS STEP 7 - COPY DB Mail STEP 8 - COPY CERTIFICATES STEP 9 […]

You rated this post out of 5. Change rating

2020-05-22 (first published: )

2,479 reads

Technical Article

Migrate and Upgrade SQL Instance (2014/2016) to 2019 version with 1 click

The script includes these steps:   STEP 1: CREATE EMPTY Databases STEP 2 - CREATE Logins WITH SERVER ROLESPERMISSIONS STEP 3 - COPY LINKED SERVERS STEP 4 - COPY SERVER OPTIONS STEP 5 - COPY CREDENTIALS STEP 6 - COPY AGENT JOBS STEP 7 - COPY DB Mail STEP 8 - COPY CERTIFICATES STEP 9 […]

You rated this post out of 5. Change rating

2020-05-22 (first published: )

1,135 reads

Technical Article

Powershell Script - Azure cosmos DB(SQL API)

Scripts contains 4 following functions. Users can create 3 different script from this for inserting, fetching and deleting a document.
1. Function Generate-MasterKeyAuthorizationSignature - This function is used to create connection to Azure cosmos DB. This function codes were taken from Technet.
2. Function Post-CosmosDb - Insert single document in azure cosmos DB. Same function can be used to perform bulkinsert. This function code was taken from following article. To make it useful i made some modification in it.
(https://www.systemcenterautomation.com/2018/06/cosmos-db-rest-api-powershell/)
3. Function Get-CosmosDocument - Fetch single document from azure cosmos DB. Same function can be used to fetch all documents from Cosmos DB.
4. Function Delete-CosmosDbDocument - Delete single document from cosmos DB. Same function can be used to delete more than one document with some additional codes.

To use any of the function like Post,Get, Delete. you have to comment the other 2 function call. If you are using all 3 functions(Post,Get, Delete), Be cautious while using them.

You rated this post out of 5. Change rating

2020-05-11 (first published: )

3,753 reads

Technical Article

Daily Sql Server Health Check

Are you a Senior Sql Server DBA or novice looking for a Daily Sql Server Health Check?   As a Senior DBA for over 15 years I have compile a few scripts I use on a daily basis to check the health of my Sql Servers. Perform a Daily Sql Server Health Check on your Sql […]

You rated this post out of 5. Change rating

2020-05-06

15,820 reads

Technical Article

Output multiple datasets from one INVOKE-SQLCMD command

A common question that I've seen online is how do I return multiple sql datasets from a single query using INVOKE-SQLCMD. Most of the answers out there say it is not possible, but it is in fact possible by using the OutputAs dataset parameter. This parameter outputs a dataset that has all of the information […]

You rated this post out of 5. Change rating

2020-04-24 (first published: )

7,577 reads

Technical Article

Unused Indexes

This script will provide a list of indexes that are not used in a database. Indexes are overhead and any indexes not being used but are being updated cause additional load on a database. This looks at the following  items: User seeks, scans and lookups. If all three of these are zero and the User […]

You rated this post out of 5. Change rating

2020-04-21 (first published: )

4,234 reads

Technical Article

Missing index script

This script on missing indexes that SQL had found. SQL will track queries and provide suggestions on indexes it feels will provide improvements. You should not take this information and create all the indexes. Performance tuning can be an art and takes practice. This information should be reviewed and as a DBA implemented a little […]

You rated this post out of 5. Change rating

2020-04-20 (first published: )

11,807 reads

Technical Article

Calculating Easter in SQL

Several months ago someone commented on a calendar thread that you should not even try to calculate Easter in SQL Server because the math was too hard.  That got me to thinking and I decided to see if that was actually the case. I found that there are several well known algorithms available - but […]

You rated this post out of 5. Change rating

2020-04-06 (first published: )

4,992 reads

Technical Article

Select Group Members from Logins

Know who all the individual group members are for a given WINDOWS_GROUP login. This script uses the sys.xp_logininfo procedure to find group members for each login on an instance. This is useful when attempting to remove orphaned WINDOWS_LOGINS. May have issues working across your logged in domain.

(1)

You rated this post out of 5. Change rating

2020-03-23 (first published: )

1,610 reads

Blogs

Advice I Like: Art

By

Superheroes and saints never make art. Only imperfect beings can make art because art...

Why Optimize CPU for RDS SQL Server is a game changer

By

One feature that I have been waiting for years! The new announcement around optimize...

Performance tuning KubeVirt for SQL Server

By

Following on from my last post about Getting Started With KubeVirt & SQL Server,...

Read the latest Blogs

Forums

The AI Bubble and the Weak Foundation Beam

By dbakevlar

Comments posted to this topic are about the item The AI Bubble and the...

data type gets lost in data flow

By stan

Hi, in a simple oledb source->derived column->oledb destination    data flow, 2 of my...

i noticed the sqlhealth extende event is on by default , so can i reduce

By rajemessage 14195

hi, i noticed the sqlhealth extended event is on by default , and it...

Visit the forum

Question of the Day

The Read Committed Snapshot Isolation behaviour

I am currently working with Sql Server 2022 and AdventureWorks database. First of all, let's set the "Read Committed Snapshot" to ON:

use master;
go

alter database AdventureWorks set read_committed_snapshot on with no_wait;
go
Then, from Session 1, I execute the following code:
--Session 1
use AdventureWorks;
go

create table ##t1 (id int, f1 varchar(10));
go

insert into ##t1 values (1, 'A');
From another session, called Session 2, I open a transaction and execute the following update:
--Session 2
use AdventureWorks;
go

begin tran;
update ##t1 
set f1 = 'B'
where id = 1;
Now, going back to Session 1, what happens if I execute this statement?
--Session 1
select f1
from ##t1
where id = 1;
 

See possible answers