Andrew Loree has made a Powershell script available:
Quick and easy backup for VisualSVN. Wraps the svnadmin.exe and performs a hotcopy of all repositories in the $source_path, dumping them to the $backup_path
Read on for the script.
Comments closedA Fine Slice Of SQL Server
Andrew Loree has made a Powershell script available:
Quick and easy backup for VisualSVN. Wraps the svnadmin.exe and performs a hotcopy of all repositories in the $source_path, dumping them to the $backup_path
Read on for the script.
Comments closedGaurav Gupta shows how to use Spring-Kafka to implement a request-reply pattern:
The behavior of request-reply is consistent even if you were to create, say, three partitions of the request topic and set the concurrency of three in consumer factory. The replies from all three consumers still go to the single reply topic. The container at the listening end is able to do the heavy lifting of matching the correlation IDs.
Kafka’s real advantage still comes from distributed, asynchronous processing, but if you have a use case where you absolutely need synchronous processing, you can do that in Kafka as well.
Comments closedErik Darling notes that scalar functions can cause multi-table blocking:
Someone had tried to be clever. Looking at the code running, if you’ve been practicing SQL Server for a while, usually means one thing.
A Scalar Valued Function was running!
In this case, here’s what it looked like:
123456789101112 CREATE OR ALTER FUNCTION dbo.BadIdea ( @uid INT )RETURNS BIGINTWITH RETURNS NULL ON NULL INPUT, SCHEMABINDINGASBEGINDECLARE @BCount BIGINT;SELECT @BCount = COUNT_BIG(*)FROM dbo.Badges AS bWHERE b.UserId = @uidGROUP BY b.UserId;RETURN @BCount;END;Someone had added that function as a computed column to the Users table:
|
|
Spoilers: this was a bad idea.
Comments closedNow moving onto our FRM (Functional Relational Mapping) and repository setup, the following import will be used for MS SQL Server Slick driver’s API
import slick.jdbc.SQLServerProfile.api._And thereafter the FRM will look same as the rest of the FRM’s delineated on the official Slick documentation. For the example on this blog let’s use the following table structure
CREATE TABLE user_profiles ( id INT IDENTITY (1, 1) PRIMARY KEY, first_name VARCHAR(100) NOT NULL, last_name VARCHAR(100) NOT NULL )whose functional relational mapping will look like this:
class UserProfiles(tag: Tag) extends Table[UserProfile](tag, "user_profiles") { def id: Rep[Int] = column[Int]("id", O.PrimaryKey, O.AutoInc) def firstName: Rep[String] = column[String]("first_name") def lastName: Rep[String] = column[String]("last_name") def * : ProvenShape[UserProfile] = (id, firstName, lastName) <>(UserProfile.tupled, UserProfile.unapply) // scalastyle:ignore }
I’m definitely going to need to learn more about this.
Comments closedMike Robbins shows how to split out validation from your primary function within Powershell:
They responded by asking if it was possible to move the custom message that Throw returns to the private function. At first, I didn’t think this would be possible, but decided to try the code to make an accurate determination instead of just assuming it wasn’t possible.
I’ve now learned something else which makes the whole process of moving the validation from the ValidateScript block to a private function much more user friendly which is what I think the person who asked the question was trying to accomplish.
If you have several parameters with somewhat complex validation logic, this makes maintenance a lot easier.
Comments closedCaludio Silva shows how you can run multiple instances of dbachecks concurrently:
Imagine that I want to check for databases in Full Recovery Model on the production environment and I want to start (in parallel) a new check for the development environment where I want to check for Simple Recovery Model if this setting is not changed in the correct time frame, we can end checking for Full Recovery Model on the development environment where we want the Simple Recovery Model.
The first time I tried to run tests for some environments in parallel, that had the need to change some configs, I didn’t realise about this detail so I ended up with much more failed tests than the expected! The bell rang when the majority of the failed tests were from a specific test…the one I had changed the value.
Read the whole thing before you start running Task.Parallel or even running multiple copies of dbachecks in separate Powershell windows.
Comments closed