Questions marquées «sql-server»

19
24x7 vs fenêtre de nuit

Où puis-je trouver des ressources pour mieux passer à une opération 24h / 24 et 7j / 7? Comment les grandes entreprises dotées de grandes bases de données y parviennent-elles? Nos emplois nocturnes tels que purger les anciennes données réindexer mettre à jour les statistiques tous semblent avoir un...

19
Lock CREATE TABLE

Dans une autre application, j'ai été frappé par une mauvaise conception: plusieurs threads exécutent une EnsureDatabaseSchemaExists()méthode simultanément, qui ressemble essentiellement à ceci: IF NOT EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'MyTable') AND type = N'U') BEGIN...

19
Comment mesurer au mieux les performances des requêtes?

J'ai 2 procédures stockées, où la deuxième procédure stockée est une amélioration de la première. J'essaie de mesurer exactement combien il s'agit d'une amélioration. 1 / La mesure clock timene semble pas être une option car j'ai des temps d'exécution différents. Pire encore, parfois (rarement,...

19
Pourquoi les TVP doivent-ils être en lecture seule, et pourquoi les paramètres des autres types ne peuvent-ils pas être en lecture seule

Selon ce blog, les paramètres d'une fonction ou d'une procédure stockée sont essentiellement pass-by-value s'ils ne sont pas des OUTPUTparamètres et essentiellement traités comme une version plus sûre de pass-by-reference s'ils sont des OUTPUTparamètres. Au début, je pensais que le but de forcer la...

19
Tri sensible aux accents

Pourquoi ces deux SELECTinstructions aboutissent-elles à un ordre de tri différent? USE tempdb; CREATE TABLE dbo.OddSort ( id INT IDENTITY(1,1) PRIMARY KEY , col1 NVARCHAR(2) , col2 NVARCHAR(2) ); GO INSERT dbo.OddSort (col1, col2) VALUES (N'e', N'eA') , (N'é', N'éB') , (N'ë', N'ëC') , (N'è',...

19
Comment fonctionne la récursivité SQL?

Venant à SQL à partir d'autres langages de programmation, la structure d'une requête récursive semble plutôt étrange. Parcourez-le étape par étape, et il semble s'effondrer. Prenons l'exemple simple suivant: CREATE TABLE #NUMS (N BIGINT); INSERT INTO #NUMS VALUES (3), (5), (7); WITH R AS ( SELECT N...